Ignore:
File:
1 edited

Legend:

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

    r08c9091 r6931f61  
    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 fortran build 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>
    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>
    186181<span class="c1">#</span>
    187182<span class="c1"># @License:</span>
    188 <span class="c1">#    (C) Copyright 2014-2020.</span>
     183<span class="c1">#    (C) Copyright 2014-2019.</span>
    189184<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    190185<span class="c1">#</span>
     
    206201<span class="c1">#    mk_compilejob</span>
    207202<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>
    210205<span class="c1">#</span>
    211206<span class="c1">#*******************************************************************************</span>
     
    410405                                  <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span>
    411406
    412     <span class="c1"># Create Fortran executable</span>
     407    <span class="c1"># Create Fortran executable - CONVERT2</span>
    413408    <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>
    414409          <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>
    415410          <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>
    416411
    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>
     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>
    419414
    420415    <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>
     
    471466            <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>
    472467
    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        
    488468    <span class="k">return</span></div>
    489469
     
    538518                                      <span class="s1">&#39;CONTROL*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
    539519    <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">&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>
     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>
    541521    <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">&#39;*.template&#39;</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">&#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>
    543525    <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>
    544526                 <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>
     
    549531    <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>
    550532                 <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>
    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>
     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>
    553534
    554535    <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> \
    556537               <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> \
    557538               <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>\
     
    814795    <span class="k">return</span></div>
    815796
    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>
    817798    <span class="sd">&#39;&#39;&#39;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>
    819800
    820801<span class="sd">    Parameters</span>
     
    838819    <span class="k">return</span></div>
    839820
    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>
    841822    <span class="sd">&#39;&#39;&#39;Compiles the Fortran code and generates the executable.</span>
    842823
     
    868849            <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>
    869850                  <span class="s1">&#39; or try another makefile in the src directory.&#39;</span><span class="p">)</span>
    870             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Most likely ECCODES_INCLUDE_DIR, ECCODES_LIB &#39;</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>
    871852                  <span class="s1">&#39;and EMOSLIB must be adapted.&#39;</span><span class="p">)</span>
    872853            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Available makefiles:&#39;</span><span class="p">)</span>
     
    874855            <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>
    875856    <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">&#39;ERROR: makefile call failed:&#39;</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>
    877858        <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
    878859    <span class="k">else</span><span class="p">:</span>
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG