<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 class="" style="white-space:pre">    </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 class="im HOEnZb">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 class="HOEnZb"><div class="h5">> 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">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">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">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>