Changeset 08c9091 in flex_extract.git for Documentation/html/_modules/install.html


Ignore:
Timestamp:
Aug 12, 2020, 8:47:31 AM (4 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
73308e0
Parents:
ee9aaec
Message:

updated online docu (rm tabs)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Documentation/html/_modules/install.html

    r6931f61 r08c9091  
    175175<span class="c1">#        - moved install_args_and_control in here</span>
    176176<span class="c1">#        - splitted code in smaller functions</span>
    177 <span class="c1">#        - delete convert build 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>
    178178<span class="c1">#        - changed static path names to variables from config file</span>
    179179<span class="c1">#        - splitted install function into several smaller pieces</span>
    180180<span class="c1">#        - use of tarfile package in python</span>
     181<span class="c1">#    June 2020 - Anne Philipp</span>
     182<span class="c1">#        - renamed &quot;convert&quot; functions to &quot;fortran&quot; 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>
    181186<span class="c1">#</span>
    182187<span class="c1"># @License:</span>
    183 <span class="c1">#    (C) Copyright 2014-2019.</span>
     188<span class="c1">#    (C) Copyright 2014-2020.</span>
    184189<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    185190<span class="c1">#</span>
     
    201206<span class="c1">#    mk_compilejob</span>
    202207<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>
    205210<span class="c1">#</span>
    206211<span class="c1">#*******************************************************************************</span>
     
    405410                                  <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span>
    406411
    407     <span class="c1"># Create Fortran executable - CONVERT2</span>
     412    <span class="c1"># Create Fortran executable</span>
    408413    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Install &#39;</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">&#39; software at &#39;</span> <span class="o">+</span>
    409414          <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">&#39; in directory &#39;</span> <span class="o">+</span>
    410415          <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">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    411416
    412     <span class="n">del_convert_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
    413     <span class="n">mk_convert_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</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">&#39;.&#39;</span><span class="p">)</span>
     418    <span class="n">mk_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span>
    414419
    415420    <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>
     
    466471            <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>
    467472
     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">&#39;WARNING: no makefile was specified.&#39;</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">&#39;local&#39;</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">&#39;makefile_local_gfortran&#39;</span>
     477            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: default makefile selected: makefile_local_gfortan&#39;</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">&#39;ecgate&#39;</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">&#39;makefile_ecgate&#39;</span>
     480            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: default makefile selected: makefile_ecgate&#39;</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">&#39;cca&#39;</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">&#39;ccb&#39;</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">&#39;makefile_cray&#39;</span>
     484            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: default makefile selected: makefile_cray&#39;</span><span class="p">)</span>
     485        <span class="k">else</span><span class="p">:</span>
     486            <span class="k">pass</span>
     487       
    468488    <span class="k">return</span></div>
    469489
     
    518538                                      <span class="s1">&#39;CONTROL*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
    519539    <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">&#39;*&#39;</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">&quot;/Installation&quot;</span><span class="p">,</span> <span class="s1">&#39;*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
    521541    <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">&#39;*.temp&#39;</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">&#39;*.nl&#39;</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">&#39;*.template&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
    525543    <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>
    526544                 <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">&#39;*grib*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
     
    531549    <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>
    532550                 <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">&#39;makefile*&#39;</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">&#39;*.md&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
    534553
    535554    <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> \
    537556               <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> \
    538557               <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>\
     
    795814    <span class="k">return</span></div>
    796815
    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>
    798817    <span class="sd">&#39;&#39;&#39;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>
    800819
    801820<span class="sd">    Parameters</span>
     
    819838    <span class="k">return</span></div>
    820839
    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>
    822841    <span class="sd">&#39;&#39;&#39;Compiles the Fortran code and generates the executable.</span>
    823842
     
    849868            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please edit &#39;</span> <span class="o">+</span> <span class="n">makefile</span> <span class="o">+</span>
    850869                  <span class="s1">&#39; or try another makefile in the src directory.&#39;</span><span class="p">)</span>
    851             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Most likely GRIB_API_INCLUDE_DIR, GRIB_API_LIB &#39;</span>
     870            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Most likely ECCODES_INCLUDE_DIR, ECCODES_LIB &#39;</span>
    852871                  <span class="s1">&#39;and EMOSLIB must be adapted.&#39;</span><span class="p">)</span>
    853872            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Available makefiles:&#39;</span><span class="p">)</span>
     
    855874            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;Compilation failed!&#39;</span><span class="p">)</span>
    856875    <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">&#39;ERROR: make of Fortran code failed:&#39;</span><span class="p">)</span>
     876        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: makefile call failed:&#39;</span><span class="p">)</span>
    858877        <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
    859878    <span class="k">else</span><span class="p">:</span>
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG