Horizontal Navigation Bar |
---|
Button Group |
---|
Button Hyperlink |
---|
title | Previous |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Understanding+Includes |
---|
|
Button Hyperlink |
---|
title | Up |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Tutorial |
---|
|
Button Hyperlink |
---|
title | Next |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Checking+job+creation |
---|
|
|
|
Next, we need to write the ecf script for the task t1.By default ecFlow expects files to be in a directory structure below ECF_HOME
that reflects the hierarchy of the suites. The task t1 being in the suite test, the ecf script for the task t1 must be in a sub-directory test. - In ECF_HOME, create a directory test:
- In test directory, create a file t1.ecf with the following contents:
Code Block |
---|
language | bash |
---|
title | $HOME/course/test/t1.ecf |
---|
|
%include " |
HTML |
---|
<div class="section" id="defining-the-first-task">
<span id="defining-a-task"></span><span id="index-0"></span>
<div class="line-block">
<div class="line">Next, we need to write the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a> for the task <strong>t1</strong>.</div>
<div class="line">By default ECF expects files to be in a directory structure below ECF_HOME</div>
<div class="line">that reflect the hierarchy of the suites. The <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-task"><em class="xref std std-term">task</em></a> <strong>t1</strong> being in the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite"><em class="xref std std-term">suite</em></a> test,</div>
<div class="line">the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a> for the task <strong>t1</strong> must be in a sub-directory test.</div>
</div>
<ul>
<li><p class="first">In ECF_HOME, create a directory test:</p>
<div class="highlight-python"><pre>> mkdir test</pre>
</div>
</li>
<li><p class="first">In test, create a file <tt class="file docutils literal"><span class="pre">t1.ecf</span></tt> with the following contents:</p>
<div class="highlight-python"><pre>%include "../head.h"
echo "I am part of a suite that lives in %ECF_HOME%"
%include "../tail.h"</pre>
</div>
</li>
</ul>
<div class="section" id="job-creation">
<span id="id1"></span><h2>Job creation<a class="headerlink" href="#job-creation" title="Permalink to this headline">¶</a></h2>
<div class="line-block">
<div class="line">Before submitting the task, the server will transform the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a> to a <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-job-file"><em class="xref std std-term">job file</em></a></div>
<div class="line">This process is known as <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-job-creation"><em class="xref std std-term">job creation</em></a>.</div>
</div>
<div class="line-block">
<div class="line">This involves locating the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a> on disk, and then <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-pre-processing"><em class="xref std std-term">pre-processing</em></a> the</div>
<div class="line"><a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-directives"><em class="xref std std-term">directives</em></a>. This process includes performing <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-variable-substitution"><em class="xref std std-term">variable substitution</em></a>.</div>
</div>
<div class="line-block">
<div class="line">This will create a file with a ‘.job’ extension.</div>
<div class="line">This is the script that ECF will submit to your system.</div>
</div>
<p>In our case:</p>
<ul>
<li><p class="first">%include ”../head.h” will be substituted by the content of the file <a class="reference internal" href="/wiki/display/ECFLOW/Understanding+Includes#head-h"><em>head.h</em></a>.</p>
<div class="line-block">
<div class="line">Note that the file name is given relatively to the file <tt class="file docutils literal"><span class="pre">t1.ecf</span></tt>,</div>
<div class="line">i.e. in the directory above the one containing <tt class="file docutils literal"><span class="pre">t1.ecf</span></tt></div>
</div>
</li>
<li><p class="first">%ECF_HOME% will be substituted by the value of the variable ECF_HOME</p>
</li>
<li><p class="first">%include <em>”../tail.h”</em> will be substituted by the content of the file <a class="reference internal" href="/wiki/display/ECFLOW/Understanding+Includes#tail-h"><em>tail.h</em></a></p>
</li>
</ul>
<p><strong>What to do:</strong></p>
<ol class="arabic simple">
<li>Type in the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a> <tt class="file docutils literal"><span class="pre">t1.ecf</span></tt></li>
</ol>
</div>
</div>
|
Job creation
This will create a file with a ‘.job’ extension.
This is the script that ecflow_server will submit to your system. In our case:
%include ”../head.h” will be substituted by the content of the file head.h.
Note that the file name is given relatively to the file t1.ecf,
i.e. in the directory above the one containing t1.ecf
%ECF_HOME% will be substituted by the value of the variable ECF_HOME
%include ”../tail.h” will be substituted by the content of the file tail.h
What to do
- Create the ecf script t1.ecf in $HOME/course/test directory
Horizontal Navigation Bar |
---|
Button Group |
---|
Button Hyperlink |
---|
title | Previous |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Understanding+Includes |
---|
|
Button Hyperlink |
---|
title | Up |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Tutorial |
---|
|
Button Hyperlink |
---|
title | Next |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Checking+job+creation |
---|
|
|
|