Xi
Obviously, if you want the monthly climatology you could just take the mean for each month calculated using Dennis' function.
Or even easier, assuming you have a valid time array:
> timetmp = cd_calendar(time, -5) ;timetmp is an integer array with (/year,month,day,hour,min,sec/) foir each time step
>clim = new(12, typeof(x))
> do i = 1,12
> ii = ind(timetmp(:,1).eq.i) ;all values in month 'i'
> clm(i-1) = avg(ii) ;monthly climatology is the average of all values in month 'i'
> delete(ii)
> end do
Will
From: Xi Chang <xi.chang01@gmail.com<mailto:xi.chang01@gmail.com>>
Date: Thursday, 24 January 2013 10:19 AM
To: "ncl-talk@ucar.edu<mailto:ncl-talk@ucar.edu>" <ncl-talk@ucar.edu<mailto:ncl-talk@ucar.edu>>
Subject: Re: monthly mean climatology
Thank you for the hints. It worked fine but it just simply returned the values from daily to monthly not to monthly climatology. If anyone has an idea how to figure it out, i'll be really appreciate it.
Xi.
On Wed, Jan 23, 2013 at 10:22 AM, Dennis Shea <shea@ucar.edu<mailto:shea@ucar.edu>> wrote:
There are several approaches
[1] http://www.ncl.ucar.edu/Support/talk_archives/2012/1256.html
[2] there is an unsupported and undocumented function in
contributed.ncl: calculate_monthly_values
It requires a time coordinate variable associated
with the input variable 'x'. This time coordinate
variable must be udunits compatible:
"days since ...", "hours since ...", "seconds since ..."
See cd_calendar and cd_inv_calendar
;---------------------------------
; undocumented and unsupported
;---------------------------------
undef ("calculate_monthly_values")
function calculate_monthly_values (x:numeric, arith:string, nDim[1]:integer, opt[1]:logical)
; calculate monthly values [avg, sum, min, max]
; x: numeric array of 5D or less [eg: time,lev,lat,lon]
; *must* have time coordinate recognized by cd_calendar
; if 5D [case,time,lev,lat,lon]
; arith: "avg" [also, "ave"], "sum","min","max" others may be added later
; nDim : scalar integer that specifies the 'time' dimension [generally, 0]
; opt : option ... not used here
;
; Sample usage: x(time,lat,lon) where time are n-hrly or daily values.
; xMonthAvg = calculate_monthly_values(x, "avg", 0, False)
; xMonthSum = calculate_monthly_values(x, "sum", 0, False)
; xMonthMin = calculate_monthly_values(x, "min", 0, False)
; xMonthMax = calculate_monthly_values(x, "max", 0, False)
;
; It is assumed that there will be multiple elements for the dim_avg_n
; calculation.
;
On 1/22/13 4:32 PM, Xi Chang wrote:
Hallo NCL users,
does anyone has a trick how to calculate monthly mean climatology from
daily dataset?
Thank you for the help.
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Wed Jan 23 16:35:40 2013
This archive was generated by hypermail 2.1.8 : Wed Jan 23 2013 - 20:38:31 MST