<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.StileMessaggioDiPostaElettronica17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:612588986;
        mso-list-type:hybrid;
        mso-list-template-ids:151045260 68157457 68157465 68157467 68157455 68157465 68157467 68157455 68157465 68157467;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=IT link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span lang=EN-US>Hi,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>just to practicing in swift I’m
porting my grid application for on demand weather forecast  from a xml
based workflow engine to Swift a workflow.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>The Swift expression capability is great.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>With this email here you are my (not full
working) Swift code.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>I have few questions:<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
lang=EN-US><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>     
</span></span></span><![endif]><span lang=EN-US>The most part of functions
retrieves and array of files I implemented using the filesys_mapper. I hope I
used the right syntax, but Swift simply does nothing. I mean, the job is not
submitted to the remote machine. I have to stop it with CTRL+C. On the logfile
I have this message:<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:49,210+0000 DEBUG
Loader Recompilation suppressed.<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:52,507+0000
INFO  unknown Using sites file: sites.xml<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:52,508+0000
INFO  unknown Using tc.data: tc.data<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:54,287+0000
WARN  JavaUtils Unable to find required classes
(javax.activation.DataHandler and javax.mail.internet.MimeMultipart).
Attachment support is disabled.<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:56,560+0000
INFO  unknown Swift v0.3-dev r1507<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:56,563+0000
INFO  unknown RunID: 20071207-2007-95unaxd2<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:56,898+0000
INFO  AbstractDataNode Adding handle listener "Open, 0 elements, no
listeners" to "terrainDomains.$[]/0"<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US>2007-12-07 20:07:56,927+0000
INFO  AbstractDataNode Adding handle listener
"F/terrainDomains.$[]/0" to "terrainDomains.$[]/0"<o:p></o:p></span></p>

<p class=MsoListParagraph><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
lang=EN-US><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>     
</span></span></span><![endif]><span lang=EN-US>All modules belonging my
applications want in the ./input input files and produce in ./output their
results. I never reached this point because the point 1 fails, how work the
file mapper in this case? I mean, if the regrid produces the regridDomains
array of files mapped somewhere but ./output/REGRID_DOMAINx.gz when it is
staged-in as input for the interpf where it is copied? ./output/… ? Eventually,
how can I change this behavior in order to stage in in ./input what previously
whas staged out from ./output?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US> <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Thank you in advance,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  A Swift enthusiastic - Raffaele<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>-----------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>The Swift Workflow:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Data type definition<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type terrainDomainType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type initialDataType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type dataFileType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type sstFileType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type snowFileType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type regridDomainType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type mmInputDomainType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type bdyOutDomainType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type lowBdyDomainType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>type mmOutputDomainType;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Terrain function<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>(terrainDomainType
terrainDomains[])terrain(string lon, string lat, int nests) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  app { terrain lon lat nests @terrainDomains;
}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Pregrid function<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>(dataFileType dataFiles[], sstFileType
sstFiles[], snowFileType snowFiles[] )pregrid(string iDate, int hours,
initialDataType initalData) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  app { pregrid iDate hours
@filename(initaialData) @dataFiles @sstFiles @snowFiles; }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Regrid function<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>(regridDomainType regridDomains[]) regrdi(
terrainDomainType terrainDomain, dataFileType dataFiles, sstFileType sstFiles,
snowFileType snowFiles) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  app { regrid @terrainDomain
@dataFiles @sstFIles @snowFiles @regridDomains; }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Interpf function<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>(mmInputDomainType mmInputDomains[],
bdyOutDomainType dbyOutDomains[], lowBdyDomainType lowBdyDomains[]) interpf
(regridDomainType regridDomain) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  app { interpf @regridDomain
@mmInputDomains @dbyOutDOmains @lowBdyDomains; }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Mpp (parallel MM5) function<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>(mmOutputDomainType mmOutputDomains[])mmp(
terrainDomainType terrainDomains[], mmInputDomainType mmInputDomains[],
bdyOutDomainType dbyOutDomains[], lowBdyDomainType lowBdyDomains[]) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  app { mmp @terrainDomains
@mmInputDomains @bdyOutDomains @lowBdyDomains @mmOutputDomains; }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Terrain output<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>terrainDomainType terrainDomains[]
<filesys_mapper;location="./output/",
prefix="TERRAIN_DOMAIN", suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Pregrid input data<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>initialDataType initialData[]
<filesys_mapper;
location="gsiftp://data.uniparthenope.it//home/infonav/data/ncep/20071207/20071207Z00",
prefix="gfs">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Pregrid outputs<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>dataFileType dataFiles[]
<filesys_mapper;location="./output/", prefix="FILE",
suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>sstFileType sstFiles[]
<filesys_mapper;location="./output/", prefix="SST",
suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>snowFileType snowFiles[]
<filesys_mapper;location="./output/", prefix="SNOW",
suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Regrid outputs<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>regridDomainType regridDomains[]
<filesys_mapper; location="./output/",
prefix="REGRID_DOMAIN", suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Interpf outputs<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>mmInputDomainType mmInputDomains[]
<filesys_mapper; location="./output/",
prefix="MMINPUT_DOMAIN", suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>bdyOutDomainType bdyOutDomains[]
<filesys_mapper; location="./output/",
prefix="BDYOUT_DOMAIN", suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>lowBdyDomainType lowBdyDomains[]
<filesys_mapper; location="./output/",
prefix="LOWBDY_DOMAIN", suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// MM5 output arrays<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>mmOutputDomainType mmOutputDomains[]
<filesys_mapper; location="./output/",
prefix="MMOUTPUT_DOMAIN", suffix=".gz">;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>//
------------------------------------------------------------------------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// THE WORKFLOW: on demand weather forecast<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// ------------------------------------------------------------------------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Create the terrain centered on Chicago
Pier (two nest levels, max ground resolution 27km)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>terrainDomains =
terrain("-87.5992", "41.8919", 2);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Retrieve initial and boundary conditions
and prepare data files for next modules<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>//(dataFiles, sstFiles, snowFiles) =
pregrid( "20071207Z00", 24, initialData);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Prepare data for each nested domain...<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>foreach terrainDomain,i in terrainDomains<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  // Interpolate initial and boundary
conditions over the terrain model<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  //regridFiles[i] = regrid(
terrainDomain, dataFiles, sstFiles, snowFiles);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  // Perform more forward
interpolation and produce input data form MM5<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US> 
//(mmInputDomains[i],bdyOutDomains[i],lowBdyDomains[i]) = interpf(regridFiles[i]);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>// Run the model<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>//mmOutputDomains = mpp(terrainDomains,
mmInputDomains, bdyOutDomains, lowBdyDomains);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                                      
<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

</div>

</body>

</html>