[ncl-talk] eof script problems
Will Hobbs
Will.Hobbs at utas.edu.au
Thu Aug 14 01:08:49 MDT 2014
James
As the name of function might suggest month_to_season() is designed to convert monthly data to seasonal data; it's not designed to work with 4xtimes daily data. If in doubt about any function, your first step should ALWAYS be to consult the NCL help page for that function (http://www.ncl.ucar.edu/Document/Functions/Contributed/month_to_season.shtml)
There is a page listing all of NCL's functions: http://www.ncl.ucar.edu/Document/Functions/climo.shtml, at the moment they only work with monthly or daily data, so you will have to use a different approach.
My advise would be to use one of NCL's date functions (http://www.ncl.ucar.edu/Document/Functions/date.shtml) to find all the data points for a given season. I've given an example below to calculate the seasonal mean for Jan-Mar (JFM), whcih you can adjust to your own purposes. This assumes that your data has an appropriate time coord system, which I'm calling 'time' here. Lt's say you have an array, x, dimensioned (time,lat,lon)
> nyr = yren - yrst+1 ;yrst and yren are the forst and last years in x
> xSeas = x(:nyr-1,:,:) ; nyr is the number of years in your data set
>year = span(yrst, yren,1) ; integer array of all years in the range
> tdat = cd_calendar(x&time, -5) ; converts time to a multidimensional array giving year, month, day, time etc for each time step
> do yy = 0, nyr-1
> ii = ind(tdat(:,0).eq.year(yy).and.tdat(:,1).ge.1.and.tdat(:,1).le.3) ;location of all times in given year, that are between Jan (1) and March(3)
> xSeas(yy,:,:) = dim_avg_n(x(ii,:,:), 0) ; get average of all those data points
> delete(ii)
> end do
Hope that helps. Don't forget that there is an enormous amount of help to be gained by on the NCL website; it has a search function which includes archived 'ncl-talk' posts. Nine times out of ten somebody else will have come across the same problem.
Will
From: James Ciarlo` <james.ciarlo at physics.org<mailto:james.ciarlo at physics.org>>
Date: Thursday, 14 August 2014 4:43 PM
To: "ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>" <ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>>
Subject: [ncl-talk] eof script problems
Dear NCL users,
I am new to NCL and am trying to modify an eof script to suit a different dataset.
The data the script is designed for uses a command month_to_season but since my data is not monthly but rather 4 time daily, I need an alternative method. And in fact running the script gives me the following error (to start with, as I am sure fixing this will result in numerous other errors later but lets start with this)
(0) contributed.ncl: month_to_season: dimension must be a multiple of 12
Regards,
James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140814/3a14fbb4/attachment.html
More information about the ncl-talk
mailing list