<div dir="ltr">Hi Mike,<div><br></div><div>The app is creating the file but the way the app is invoked, the filename does not appear in the command-line. It creates the file at the top level, so just afile.txt. </div><div><br></div><div>However, since there are many calls to the app, to avoid this file being overwritten, I need to put this file into a separate directory which is why I am using directory outdirN. </div><div><br></div><div>I was thinking if it is possible for Swift runtime to find from the app definition that the file _appout is expected output similar to stdout and move the file to the outdirN (again similar to stdout).</div><div><br></div><div>Thanks,</div><div>Ketan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 6, 2015 at 12:53 PM, Michael Wilde <span dir="ltr"><<a href="mailto:wilde@anl.gov" target="_blank">wilde@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
Is your app touch_app( ) correctly creating output files of the form
outdirN/afile.txt?<br>
<br>
From the error message, I suspect that it is not.<br>
<br>
Your app is declared as:<br>
<br>
app (file _stdout, file _stderr, file _appout) touch_app(string
_instr){<br>
t _instr stdout=@_stdout stderr=@_stderr;<br>
}<br>
<br>
<br>
You need to pass filename(_appout) to the app, via its command line,
so that it knows the correct output filename to create. Then you
need to ensure that the app does indeed create that file.<br>
<br>
- Mike<div><div class="h5"><br>
<br>
<div>On 1/6/15 11:23 AM, Ketan Maheshwari
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Trying trunk for this pattern.
<div><br>
</div>
<div>A toy application invoked over a foreach loop that creates
an output file, an stdout and an stderr files. </div>
<div><br>
</div>
<div>The files are mapped into an output directory named with
the loop index as suffix so that the files do not get
overwritten:</div>
<div><br>
</div>
<div>
<div>foreach i in [0:9]{</div>
<div><br>
</div>
<div> file out<single_file_mapper; file=strcat("outdir",
i, "/std.out")>;</div>
<div> file err<single_file_mapper; file=strcat("outdir",
i, "/std.err")>;</div>
<div> file appout<single_file_mapper;
file=strcat("outdir", i, "/afile.txt")>;</div>
<div><br>
</div>
<div> (out, err, appout) = touch_app("Hello");</div>
<div>}</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>The stdout and stderr files correctly ends up in their
respective directories but the app generated file does not. </div>
<div><br>
</div>
<div>I see following error message:</div>
<div><br>
</div>
<div>
<div>Execution failed:</div>
<div>Exception in t:</div>
<div> Arguments: [Hello]</div>
<div> Host: edison1</div>
<div> Directory: touchafile-run001/jobs/t/t-ffv33r2m</div>
<div><span style="white-space:pre-wrap"> </span>exception
@ swift-int-staging.k, line: 165</div>
<div>Caused by: The following output files were not created by
the application: outdir4/afile.txt</div>
</div>
<div><br>
</div>
<div>Any suggestions for fixing this?</div>
<div><br>
</div>
<div>Attached is the test directory with sources and executable
with rundir.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Ketan</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Dec 22, 2014 at 5:14 PM, Mihael
Hategan <span dir="ltr"><<a href="mailto:hategan@mcs.anl.gov" target="_blank">hategan@mcs.anl.gov</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>Hi,<br>
<br>
I don't think 0.95 supports dynamic arrays output from
apps. You will<br>
need trunk/0.96 for that.<br>
<br>
Mihael<br>
<br>
On Mon, 2014-12-22 at 15:37 -0600, Ketan Maheshwari wrote:<br>
</span>
<div>
<div>> Hi Mihael,<br>
><br>
> This is with Swift 0.95.<br>
><br>
> Thanks,<br>
> Ketan<br>
><br>
> On Sun, Dec 21, 2014 at 2:40 PM, Hategan-Marandiuc,
Philip M. <<br>
> <a href="mailto:hategan@mcs.anl.gov" target="_blank">hategan@mcs.anl.gov</a>>
wrote:<br>
><br>
> > Hi Ketan,<br>
> ><br>
> > Sorry for the delay. Is this trunk or 0.95?<br>
> ><br>
> > Mihael<br>
> ><br>
> > On Wed, 2014-12-17 at 14:26 -0600, Ketan
Maheshwari wrote:<br>
> > > Hi,<br>
> > ><br>
> > > I am dealing with a workflow pattern
where an app expects multiple output<br>
> > > files with a pattern.<br>
> > ><br>
> > > The app signature is:<br>
> > ><br>
> > > app (file[] _wrfout, file _out, file
_err) wrf_app (file _wrf_in, file[]<br>
> > > _tbl, file[] _ozone, ...)<br>
> > > {<br>
> > > wrf stdout=@_out stderr=@_err;<br>
> > > }<br>
> > ><br>
> > > The _wrfout files are the app result
files which follows a pattern:<br>
> > wrfout_*<br>
> > ><br>
> > > So, I am invoking the application in a
foreach loop as:<br>
> > ><br>
> > > foreach i in [0:2]{<br>
> > > file[] wrfout<simple_mapper;
location=strcat("outdir",i),<br>
> > > pattern="wrfout_*">;<br>
> > > file wrfstdout<single_file_mapper;
file=strcat("outdir", i,<br>
> > "/std.out")>;<br>
> > > file wrfstderr<single_file_mapper;
file=strcat("outdir", i,<br>
> > "/std.err")>;<br>
> > ><br>
> > > (wrfout, wrfstdout, wrfstderr) =
wrf_app (wrfin, tbl, ozone, tr, data,<br>
> > > gribmap, namelist, co2_trans,
input_sounding);<br>
> > > }<br>
> > ><br>
> > > The script hangs at runtime with the
following messages:<br>
> > ><br>
> > > No events in 1s.<br>
> > > Finding dependency loops...<br>
> > ><br>
> > > Waiting threads:<br>
> > > Thread: R-6-0-4, waiting on wrfout
(declared on line 50)<br>
> > > swift:stageOut, wf.edison, line 134<br>
> > > swift:execute, wf.edison, line 123<br>
> > > wrf_app, wf.edison, line 242<br>
> > ><br>
> > > Thread: R-6-2-4, waiting on wrfout
(declared on line 50)<br>
> > > swift:stageOut, wf.edison, line 134<br>
> > > swift:execute, wf.edison, line 123<br>
> > > wrf_app, wf.edison, line 242<br>
> > ><br>
> > > Thread: R-6-1-4, waiting on wrfout
(declared on line 50)<br>
> > > swift:stageOut, wf.edison, line 134<br>
> > > swift:execute, wf.edison, line 123<br>
> > > wrf_app, wf.edison, line 242<br>
> > ><br>
> > > Any suggestions?<br>
> > ><br>
> > > Thanks,<br>
> > > Ketan<br>
> > >
_______________________________________________<br>
> > > Swift-user mailing list<br>
> > > <a href="mailto:Swift-user@ci.uchicago.edu" target="_blank">Swift-user@ci.uchicago.edu</a><br>
> > > <a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a><br>
> ><br>
> ><br>
> ><br>
<br>
<br>
_______________________________________________<br>
Swift-user mailing list<br>
<a href="mailto:Swift-user@ci.uchicago.edu" target="_blank">Swift-user@ci.uchicago.edu</a><br>
<a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Swift-user mailing list
<a href="mailto:Swift-user@ci.uchicago.edu" target="_blank">Swift-user@ci.uchicago.edu</a>
<a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a></pre>
</blockquote>
<br>
</div></div><span class="HOEnZb"><font color="#888888"><pre cols="72">--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
</pre>
</font></span></div>
<br>_______________________________________________<br>
Swift-user mailing list<br>
<a href="mailto:Swift-user@ci.uchicago.edu">Swift-user@ci.uchicago.edu</a><br>
<a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a><br></blockquote></div><br></div>