Commit 8d72a548 authored by Eva Börgens's avatar Eva Börgens
Browse files

remove typos from docstring and export Docstrings as documentation

parent 29e2767f
This diff is collapsed.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<meta name="generator" content="pdoc 0.9.2" />
<title>src API documentation</title>
<meta name="description" content="" />
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.min.css" crossorigin>
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js" integrity="sha256-Uv3H6lx7dJmRfRvH8TH6kJD1TSK1aFcwgx+mdg3epi8=" crossorigin></script>
<script>window.addEventListener('DOMContentLoaded', () => hljs.initHighlighting())</script>
</head>
<body>
<main>
<article id="content">
<header>
<h1 class="title">Namespace <code>src</code></h1>
</header>
<section id="section-intro">
</section>
<section>
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
<dl>
<dt><code class="name"><a title="src.covariance" href="covariance.html">src.covariance</a></code></dt>
<dd>
<div class="desc"><p>Module handling the computation of the covariances and uncertainties</p></div>
</dd>
<dt><code class="name"><a title="src.input_arguments" href="input_arguments.html">src.input_arguments</a></code></dt>
<dd>
<div class="desc"><p>Module checking the input parameter</p></div>
</dd>
<dt><code class="name"><a title="src.io" href="io.html">src.io</a></code></dt>
<dd>
<div class="desc"><p>Module handling input and output</p></div>
</dd>
</dl>
</section>
<section>
</section>
<section>
</section>
<section>
</section>
</article>
<nav id="sidebar">
<h1>Index</h1>
<div class="toc">
<ul></ul>
</div>
<ul id="index">
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
<ul>
<li><code><a title="src.covariance" href="covariance.html">src.covariance</a></code></li>
<li><code><a title="src.input_arguments" href="input_arguments.html">src.input_arguments</a></code></li>
<li><code><a title="src.io" href="io.html">src.io</a></code></li>
</ul>
</li>
</ul>
</nav>
</main>
<footer id="footer">
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.9.2</a>.</p>
</footer>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<meta name="generator" content="pdoc 0.9.2" />
<title>src.input_arguments API documentation</title>
<meta name="description" content="Module checking the input parameter" />
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.min.css" crossorigin>
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js" integrity="sha256-Uv3H6lx7dJmRfRvH8TH6kJD1TSK1aFcwgx+mdg3epi8=" crossorigin></script>
<script>window.addEventListener('DOMContentLoaded', () => hljs.initHighlighting())</script>
</head>
<body>
<main>
<article id="content">
<header>
<h1 class="title">Module <code>src.input_arguments</code></h1>
</header>
<section id="section-intro">
<p>Module checking the input parameter</p>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">&#34;&#34;&#34;
Module checking the input parameter
&#34;&#34;&#34;
from argparse import ArgumentParser, FileType, RawTextHelpFormatter
from .io import test_coordiantes
def arg_parser():
&#34;&#34;&#34;
Argument parser of input line
Returns:
ArgumentParser.arguments
&#34;&#34;&#34;
parser = ArgumentParser(
prog=&#34;tws_covariances.sh&#34;,
description=&#34;Programm to compute the covariances of given region and return the &#34;
&#34;standard deviation of the mean TWS of this region and/or the full &#34;
&#34;covariance matrix&#34;,
formatter_class=RawTextHelpFormatter,
)
parser.add_argument(
&#34;-f&#34;,
&#34;--filename&#34;,
required=True,
type=FileType(),
help=&#34;Filename of the netcdf TWS input file, as downloaded from gravis.gfz-potsdam.de&#34;
)
parser.add_argument(
&#34;-r&#34;,
&#34;--region&#34;,
required=True,
type=FileType(),
help=&#34;Filename of the ascii file defining the requested region. List of coordinates &#34;
&#34;lon, lat, each line one coordinate.&#34;
&#34;Coordinates have to be on an even spaced grid. Comment lines have to start with &#39;#&#39;. &#34;
)
parser.add_argument(
&#34;-o&#34;,
&#34;--output&#34;,
required=True,
type=str,
help=&#34;Filename of the netcdf output file&#34;
)
parser.add_argument(
&#34;-m&#34;,
&#34;--matrix&#34;,
action=&#34;store_true&#34;,
help=&#34;Return full covariance matrix&#34;
)
parser.add_argument(
&#34;-u&#34;,
&#34;--uncertainty&#34;,
action=&#34;store_true&#34;,
help=&#34;Return time series of standard deviations for mean TWS time series&#34;
)
parser.add_argument(
&#34;-t&#34;,
&#34;--timeseries&#34;,
action=&#34;store_true&#34;,
help=&#34;Return mean TWS time series&#34;
)
args = parser.parse_args()
if not args.matrix and not args.uncertainty and not args.timeseries:
raise RuntimeError(&#34;Either covariance matrix (-m) or uncertainties (-u) or timeseries (-t) &#34;
&#34;have to be set for the output!&#34;)
test_coordiantes(args.region.name)
return args</code></pre>
</details>
</section>
<section>
</section>
<section>
</section>
<section>
<h2 class="section-title" id="header-functions">Functions</h2>
<dl>
<dt id="src.input_arguments.arg_parser"><code class="name flex">
<span>def <span class="ident">arg_parser</span></span>(<span>)</span>
</code></dt>
<dd>
<div class="desc"><p>Argument parser of input line</p>
<h2 id="returns">Returns</h2>
<p>ArgumentParser.arguments</p></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def arg_parser():
&#34;&#34;&#34;
Argument parser of input line
Returns:
ArgumentParser.arguments
&#34;&#34;&#34;
parser = ArgumentParser(
prog=&#34;tws_covariances.sh&#34;,
description=&#34;Programm to compute the covariances of given region and return the &#34;
&#34;standard deviation of the mean TWS of this region and/or the full &#34;
&#34;covariance matrix&#34;,
formatter_class=RawTextHelpFormatter,
)
parser.add_argument(
&#34;-f&#34;,
&#34;--filename&#34;,
required=True,
type=FileType(),
help=&#34;Filename of the netcdf TWS input file, as downloaded from gravis.gfz-potsdam.de&#34;
)
parser.add_argument(
&#34;-r&#34;,
&#34;--region&#34;,
required=True,
type=FileType(),
help=&#34;Filename of the ascii file defining the requested region. List of coordinates &#34;
&#34;lon, lat, each line one coordinate.&#34;
&#34;Coordinates have to be on an even spaced grid. Comment lines have to start with &#39;#&#39;. &#34;
)
parser.add_argument(
&#34;-o&#34;,
&#34;--output&#34;,
required=True,
type=str,
help=&#34;Filename of the netcdf output file&#34;
)
parser.add_argument(
&#34;-m&#34;,
&#34;--matrix&#34;,
action=&#34;store_true&#34;,
help=&#34;Return full covariance matrix&#34;
)
parser.add_argument(
&#34;-u&#34;,
&#34;--uncertainty&#34;,
action=&#34;store_true&#34;,
help=&#34;Return time series of standard deviations for mean TWS time series&#34;
)
parser.add_argument(
&#34;-t&#34;,
&#34;--timeseries&#34;,
action=&#34;store_true&#34;,
help=&#34;Return mean TWS time series&#34;
)
args = parser.parse_args()
if not args.matrix and not args.uncertainty and not args.timeseries:
raise RuntimeError(&#34;Either covariance matrix (-m) or uncertainties (-u) or timeseries (-t) &#34;
&#34;have to be set for the output!&#34;)
test_coordiantes(args.region.name)
return args</code></pre>
</details>
</dd>
</dl>
</section>
<section>
</section>
</article>
<nav id="sidebar">
<h1>Index</h1>
<div class="toc">
<ul></ul>
</div>
<ul id="index">
<li><h3>Super-module</h3>
<ul>
<li><code><a title="src" href="index.html">src</a></code></li>
</ul>
</li>
<li><h3><a href="#header-functions">Functions</a></h3>
<ul class="">
<li><code><a title="src.input_arguments.arg_parser" href="#src.input_arguments.arg_parser">arg_parser</a></code></li>
</ul>
</li>
</ul>
</nav>
</main>
<footer id="footer">
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.9.2</a>.</p>
</footer>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
""""
"""
This is the main file to invoke the regional tws uncertainty routines.
"""
from io import read_netcdf, read_ascii, save_results
from covariance import get_timeseries, compute_covariance
from input_arguments import arg_parser
from .io import read_netcdf, read_ascii, save_results
from .covariance import get_timeseries, compute_covariance
from .input_arguments import arg_parser
parsed_command_line_input = arg_parser()
......
""""
"""
Module handling the computation of the covariances and uncertainties
"""
......@@ -12,7 +12,7 @@ rho = np.pi/180
R = 6367.4447
def get_grid_area(lon : np.ndarray, lat : np.ndarray) -> np.ndarray:
""""
"""
Function getting the area weights of a coordinate list
Args:
......@@ -35,7 +35,7 @@ def get_grid_area(lon : np.ndarray, lat : np.ndarray) -> np.ndarray:
return area
def get_area(lon_ll: float, lat_ll: float, lon_ur: float,lat_ur: float) -> float:
""""
"""
returns area of rectangular on sphere, defined by corner points lower left ll and upper right ur
Args:
......@@ -63,7 +63,7 @@ def cov_function_lat(lat1: float, lat2: float,
a_0: float, k_a_0_2: float, k_a_0_4: float, k_a_0_6: float, k_a_0_8: float,
a_1: float, k_a_1_2: float, k_a_1_4: float, k_a_1_6: float, k_a_1_8: float,
c_0: float, k_2: float, k_4: float, k_6: float, k_8: float) -> float:
""""
"""
Function to compute covariance function between two points according to
publication Boergens et al. 2020
......
""""
"""
Module checking the input parameter
"""
from argparse import ArgumentParser, FileType, RawTextHelpFormatter
from io import test_coordiantes
from .io import test_coordiantes
def arg_parser():
"""
......
""""
"""
Module handling input and output
"""
......@@ -9,10 +9,9 @@ from typing import Dict
import netCDF4
import numpy as np
import numpy.typing as npt
def read_netcdf(filename: str) -> Dict[str, np.ndarray]:
""""
"""
Reads a TWS netcdf file as provided from GravIS
Args:
......@@ -37,7 +36,7 @@ def read_netcdf(filename: str) -> Dict[str, np.ndarray]:
return grid, grid_std, lon, lat, time
def read_ascii(filename: str) -> np.ndarray:
""""
"""
Reads an Ascii file with coordinates
Args:
......@@ -61,7 +60,7 @@ def read_ascii(filename: str) -> np.ndarray:
return coords
def test_coordiantes(filename: str):
""""
"""
Tests if more than 2 coordinates are given in the file
Args:
......@@ -83,8 +82,8 @@ def test_coordiantes(filename: str):
raise RuntimeError("Latitudes of region not evenly spaced")
def same_dist_elems(arr: npt.ArrayLike) -> bool:
""""
def same_dist_elems(arr: np.ndarray) -> bool:
"""
Tests if coordinates are evenly spaced
Args:
......@@ -98,13 +97,13 @@ def same_dist_elems(arr: npt.ArrayLike) -> bool:
def save_results(outname: str,
inname: str,
results: Dict[str, npt.ArrayLike],
region_coords: npt.ArrayLike,
timeseries: npt.ArrayLike,
results: Dict[str, np.ndarray],
region_coords: np.ndarray,
timeseries: np.ndarray,
flag_uncertainty: bool,
flag_matrix: bool,
flag_timeseries: bool):
""""
"""
Saving the results of the regional tws uncerty tools to a NetCDF file
Args:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment