Changeset f61e1df in flex_extract.git for Documentation/html/_modules/checks.html
- Timestamp:
- Jul 9, 2020, 8:13:25 AM (4 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 82564d8
- Parents:
- 3e13e02 (diff), 6931f61 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Documentation/html/_modules/checks.html
rb1674ed r6931f61 9 9 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 10 10 11 <title>checks — flex_extract 7.1 alphadocumentation</title>11 <title>checks — flex_extract 7.1.2 documentation</title> 12 12 13 13 … … 62 62 63 63 <div class="version"> 64 7.1 64 7.1.2 65 65 </div> 66 66 … … 88 88 <p class="caption"><span class="caption-text">Table of Contents:</span></p> 89 89 <ul> 90 <li class="toctree-l1"><a class="reference internal" href="../ecmwf_data.html">ECMWF Data</a></li> 90 91 <li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li> 91 <li class="toctree-l1"><a class="reference internal" href="../quick_start.html">Quick Start</a></li> 92 <li class="toctree-l1"><a class="reference internal" href="../ecmwf_data.html">ECMWF Data</a></li> 93 <li class="toctree-l1"><a class="reference internal" href="../documentation.html">Documentation</a></li> 92 <li class="toctree-l1"><a class="reference internal" href="../quick_start.html">Usage</a></li> 93 <li class="toctree-l1"><a class="reference internal" href="../documentation.html">Code-Level Documentation</a></li> 94 94 <li class="toctree-l1"><a class="reference internal" href="../evaluation.html">Evaluation</a></li> 95 95 <li class="toctree-l1"><a class="reference internal" href="../dev_guide.html">Developer Guide</a></li> … … 281 281 <span class="sd">'''Defines the correct area string.</span> 282 282 283 <span class="sd"> Checks on the format of the four area components. Wether it is of</span> 284 <span class="sd"> the order of 1000 or 1. Also checks wether area was already set by command</span> 285 <span class="sd"> line, then the four components are overwritten.</span> 283 <span class="sd"> Checks the format of the four area components wether it is on</span> 284 <span class="sd"> the order of 1000 or 1. </span> 285 <span class="sd"> Also checks wether area was already set on command line, </span> 286 <span class="sd"> then the four components are overwritten.</span> 286 287 <span class="sd"> Convert to correct format of the order of magnitude "1" and sets the</span> 287 288 <span class="sd"> area parameter (North/West/South/East).</span> … … 297 298 298 299 <span class="sd"> upper : str</span> 299 <span class="sd"> The northern 300 <span class="sd"> The northernmost latitude.</span> 300 301 301 302 <span class="sd"> lower : str</span> 302 <span class="sd"> The souther 303 <span class="sd"> The southernmost latitude.</span> 303 304 304 305 <span class="sd"> left : str</span> 305 <span class="sd"> The western 306 <span class="sd"> The westernmost longitude.</span> 306 307 307 308 <span class="sd"> right : str</span> 308 <span class="sd"> The eastern most longiude.</span>309 <span class="sd"> The easternmost longitude.</span> 309 310 310 311 <span class="sd"> Return</span> 311 312 <span class="sd"> ------</span> 312 313 <span class="sd"> grid : str</span> 313 <span class="sd"> Contains grid in format Lat/lon. E.g. 0.1/0.1</span>314 <span class="sd"> Contains grid in format lat/lon. E.g. 0.1/0.1</span> 314 315 <span class="sd"> '''</span> 315 316 <span class="k">if</span> <span class="s1">'N'</span> <span class="ow">in</span> <span class="n">grid</span><span class="p">:</span> <span class="c1"># Gaussian output grid</span> … … 342 343 <span class="nb">float</span><span class="p">(</span><span class="n">right</span><span class="p">))</span> 343 344 <span class="k">else</span><span class="p">:</span> 344 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">' The area components have different'</span>345 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Area components have inconsisten or unrecognised '</span> 345 346 <span class="s1">'formats (upper, lower, left, right): '</span> 346 347 <span class="s1">'</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">upper</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">lower</span><span class="p">),</span> … … 371 372 <span class="sd"> level : str</span> 372 373 <span class="sd"> Specifies the maximum level. It has to be one of the</span> 373 <span class="sd"> available maximum level number as contained in the variable</span>374 <span class="sd"> MAX_LEVEL_LIST in "_config" . E.g.[16, 19, 31, 40, 50, 60, 62, 91, 137]</span>374 <span class="sd"> available maximum level numbers as contained in the variable</span> 375 <span class="sd"> MAX_LEVEL_LIST in "_config": [16, 19, 31, 40, 50, 60, 62, 91, 137]</span> 375 376 376 377 <span class="sd"> '''</span> … … 508 509 <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">ftype</span><span class="p">):</span> 509 510 <span class="k">if</span> <span class="n">ftype</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'AN'</span> <span class="ow">and</span> <span class="nb">int</span><span class="p">(</span><span class="n">steps</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span> 510 <span class="nb">print</span><span class="p">(</span><span class="s1">' Analysis retrievals must have STEP = 0 (now set to 0)'</span><span class="p">)</span>511 <span class="nb">print</span><span class="p">(</span><span class="s1">'For analysis data, STEP = 0 is needed. Setting to 0 now.)'</span><span class="p">)</span> 511 512 <span class="n">ftype</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span> 512 513 … … 548 549 <span class="sd"> maxstep : int</span> 549 550 <span class="sd"> The maximum forecast time step in hours from the forecast base time.</span> 550 <span class="sd"> This is the maximum step for non flux (accumulated) forecast data.</span>551 <span class="sd"> This is the maximum step for non-flux (not accumulated) forecast data.</span> 551 552 552 553 <span class="sd"> purefc : int</span> … … 567 568 <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">ftype</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">ftime</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">steps</span><span class="p">):</span> 568 569 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: The number of field types, times and steps '</span> 569 <span class="s1">'are not the same! Please check the setting in the '</span>570 <span class="s1">'are not the same! Please check the settings in the '</span> 570 571 <span class="s1">'CONTROL file!'</span><span class="p">)</span> 571 572 … … 585 586 586 587 <div class="viewcode-block" id="check_mail"><a class="viewcode-back" href="../Documentation/Api/api_python.html#checks.check_mail">[docs]</a><span class="k">def</span> <span class="nf">check_mail</span><span class="p">(</span><span class="n">mail</span><span class="p">):</span> 587 <span class="sd">'''Check the string of mail addresses, sep erate them and convert to alist.</span>588 <span class="sd">'''Check the string of mail addresses, separate them and convert to list.</span> 588 589 589 590 <span class="sd"> Parameters</span> … … 691 692 692 693 <div class="viewcode-block" id="check_dates"><a class="viewcode-back" href="../Documentation/Api/api_python.html#checks.check_dates">[docs]</a><span class="k">def</span> <span class="nf">check_dates</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">):</span> 693 <span class="sd">'''Checks if there is at least a start date for a one 694 <span class="sd">'''Checks if there is at least a start date for a one-day retrieval.</span> 694 695 695 696 <span class="sd"> Checks if end date lies after start date and end date is set.</span> … … 790 791 791 792 <div class="viewcode-block" id="check_request"><a class="viewcode-back" href="../Documentation/Api/api_python.html#checks.check_request">[docs]</a><span class="k">def</span> <span class="nf">check_request</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">marsfile</span><span class="p">):</span> 792 <span class="sd">'''Check if there is an old mars request file andremove it.</span>793 <span class="sd">'''Check if there is an old MARS request file; if so, remove it.</span> 793 794 794 795 <span class="sd"> Parameters</span> … … 813 814 814 815 <div class="viewcode-block" id="check_public"><a class="viewcode-back" href="../Documentation/Api/api_python.html#checks.check_public">[docs]</a><span class="k">def</span> <span class="nf">check_public</span><span class="p">(</span><span class="n">public</span><span class="p">,</span> <span class="n">dataset</span><span class="p">):</span> 815 <span class="sd">'''Check wether the dataset parameter is set fora</span>816 <span class="sd"> public data set retrieval.</span>816 <span class="sd">'''Check wether the dataset parameter is set to a</span> 817 <span class="sd"> public data set.</span> 817 818 818 819 <span class="sd"> Parameters</span> … … 829 830 <span class="sd"> '''</span> 830 831 <span class="k">if</span> <span class="n">public</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">dataset</span><span class="p">:</span> 831 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: If public mars data wantsto be retrieved, '</span>832 <span class="s1">'the "dataset"-parameter has to be set too!'</span><span class="p">)</span>832 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: If public MARS data are to be retrieved, '</span> 833 <span class="s1">'the "dataset"-parameter has to be set, too!'</span><span class="p">)</span> 833 834 <span class="k">return</span></div> 834 835 … … 836 837 <span class="sd">'''Guarantees that the accumulation field type is set.</span> 837 838 838 <span class="sd"> If not set, it is deriv ated as inthe old method (TYPE[1]).</span>839 <span class="sd"> If not set, it is derived with the old method (TYPE[1]).</span> 839 840 840 841 <span class="sd"> Parameters</span> … … 872 873 <span class="sd">'''Guarantees that the accumulation forecast times were set.</span> 873 874 874 <span class="sd"> If it is not set, it tries to set the value for some of the</span>875 <span class="sd"> most commonly used data sets. Otherwise it raises an error.</span>875 <span class="sd"> If not set, setting the value to some of the most commonly used data sets</span> 876 <span class="sd"> is attempted. Otherwise, an eror is raised.</span> 876 877 877 878 <span class="sd"> Parameters</span> 878 879 <span class="sd"> ----------</span> 879 880 <span class="sd"> acctime : str</span> 880 <span class="sd"> The starting time f romthe accumulated forecasts.</span>881 <span class="sd"> The starting time for the accumulated forecasts.</span> 881 882 882 883 <span class="sd"> marsclass : str</span> … … 889 890 <span class="sd"> ------</span> 890 891 <span class="sd"> acctime : str</span> 891 <span class="sd"> The starting time f romthe accumulated forecasts.</span>892 <span class="sd"> The starting time for the accumulated forecasts.</span> 892 893 <span class="sd"> '''</span> 893 894 894 895 <span class="k">if</span> <span class="ow">not</span> <span class="n">acctime</span><span class="p">:</span> 895 <span class="nb">print</span><span class="p">(</span><span class="s1">'... Control parameter ACCTIME was not defined.'</span><span class="p">)</span>896 <span class="nb">print</span><span class="p">(</span><span class="s1">'... Control parameter ACCTIME was not set.'</span><span class="p">)</span> 896 897 <span class="nb">print</span><span class="p">(</span><span class="s1">'... Value will be set depending on field type:</span><span class="se">\n</span><span class="s1"> '</span> 897 898 <span class="s1">'</span><span class="se">\t\t</span><span class="s1"> EA=06/18</span><span class="se">\n\t\t</span><span class="s1"> EI/OD=00/12</span><span class="se">\n\t\t</span><span class="s1"> EP=18'</span><span class="p">)</span> … … 907 908 <span class="n">acctime</span> <span class="o">=</span> <span class="n">time</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> 908 909 <span class="k">else</span><span class="p">:</span> 909 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: Accumulation forecast time can not '</span>910 <span class="s1">' automatically be derived!'</span><span class="p">)</span>910 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: Accumulation forecast time can not be'</span> 911 <span class="s1">'derived automatically!'</span><span class="p">)</span> 911 912 <span class="k">return</span> <span class="n">acctime</span></div> 912 913 913 914 <div class="viewcode-block" id="check_accmaxstep"><a class="viewcode-back" href="../Documentation/Api/api_python.html#checks.check_accmaxstep">[docs]</a><span class="k">def</span> <span class="nf">check_accmaxstep</span><span class="p">(</span><span class="n">accmaxstep</span><span class="p">,</span> <span class="n">marsclass</span><span class="p">,</span> <span class="n">purefc</span><span class="p">,</span> <span class="n">maxstep</span><span class="p">):</span> 914 <span class="sd">'''Guarantees that the accumulation forecast step w ereset.</span>915 <span class="sd">'''Guarantees that the accumulation forecast step was set.</span> 915 916 916 917 <span class="sd"> Parameters</span> … … 927 928 <span class="sd"> maxstep : str</span> 928 929 <span class="sd"> The maximum forecast time step in hours from the forecast base time.</span> 929 <span class="sd"> This is the maximum step for non 930 <span class="sd"> This is the maximum step for non-flux (accumulated) forecast data.</span> 930 931 931 932 <span class="sd"> Return</span> … … 935 936 <span class="sd"> '''</span> 936 937 <span class="k">if</span> <span class="ow">not</span> <span class="n">accmaxstep</span><span class="p">:</span> 937 <span class="nb">print</span><span class="p">(</span><span class="s1">'... Control parameter ACCMAXSTEP was not defined.'</span><span class="p">)</span>938 <span class="nb">print</span><span class="p">(</span><span class="s1">'... Control parameter ACCMAXSTEP was not set.'</span><span class="p">)</span> 938 939 <span class="nb">print</span><span class="p">(</span><span class="s1">'... Value will be set depending on field type/time: '</span> 939 940 <span class="s1">'</span><span class="se">\n\t\t</span><span class="s1"> EA/EI/OD=12</span><span class="se">\n\t\t</span><span class="s1"> EP=24'</span><span class="p">)</span> … … 947 948 <span class="nb">print</span><span class="p">(</span><span class="s1">'... For pure forecast mode, the accumulated forecast must '</span> 948 949 <span class="s1">'have the same maxstep as the normal forecast fields!</span><span class="se">\n</span><span class="s1">'</span> 949 <span class="s1">'</span><span class="se">\t\t</span><span class="s1"> A ccmaxstep was set to maxstep!'</span><span class="p">)</span>950 <span class="s1">'</span><span class="se">\t\t</span><span class="s1"> ACCMAXSTEP was set to MAXSTEP!'</span><span class="p">)</span> 950 951 <span class="k">else</span><span class="p">:</span> 951 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: Accumulation forecast step can not '</span>952 <span class="s1">' automatically be derived!'</span><span class="p">)</span>952 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: Accumulation forecast step can not be'</span> 953 <span class="s1">'derived automatically!'</span><span class="p">)</span> 953 954 <span class="k">else</span><span class="p">:</span> 954 955 <span class="k">if</span> <span class="n">purefc</span> <span class="ow">and</span> <span class="nb">int</span><span class="p">(</span><span class="n">accmaxstep</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">int</span><span class="p">(</span><span class="n">maxstep</span><span class="p">):</span> … … 956 957 <span class="nb">print</span><span class="p">(</span><span class="s1">'... For pure forecast mode, the accumulated forecast must '</span> 957 958 <span class="s1">'have the same maxstep as the normal forecast fields!</span><span class="se">\n</span><span class="s1">'</span> 958 <span class="s1">'</span><span class="se">\t\t</span><span class="s1"> A ccmaxstep was set to maxstep!'</span><span class="p">)</span>959 <span class="s1">'</span><span class="se">\t\t</span><span class="s1"> ACCMAXSTEP was set to MAXSTEP!'</span><span class="p">)</span> 959 960 <span class="k">return</span> <span class="n">accmaxstep</span></div> 960 961 961 962 <div class="viewcode-block" id="check_addpar"><a class="viewcode-back" href="../Documentation/Api/api_python.html#checks.check_addpar">[docs]</a><span class="k">def</span> <span class="nf">check_addpar</span><span class="p">(</span><span class="n">addpar</span><span class="p">):</span> 962 963 <span class="sd">'''Check that addpar has correct format of additional parameters in</span> 963 <span class="sd"> a single string, so that it can be easily appended to the hard 964 <span class="sd"> parameters that areretrieved in any case.</span>964 <span class="sd"> a single string, so that it can be easily appended to the hard-coded</span> 965 <span class="sd"> parameters retrieved in any case.</span> 965 966 966 967 <span class="sd"> Parameters</span> … … 988 989 989 990 <div class="viewcode-block" id="check_job_chunk"><a class="viewcode-back" href="../Documentation/Api/api_python.html#checks.check_job_chunk">[docs]</a><span class="k">def</span> <span class="nf">check_job_chunk</span><span class="p">(</span><span class="n">job_chunk</span><span class="p">):</span> 990 <span class="sd">'''Checks that if job chunk is set, the number is positive and non 991 <span class="sd">'''Checks that if job chunk is set, the number is positive and nonzero.</span> 991 992 992 993 <span class="sd"> Parameters</span> … … 1006 1007 1007 1008 <span class="k">if</span> <span class="n">job_chunk</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> 1008 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: The number of job chunk is negative!</span><span class="se">\n</span><span class="s1">'</span>1009 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'ERROR: The number of job chunks is negative!</span><span class="se">\n</span><span class="s1">'</span> 1009 1010 <span class="s1">'It has to be a positive number!'</span><span class="p">)</span> 1010 1011 <span class="k">elif</span> <span class="n">job_chunk</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> … … 1060 1061 <div role="contentinfo"> 1061 1062 <p> 1062 © Copyright 2020, Anne Philipp and Leopold Haimberger1063 © Copyright 2020, Anne Philipp, Leopold Haimberger and Petra Seibert 1063 1064 1064 1065 </p>
Note: See TracChangeset
for help on using the changeset viewer.