[gradsusr] Using a calculation against all previous hours in current hour.
Jeff Duda
jeffduda319 at gmail.com
Tue Oct 20 19:28:41 EDT 2015
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.
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.
Jeff Duda
On Tue, Oct 20, 2015 at 2:24 PM, James T. Potemra <jimp at hawaii.edu> wrote:
> Christopher,
>
> How about this, e.g., for the first 10 time steps:
>
> 'set t 1 10'
> 'define t2mtotal = sum ( tmp2m-273.15, t=1, t+0 )'
> 'd t2mtotal'
>
> Jim
>
>
> On 10/20/15 3:42 AM, Christopher Gilroy wrote:
>
> 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.
>
> 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.
>
> So take this horrible example:
>
> 'define t2m = tmp2m-273.15'
> 'd t2m+allpreviousforecasthourt2ms'
>
> 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.
>
> A real snippet of how I'm currently achieving this would look like:
>
> if (t=2)
> 'set t 2'
> 'define t2m06 = tmp2m-273.15'
>
> 'define t2mtotal= t2m06'
> 'd t2mtotal'
> endif
>
> if (t=3)
> 'set t 2'
> 'define t2m06 = tmp2m-273.15'
>
> 'set t 3'
> 'define t2m12 = tmp2m-273.15'
>
> 'define t2mtotal= t2m06+t2m12'
> 'd t2mtotal'
> endif
>
> if (t=4)
> 'set t 2'
> 'define t2m06 = tmp2m-273.15'
>
> 'set t 3'
> 'define t2m12 = tmp2m-273.15'
>
> 'set t 4'
> 'define t2m18 = tmp2m-273.15'
>
> 'define t2mtotal= t2m06+t2m12+t2m18'
> 'd t2mtotal'
> endif
>
>
>
> 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.
>
>
> _______________________________________________
> gradsusr mailing listgradsusr at gradsusr.orghttp://gradsusr.org/mailman/listinfo/gradsusr
>
>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>
--
Jeff Duda
Graduate research assistant
University of Oklahoma School of Meteorology
Center for Analysis and Prediction of Storms
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20151020/f4e5d69a/attachment.html
More information about the gradsusr
mailing list