Changeset 08c9091 in flex_extract.git for Documentation/html/_modules/install.html
- Timestamp:
- Aug 12, 2020, 8:47:31 AM (4 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 73308e0
- Parents:
- ee9aaec
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Documentation/html/_modules/install.html
r6931f61 r08c9091 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 convertbuild files in here instead of compile job script</span>177 <span class="c1"># - delete fortran 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> 181 186 <span class="c1">#</span> 182 187 <span class="c1"># @License:</span> 183 <span class="c1"># (C) Copyright 2014-20 19.</span>188 <span class="c1"># (C) Copyright 2014-2020.</span> 184 189 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 185 190 <span class="c1">#</span> … … 201 206 <span class="c1"># mk_compilejob</span> 202 207 <span class="c1"># mk_job_template</span> 203 <span class="c1"># del_ convert_build</span>204 <span class="c1"># mk_ convert_build</span>208 <span class="c1"># del_fortran_build</span> 209 <span class="c1"># mk_fortran_build</span> 205 210 <span class="c1">#</span> 206 211 <span class="c1">#*******************************************************************************</span> … … 405 410 <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span> 406 411 407 <span class="c1"># Create Fortran executable - CONVERT2</span>412 <span class="c1"># Create Fortran executable</span> 408 413 <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> 409 414 <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> 410 415 <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> 411 416 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>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> 414 419 415 420 <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> … … 466 471 <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> 467 472 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 468 488 <span class="k">return</span></div> 469 489 … … 518 538 <span class="s1">'CONTROL*'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 519 539 <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> 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>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> 521 541 <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> 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> 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> 525 543 <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> 526 544 <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> … … 531 549 <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> 532 550 <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> 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> 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> 534 553 535 554 <span class="c1"># concatenate single lists to one for a better looping</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>\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> \ 537 556 <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> \ 538 557 <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>\ … … 795 814 <span class="k">return</span></div> 796 815 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>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> 798 817 <span class="sd">'''Clean up the Fortran source directory and remove all</span> 799 <span class="sd"> build files (e.g. \*.o, \*.mod and CONVERT2)</span>818 <span class="sd"> build files (e.g. \*.o, \*.mod and FORTRAN EXECUTABLE)</span> 800 819 801 820 <span class="sd"> Parameters</span> … … 819 838 <span class="k">return</span></div> 820 839 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>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> 822 841 <span class="sd">'''Compiles the Fortran code and generates the executable.</span> 823 842 … … 849 868 <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> 850 869 <span class="s1">' or try another makefile in the src directory.'</span><span class="p">)</span> 851 <span class="nb">print</span><span class="p">(</span><span class="s1">'Most likely GRIB_API_INCLUDE_DIR, GRIB_API_LIB '</span>870 <span class="nb">print</span><span class="p">(</span><span class="s1">'Most likely ECCODES_INCLUDE_DIR, ECCODES_LIB '</span> 852 871 <span class="s1">'and EMOSLIB must be adapted.'</span><span class="p">)</span> 853 872 <span class="nb">print</span><span class="p">(</span><span class="s1">'Available makefiles:'</span><span class="p">)</span> … … 855 874 <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> 856 875 <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> 857 <span class="nb">print</span><span class="p">(</span><span class="s1">'ERROR: make of Fortran codefailed:'</span><span class="p">)</span>876 <span class="nb">print</span><span class="p">(</span><span class="s1">'ERROR: makefile call failed:'</span><span class="p">)</span> 858 877 <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span> 859 878 <span class="k">else</span><span class="p">:</span>
Note: See TracChangeset
for help on using the changeset viewer.