5 day precipitation

Arindam Chakraborty arch at IO.MET.FSU.EDU
Tue Feb 7 15:21:42 EST 2006


hi Ben,
        you have an interesting problem to solve in grads. Probably
it is possible to get the count and I'm giving the expression below,
although I've not checked the answer thoroughly for my own data.
You may try it out and see if it makes sense.

If the threshold precipitation value is 'tenpanave' (you can
define it the way you want before the expression to calculate
the count, the way you showed the example in your mail).
Then, the count is nothing but
'count = sum(const(const(maskout(sum(prec,t+0,t+4),sum(prec,t+0,t+4)-tenpanave),1),0,-u),t=1,t=2918)'
...


Hope this helps,
----------------------------
 ARINDAM CHAKRABORTY
 Department of Meteorology
 Florida State University
 Tallahassee, FL-32306, USA
 Tel: +001-850-6443524 (Off)
      +001-850-5758550 (Res)
 Fax: +001-850-6449642
____________________________

On Tue, 7 Feb 2006, Ben Burford wrote:

> Hello All,
>
> I'm trying to implement a script.  I studied functions (e.g. tloop) and look
> ed in the archives for help, but so far its over my head as a beginner, I'm
> not even sure if Grads can do this.
>
> I have an 8 year (t=1,2922) global gridded daily precipitation data set.  Fo
> r each grid cell I want to go through the time series and check each five da
> y period (2918 possible 5 day periods) to see if the total of the precipitat
> ion for the five days is greater than a certain level, if it is I want to in
> crement a counter.  The result will be a single value (total count) for each
>  grid cell (global grid of a single value per grid cell).
>
> The value that I want to check the five day total against is "10% of the ann
> ual average rainfall" (tenpanave) which I'm calculating as follows (add up a
> ll the daily values for 8 years, divide by 8 to get the annual average, then
>  take 10% of that):
> tenpanave = 0.1*((sum(prec,t=1,t=2922))/8)
>
> A flow chart for the script might look like:
> * Calculate "10% of the annual average rainfall" (tenpanave)
> tenpanave = 0.1*((sum(prec,t=1,t=2922))/8)
>
> * calculate the precipitation over 5 days (5dayprec), if that 5 day total is
>  greater than or equal to ten percent of the annual average precipitation (t
> enpanave) for that grid cell, then increment the counter for that grid cell.
>   Perform this process for all grid cells, over the full time period of 2922
>  days (x from 1 to 2918).
> x=1
> 5dayprec=sum(prec,t=x,t=x+4)
> if 5dayprec is greater than or equal to tenpanave then count=count+1
> x=x+1
> if x=2919 then quit, else go up three steps and calculate the next 5 day win
> dow (5dayp)
>
> * Display results
> d count
>
>
> As I say, I don't know if this can be done with Grads.  Any help would be gr
> eatly appreciated.
>
> Thank you,
>
> Ben
>



More information about the gradsusr mailing list