Re: monthly mean climatology

From: Will Hobbs <Will.Hobbs_at_nyahnyahspammersnyahnyah>
Date: Wed Jan 23 2013 - 16:35:24 MST

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