Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
HTML
<div class="section" id="defining-the-first-task">
<span id="defining-a-task"></span><span id="index-0"></span>
<p>Next
<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>.
By</div>
<div class="line">By default ECF expects files to be in a directory structure below ECF_HOME thatHOME</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, the</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>
</p>div>
<ul>
<li><p class="first">In ECF_HOME, create a directory test:</p>
<div class="highlight-python"><pre>&gt; mkdir test</pre>
</div>
</li>
<li><p class="first">In test, create a file name <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>
<p>Although similar an <a </div>
<div class="section" id="job-creation">
<span id="id1"></span>
<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> is not a unix script. It contains <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> <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>.
Those This process includes performing <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-variable-directivessubstitution"><em >directives<class="xref std std-term">variable substitution</em></a> are specified using the character %.
Before submitting the task, the.</div>
</div>
<div class="line-block">
<div class="line">This will create a file with a &#8216;.job&#8217; extension.</div>
<div class="line">This is the script that ECF will scansubmit theto script and substitute the following stringsyour system.</div>
</div>
<p>In our case:</p>
<ul >
<li>%include<ul>
<li><p class="first">%include &#8221;../head.h&#8221; will be substituted by the content of the file <a class="reference internal" href="/wiki/display/ECFLOW/GettingUnderstanding+Started#headIncludes#head-h"><em>head.h</em></a>.
Note</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>, i</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>%ECF<li><p class="first">%ECF_HOME% will be substituted by the value of the ECF variable ECF_HOME</p>
</li>
<li>%include<li><p class="first">%include <em>&#8221;../tail.h&#8221;</em> will be substituted by the content of the file <a class="reference internal" href="/wiki/display/ECFLOW/GettingUnderstanding+Started#tailIncludes#tail-h"><em>tail.h</em></a></li>
</ul>
<p>The output of <a  href="/wiki/display/ECFLOW/Glossary#term-job-creation"><em >job creation</em></a> is known as the <a  href="/wiki/display/ECFLOW/Glossary#term-job-file"><em >job file</em></a>, and is usually a unix script, although not necessarily.
This is the script that ECF will submit to your system.</p>
<p>The workings of the files <a  href="/wiki/display/ECFLOW/Getting+Started#head-h"><em>head.h</em></a> and <a  href="/wiki/display/ECFLOW/Getting+Started#tail-h"><em>tail.h</em></a> are described inline.
head.h contains code to set-up the job environment so that it can work with ECF and also
includes the required error trapping to report any script errors to the ECF server.
The file <a  href="/wiki/display/ECFLOW/Getting+Started#tail-h"><em>tail.h</em></a> contains clean up code.</p>
p>
</li>
</ul>
<p>What to do:</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>