source: flex_extract.git/Documentation/html/Documentation/Input/fortran_makefile.html

ctbtodev
Last change on this file was 6931f61, checked in by anphi <anne.philipp@…>, 4 years ago

Update Onlinedocumentation after review of language editing

  • Property mode set to 100644
File size: 13.5 KB
Line 
1
2
3<!DOCTYPE html>
4<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6<head>
7  <meta charset="utf-8">
8 
9  <meta name="viewport" content="width=device-width, initial-scale=1.0">
10 
11  <title>The Fortran makefile for calc_etadot &mdash; flex_extract 7.1.2 documentation</title>
12 
13
14 
15 
16 
17 
18
19 
20  <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
21 
22   
23      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
24        <script src="../../_static/jquery.js"></script>
25        <script src="../../_static/underscore.js"></script>
26        <script src="../../_static/doctools.js"></script>
27        <script src="../../_static/language_data.js"></script>
28        <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
29   
30    <script type="text/javascript" src="../../_static/js/theme.js"></script>
31
32   
33
34 
35  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
36  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
37  <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
38  <link rel="stylesheet" href="../../_static/css/theme_overrides.css" type="text/css" />
39    <link rel="index" title="Index" href="../../genindex.html" />
40    <link rel="search" title="Search" href="../../search.html" />
41    <link rel="next" title="The executable script - run.sh" href="run.html" />
42    <link rel="prev" title="The compilation job script compilejob.ksh" href="compilejob.html" /> 
43</head>
44
45<body class="wy-body-for-nav">
46
47   
48  <div class="wy-grid-for-nav">
49   
50    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
51      <div class="wy-side-scroll">
52        <div class="wy-side-nav-search" >
53         
54
55         
56            <a href="../../index.html" class="icon icon-home"> flex_extract
57         
58
59         
60          </a>
61
62         
63           
64           
65              <div class="version">
66                7.1.2
67              </div>
68           
69         
70
71         
72<div role="search">
73  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
74    <input type="text" name="q" placeholder="Search docs" />
75    <input type="hidden" name="check_keywords" value="yes" />
76    <input type="hidden" name="area" value="default" />
77  </form>
78</div>
79
80         
81        </div>
82
83        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
84         
85           
86           
87             
88           
89           
90              <p class="caption"><span class="caption-text">Table of Contents:</span></p>
91<ul class="current">
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="../../installation.html">Installation</a></li>
94<li class="toctree-l1"><a class="reference internal" href="../../quick_start.html">Usage</a></li>
95<li class="toctree-l1 current"><a class="reference internal" href="../../documentation.html">Code-Level Documentation</a><ul class="current">
96<li class="toctree-l2"><a class="reference internal" href="../overview.html">Overview</a></li>
97<li class="toctree-l2 current"><a class="reference internal" href="../input.html">Control &amp; input data</a><ul class="current">
98<li class="toctree-l3"><a class="reference internal" href="setup.html">The installation script - <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code></a></li>
99<li class="toctree-l3"><a class="reference internal" href="compilejob.html">The compilation job script <code class="docutils literal notranslate"><span class="pre">compilejob.ksh</span></code></a></li>
100<li class="toctree-l3 current"><a class="current reference internal" href="#">The Fortran makefile for <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code></a><ul class="simple">
101</ul>
102</li>
103<li class="toctree-l3"><a class="reference internal" href="run.html">The executable script - <code class="docutils literal notranslate"><span class="pre">run.sh</span></code></a></li>
104<li class="toctree-l3"><a class="reference internal" href="jobscript.html">The job script <code class="docutils literal notranslate"><span class="pre">job.ksh</span></code></a></li>
105<li class="toctree-l3"><a class="reference internal" href="control.html">The CONTROL file</a></li>
106<li class="toctree-l3"><a class="reference internal" href="control_params.html">The CONTROL parameters</a></li>
107<li class="toctree-l3"><a class="reference internal" href="examples.html">CONTROL file examples</a></li>
108<li class="toctree-l3"><a class="reference internal" href="changes.html">CONTROL file changes</a></li>
109<li class="toctree-l3"><a class="reference internal" href="ecmwf_env.html">ECMWF user credential file <code class="docutils literal notranslate"><span class="pre">ECMWF_ENV</span></code></a></li>
110<li class="toctree-l3"><a class="reference internal" href="templates.html">Templates</a></li>
111</ul>
112</li>
113<li class="toctree-l2"><a class="reference internal" href="../output.html">Output data</a></li>
114<li class="toctree-l2"><a class="reference internal" href="../disagg.html">Disaggregation of flux data</a></li>
115<li class="toctree-l2"><a class="reference internal" href="../vertco.html">Vertical wind</a></li>
116<li class="toctree-l2"><a class="reference internal" href="../api.html">Auto-generated documentation</a></li>
117</ul>
118</li>
119<li class="toctree-l1"><a class="reference internal" href="../../evaluation.html">Evaluation</a></li>
120<li class="toctree-l1"><a class="reference internal" href="../../dev_guide.html">Developer Guide</a></li>
121<li class="toctree-l1"><a class="reference internal" href="../../changelog.html">Changelog</a></li>
122<li class="toctree-l1"><a class="reference internal" href="../../support.html">Support</a></li>
123<li class="toctree-l1"><a class="reference internal" href="../../Support/faq.html">FAQ - Frequently asked questions</a></li>
124<li class="toctree-l1"><a class="reference internal" href="../../authors.html">Developer Team</a></li>
125</ul>
126
127           
128         
129        </div>
130      </div>
131    </nav>
132
133    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
134
135     
136      <nav class="wy-nav-top" aria-label="top navigation">
137       
138          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
139          <a href="../../index.html">flex_extract</a>
140       
141      </nav>
142
143
144      <div class="wy-nav-content">
145       
146        <div class="rst-content">
147       
148         
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164<div role="navigation" aria-label="breadcrumbs navigation">
165
166  <ul class="wy-breadcrumbs">
167   
168      <li><a href="../../index.html">Docs</a> &raquo;</li>
169       
170          <li><a href="../../documentation.html">Code-Level Documentation</a> &raquo;</li>
171       
172          <li><a href="../input.html">Control &amp; input data</a> &raquo;</li>
173       
174      <li>The Fortran makefile for <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code></li>
175   
176   
177      <li class="wy-breadcrumbs-aside">
178       
179           
180            <a href="../../_sources/Documentation/Input/fortran_makefile.rst.txt" rel="nofollow"> View page source</a>
181         
182       
183      </li>
184   
185  </ul>
186
187 
188  <hr/>
189</div>
190          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
191           <div itemprop="articleBody">
192           
193  <div class="section" id="the-fortran-makefile-for-calc-etadot">
194<h1>The Fortran makefile for <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code><a class="headerlink" href="#the-fortran-makefile-for-calc-etadot" title="Permalink to this headline"></a></h1>
195<p id="ref-convert">The Fortran program <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code> will be compiled during
196the installation process to produce the executable called <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code>.</p>
197<p><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> includes several <code class="docutils literal notranslate"><span class="pre">makefiles</span></code>  which can be found in the directory
198<code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/Source/Fortran</span></code>, where <code class="docutils literal notranslate"><span class="pre">vX.X</span></code> should be substituted by the current flex_extract version number.
199A list of these <code class="docutils literal notranslate"><span class="pre">makefiles</span></code> is shown below:</p>
200<div class="line-block">
201<div class="line"><strong>Remote/Gateway mode</strong>:</div>
202<div class="line">Files to be used as they are!</div>
203</div>
204<blockquote>
205<div><div class="line-block">
206<div class="line"><strong>makefile_ecgate</strong>: For  use on the ECMWF server <strong>ecgate</strong>.</div>
207<div class="line"><strong>makefile_cray</strong>:   For  use on the ECMWF servers <strong>cca/ccb</strong>.</div>
208</div>
209</div></blockquote>
210<div class="line-block">
211<div class="line"><strong>Local mode</strong></div>
212<div class="line">It is necessary to adapt <strong>ECCODES_INCLUDE_DIR</strong> and <strong>ECCODES_LIB</strong> if they don’t correspond to the standard paths pre-set in the makefiles.</div>
213</div>
214<blockquote>
215<div><div class="line-block">
216<div class="line"><strong>makefile_fast</strong>:  For use with the gfortran compiler and optimisation mode.</div>
217<div class="line"><strong>makefile_debug</strong>: For use with the gfortran compiler and debugging mode. Primarily for developers.</div>
218<div class="line"><strong>makefile_local_gfortran</strong>: Linked to makefile_fast. Default value.</div>
219</div>
220</div></blockquote>
221<p>They can be found at <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/Source/Fortran/</span></code>, where <code class="docutils literal notranslate"><span class="pre">vX.X</span></code> should be substituted by the current flex_extract version number.</p>
222<div class="admonition caution">
223<p class="admonition-title">Caution</p>
224<p>It is necessary to adapt <strong>ECCODES_INCLUDE_DIR</strong> and <strong>ECCODES_LIB</strong> in these
225<code class="docutils literal notranslate"><span class="pre">makefiles</span></code> if other than standard paths are used.</p>
226</div>
227<p>Thus, go to the <code class="docutils literal notranslate"><span class="pre">Fortran</span></code> source directory and open the <code class="docutils literal notranslate"><span class="pre">makefile</span></code> of your
228choice, and check / modify with an editor of your choice:</p>
229<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> flex_extract_vX.X/Source/Fortran
230nedit makefile_fast
231</pre></div>
232</div>
233<p>Set the paths to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library on your local machine, if necessary.</p>
234<div class="admonition caution">
235<p class="admonition-title">Caution</p>
236<p>This can vary from system to system.
237It is suggested to use a command like</p>
238<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># for the ECCODES_INCLUDE_DIR path do:</span>
239$ dpkg -L libeccodes-dev <span class="p">|</span> grep eccodes.mod
240<span class="c1"># for the ECCODES_LIB path do:</span>
241$ dpkg -L libeccodes-dev <span class="p">|</span> grep libeccodes.so
242</pre></div>
243</div>
244<p>to find out the path to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library.</p>
245</div>
246<p>Assign these paths to the parameters <strong>ECCODES_INCLUDE_DIR</strong>
247and <strong>ECCODES_LIB</strong> in the makefile, and save it.</p>
248<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># these are the paths on Debian Buster:</span>
249<span class="nv">ECCODES_INCLUDE_DIR</span><span class="o">=</span>/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/
250<span class="nv">ECCODES_LIB</span><span class="o">=</span> -L/usr/lib -leccodes_f90 -leccodes -lm
251</pre></div>
252</div>
253<p>If you want to use another compiler than gfortran locally, you can still take <code class="docutils literal notranslate"><span class="pre">makefile_fast</span></code>,
254and adapt everything that is compiler-specific in this file.</p>
255<div class="toctree-wrapper compound">
256</div>
257</div>
258
259
260           </div>
261           
262          </div>
263          <footer>
264 
265    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
266     
267        <a href="run.html" class="btn btn-neutral float-right" title="The executable script - run.sh" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
268     
269     
270        <a href="compilejob.html" class="btn btn-neutral float-left" title="The compilation job script compilejob.ksh" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
271     
272    </div>
273 
274
275  <hr/>
276
277  <div role="contentinfo">
278    <p>
279        &copy; Copyright 2020, Anne Philipp, Leopold Haimberger and Petra Seibert
280
281    </p>
282  </div>
283  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
284
285</footer>
286
287        </div>
288      </div>
289
290    </section>
291
292  </div>
293 
294
295
296  <script type="text/javascript">
297      jQuery(function () {
298          SphinxRtdTheme.Navigation.enable(true);
299      });
300  </script>
301
302 
303 
304   
305   
306
307</body>
308</html>
Note: See TracBrowser for help on using the repository browser.
hosted by ZAMG