<div dir="ltr">Hey Jeff (and Jim),<div><br></div><div>Thanks for the replies!</div><div><br></div><div>I download and process all plots one at a time because I download them in real-time, as they become available. Not all files are available at the same time, unless ftpprd's NOMADS server is slow to replicate the data, heh. Everything works great having something (again simple, but still the majority jist of the code) like this:</div><div><br></div><div><div>'open /gfsmodeldata/gfs.ctl'</div><div>'set dfile 1'</div></div><div><br></div><div>'set tonsofoptions'</div><div>'set tonsofoptions1'<br></div><div>'set tonsofoptions2'<br></div><div><br></div><div><div style="font-size:12.8px">if (t=2)<br></div><div style="font-size:12.8px"><div>'set t 2'<br></div><div>'define t2m06 = tmp2m-273.15'<br></div><div><br></div><div>'define t2mtotal= t2m06' <br></div><div>'d t2mtotal'<br></div><div>endif</div><div><br></div><div>if (t=3)</div><div><div>'set t 2'<br></div><div>'define t2m06 = tmp2m-273.15'<br></div><div><br></div></div><div>'set t 3'</div><div>'define t2m12 = tmp2m-273.15'</div><div><br></div><div>'define t2mtotal= t2m06+t2m12' <br></div><div>'d t2mtotal'<br></div><div>endif</div></div><div style="font-size:12.8px"><br></div><div style=""><div style="font-size:12.8px">if (t=4)</div><div style="font-size:12.8px"><div>'set t 2'<br></div><div>'define t2m06 = tmp2m-273.15'<br></div><div><br></div></div><div style="font-size:12.8px">'set t 3'</div><div style="font-size:12.8px">'define t2m12 = tmp2m-273.15'</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div>'set t 4'</div><div>'define t2m18 = tmp2m-273.15'</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">'define t2mtotal= t2m06+t2m12+t2m18' <br></div><div style="font-size:12.8px">'d t2mtotal'<br></div><div style="font-size:12.8px">endif</div><div style="font-size:12.8px"><br></div><div style=""><div style=""><span style="font-size:12.8px">'set string 1 tl 0 0'</span></div><div style=""><span style="font-size:12.8px">'set strsiz 0.13'</span></div><div style=""><span style="font-size:12.8px">'draw string 0.4 8.35 Sample String'</span></div><div style=""><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px">But as I said I was just curious if there was an easier way than having to have a huge IF block to do it. I'm going to play with Jims example since that may very well work after I play with it.</span></div><div style=""><span style="font-size:12.8px"><br></span></div></div></div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 20, 2015 at 7:28 PM, Jeff Duda <span dir="ltr"><<a href="mailto:jeffduda319@gmail.com" target="_blank">jeffduda319@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>If you're trying to process the files one-by-one (and I'm assuming each file represents only one time step), then I don't see a simple way of integrating over time as you desire. Is there a specific reason you are not doing a batch download (of all the files first)? Also, if you really are going to do this sequentially, I would think you'd have to include the shell command prompt (!) in your script so that you could create a control file and open it as you go through the times. I didn't see that in your code example.<br><br></div>Basically, what I'm trying to say is, coding wise, it would be much easier if you just downloaded all the files first, then processed them all at once. If you absolutely must process the files sequentially, I think you're going to be stuck hard coding each and every step.<br><br></div>Jeff Duda<br></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Tue, Oct 20, 2015 at 2:24 PM, James T. Potemra <span dir="ltr"><<a href="mailto:jimp@hawaii.edu" target="_blank">jimp@hawaii.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Christopher,<br>
<br>
How about this, e.g., for the first 10 time steps:<br>
<br>
'set t 1 10'<br>
'define t2mtotal = sum ( tmp2m-273.15, t=1, t+0 )'<br>
'd t2mtotal'<br>
<br>
Jim<div><div><br>
<br>
<div>On 10/20/15 3:42 AM, Christopher Gilroy
wrote:<br>
</div>
</div></div><blockquote type="cite"><div><div>
<div dir="ltr">Ok, so I know I can 'easily' do this via a massive
if block but I'm trying to avoid that, and I have been. I have a
calculation that will return a unique value depending on which t
it's running on.
<div><br>
</div>
<div>So when I get to t=10 I need to run a calculation on data
contained in t=1, t=2, t=3, etc. t=20 would need to run the
calculation t=1, t=2, t=3, etc up to t=20. The actual value of
of each t would be the same for the entire run if that helps
to understand though.</div>
<div><br>
</div>
<div>So take this horrible example:</div>
<div><br>
</div>
<div>'define t2m = tmp2m-273.15'<br>
</div>
<div>'d t2m+allpreviousforecasthourt2ms'</div>
<div><br>
</div>
<div>Now, the other key is that I don't download all files and
then run in one big loop. I download each file one-by-one and
process one-by-one, in real-time, as they are released.</div>
<div><br>
</div>
<div>A real snippet of how I'm currently achieving this would
look like:</div>
<div><br>
</div>
<div>if (t=2)<br>
</div>
<div>
<div>'set t 2'<br>
</div>
<div>'define t2m06 = tmp2m-273.15'<br>
</div>
<div><br>
</div>
<div>'define t2mtotal= t2m06' <br>
</div>
<div>'d t2mtotal'<br>
</div>
<div>endif</div>
<div><br>
</div>
<div>if (t=3)</div>
<div>
<div>'set t 2'<br>
</div>
<div>'define t2m06 = tmp2m-273.15'<br>
</div>
<div><br>
</div>
</div>
<div>'set t 3'</div>
<div>'define t2m12 = tmp2m-273.15'</div>
<div><br>
</div>
<div>'define t2mtotal= t2m06+t2m12' <br>
</div>
<div>'d t2mtotal'<br>
</div>
<div>endif</div>
</div>
<div><br>
</div>
<div>
<div>if (t=4)</div>
<div>
<div>'set t 2'<br>
</div>
<div>'define t2m06 = tmp2m-273.15'<br>
</div>
<div><br>
</div>
</div>
<div>'set t 3'</div>
<div>'define t2m12 = tmp2m-273.15'</div>
<div><br>
</div>
<div>
<div>'set t 4'</div>
<div>'define t2m18 = tmp2m-273.15'</div>
</div>
<div><br>
</div>
<div>'define t2mtotal= t2m06+t2m12+t2m18' <br>
</div>
<div>'d t2mtotal'<br>
</div>
<div>endif</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>So, whether t2m06 is ran during hour 06, 12, 18, 240, etc
t2m06 is going to be the exact same value. As you can see, the
if blocks get exponentially bigger each t and that's what
concerns me in terms of grads memory limits or if there's
simply a better/faster approach.</div>
<div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><pre>_______________________________________________
gradsusr mailing list
<a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a>
<a href="http://gradsusr.org/mailman/listinfo/gradsusr" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a>
</pre>
</blockquote>
<br>
</div>
<br>_______________________________________________<br>
gradsusr mailing list<br>
<a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a><br>
<a href="http://gradsusr.org/mailman/listinfo/gradsusr" rel="noreferrer" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br>
<br></blockquote></div><br><br clear="all"><br></div></div><span class="HOEnZb"><font color="#888888">-- <br><div>Jeff Duda<br>Graduate research assistant<br>University of Oklahoma School of Meteorology<br>Center for Analysis and Prediction of Storms<br></div>
</font></span></div>
<br>_______________________________________________<br>
gradsusr mailing list<br>
<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a><br>
<a href="http://gradsusr.org/mailman/listinfo/gradsusr" rel="noreferrer" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">-Chris A. Gilroy</div>
</div>