Changes in Documentation/html/_modules/install.html [08c9091:6931f61] in flex_extract.git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Documentation/html/_modules/install.html
r08c9091 r6931f61 175 175 <span class="c1"># - moved install_args_and_control in here</span> 176 176 <span class="c1"># - splitted code in smaller functions</span> 177 <span class="c1"># - delete fortranbuild files in here instead of compile job script</span>177 <span class="c1"># - delete convert build files in here instead of compile job script</span> 178 178 <span class="c1"># - changed static path names to variables from config file</span> 179 179 <span class="c1"># - splitted install function into several smaller pieces</span> 180 180 <span class="c1"># - use of tarfile package in python</span> 181 <span class="c1"># June 2020 - Anne Philipp</span>182 <span class="c1"># - renamed "convert" functions to "fortran" functions</span>183 <span class="c1"># - reconfigured mk_tarball to select *.template files instead </span>184 <span class="c1"># of *.nl and *.temp</span>185 <span class="c1"># - added check for makefile settings</span>186 181 <span class="c1">#</span> 187 182 <span class="c1"># @License:</span> 188 <span class="c1"># (C) Copyright 2014-20 20.</span>183 <span class="c1"># (C) Copyright 2014-2019.</span> 189 184 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 190 185 <span class="c1">#</span> … … 206 201 <span class="c1"># mk_compilejob</span> 207 202 <span class="c1"># mk_job_template</span> 208 <span class="c1"># del_ fortran_build</span>209 <span class="c1"># mk_ fortran_build</span>203 <span class="c1"># del_convert_build</span> 204 <span class="c1"># mk_convert_build</span> 210 205 <span class="c1">#</span> 211 206 <span class="c1">#*******************************************************************************</span> … … 410 405 <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span> 411 406 412 <span class="c1"># Create Fortran executable </span>407 <span class="c1"># Create Fortran executable - CONVERT2</span> 413 408 <span class="nb">print</span><span class="p">(</span><span class="s1">'Install '</span> <span class="o">+</span> <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span> <span class="o">+</span> <span class="s1">' software at '</span> <span class="o">+</span> 414 409 <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">' in directory '</span> <span class="o">+</span> 415 410 <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 416 411 417 <span class="n">del_ fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span>418 <span class="n">mk_ fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span>412 <span class="n">del_convert_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span> 413 <span class="n">mk_convert_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span> 419 414 420 415 <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> … … 471 466 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span> 472 467 473 <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">:</span>474 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: no makefile was specified.'</span><span class="p">)</span>475 <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'local'</span><span class="p">:</span>476 <span class="n">c</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="s1">'makefile_local_gfortran'</span>477 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: default makefile selected: makefile_local_gfortan'</span><span class="p">)</span>478 <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'ecgate'</span><span class="p">:</span>479 <span class="n">c</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="s1">'makefile_ecgate'</span>480 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: default makefile selected: makefile_ecgate'</span><span class="p">)</span>481 <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'cca'</span> <span class="ow">or</span> \482 <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'ccb'</span><span class="p">:</span>483 <span class="n">c</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="s1">'makefile_cray'</span>484 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: default makefile selected: makefile_cray'</span><span class="p">)</span>485 <span class="k">else</span><span class="p">:</span>486 <span class="k">pass</span>487 488 468 <span class="k">return</span></div> 489 469 … … 538 518 <span class="s1">'CONTROL*'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 539 519 <span class="n">testfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span> 540 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEST</span><span class=" o">+</span><span class="s2">"/Installation"</span><span class="p">,</span> <span class="s1">'*'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>520 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEST</span><span class="p">,</span> <span class="s1">'*'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 541 521 <span class="n">tempfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span> 542 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEMPLATES</span><span class="p">,</span> <span class="s1">'*.template'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 522 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEMPLATES</span><span class="p">,</span> <span class="s1">'*.temp'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 523 <span class="n">nlfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span> 524 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEMPLATES</span><span class="p">,</span> <span class="s1">'*.nl'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 543 525 <span class="n">gribtable</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span> 544 526 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEMPLATES</span><span class="p">,</span> <span class="s1">'*grib*'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> … … 549 531 <span class="n">makefiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span> 550 532 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">,</span> <span class="s1">'makefile*'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 551 <span class="n">jobdir</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span> 552 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_JOBSCRIPTS</span><span class="p">,</span> <span class="s1">'*.md'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 533 <span class="n">jobdir</span> <span class="o">=</span> <span class="p">[</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_JOBSCRIPTS</span><span class="p">]</span> 553 534 554 535 <span class="c1"># concatenate single lists to one for a better looping</span> 555 <span class="n">filelist</span> <span class="o">=</span> <span class="n">pyfiles</span> <span class="o">+</span> <span class="n">pytestfiles</span> <span class="o">+</span> <span class="n">controlfiles</span> <span class="o">+</span> <span class="n">tempfiles</span> <span class="o">+</span> \536 <span class="n">filelist</span> <span class="o">=</span> <span class="n">pyfiles</span> <span class="o">+</span> <span class="n">pytestfiles</span> <span class="o">+</span> <span class="n">controlfiles</span> <span class="o">+</span> <span class="n">tempfiles</span> <span class="o">+</span> <span class="n">nlfiles</span> <span class="o">+</span> \ 556 537 <span class="n">ffiles</span> <span class="o">+</span> <span class="n">gribtable</span> <span class="o">+</span> <span class="n">hfiles</span> <span class="o">+</span> <span class="n">makefiles</span> <span class="o">+</span> <span class="n">ecmwf_env_file</span> <span class="o">+</span> \ 557 538 <span class="n">runfile</span> <span class="o">+</span> <span class="n">jobdir</span> <span class="o">+</span> <span class="n">testfiles</span> <span class="o">+</span>\ … … 814 795 <span class="k">return</span></div> 815 796 816 <div class="viewcode-block" id="del_ fortran_build"><a class="viewcode-back" href="../Documentation/Api/api_python.html#install.del_fortran_build">[docs]</a><span class="k">def</span> <span class="nf">del_fortran_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">):</span>797 <div class="viewcode-block" id="del_convert_build"><a class="viewcode-back" href="../Documentation/Api/api_python.html#install.del_convert_build">[docs]</a><span class="k">def</span> <span class="nf">del_convert_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">):</span> 817 798 <span class="sd">'''Clean up the Fortran source directory and remove all</span> 818 <span class="sd"> build files (e.g. \*.o, \*.mod and FORTRAN EXECUTABLE)</span>799 <span class="sd"> build files (e.g. \*.o, \*.mod and CONVERT2)</span> 819 800 820 801 <span class="sd"> Parameters</span> … … 838 819 <span class="k">return</span></div> 839 820 840 <div class="viewcode-block" id="mk_ fortran_build"><a class="viewcode-back" href="../Documentation/Api/api_python.html#install.mk_fortran_build">[docs]</a><span class="k">def</span> <span class="nf">mk_fortran_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span> <span class="n">makefile</span><span class="p">):</span>821 <div class="viewcode-block" id="mk_convert_build"><a class="viewcode-back" href="../Documentation/Api/api_python.html#install.mk_convert_build">[docs]</a><span class="k">def</span> <span class="nf">mk_convert_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span> <span class="n">makefile</span><span class="p">):</span> 841 822 <span class="sd">'''Compiles the Fortran code and generates the executable.</span> 842 823 … … 868 849 <span class="nb">print</span><span class="p">(</span><span class="s1">'Please edit '</span> <span class="o">+</span> <span class="n">makefile</span> <span class="o">+</span> 869 850 <span class="s1">' or try another makefile in the src directory.'</span><span class="p">)</span> 870 <span class="nb">print</span><span class="p">(</span><span class="s1">'Most likely ECCODES_INCLUDE_DIR, ECCODES_LIB '</span>851 <span class="nb">print</span><span class="p">(</span><span class="s1">'Most likely GRIB_API_INCLUDE_DIR, GRIB_API_LIB '</span> 871 852 <span class="s1">'and EMOSLIB must be adapted.'</span><span class="p">)</span> 872 853 <span class="nb">print</span><span class="p">(</span><span class="s1">'Available makefiles:'</span><span class="p">)</span> … … 874 855 <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">'Compilation failed!'</span><span class="p">)</span> 875 856 <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> 876 <span class="nb">print</span><span class="p">(</span><span class="s1">'ERROR: make file callfailed:'</span><span class="p">)</span>857 <span class="nb">print</span><span class="p">(</span><span class="s1">'ERROR: make of Fortran code failed:'</span><span class="p">)</span> 877 858 <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span> 878 859 <span class="k">else</span><span class="p">:</span>
Note: See TracChangeset
for help on using the changeset viewer.