[ncl-talk] eof script problems
Dennis Shea
shea at ucar.edu
Thu Aug 14 06:20:26 MDT 2014
Ditto what Will has stated.
NCL has many functions. Look-at/Search the function page. Examine both the
'Alphabetical' and 'Category'. Become familiar with it.
If you did a search for (say) 'month' you would find functions that do
things with or calculate monthly quantities. You may even find
https://www.ncl.ucar.edu/Document/Functions/Contributed/calculate_monthly_values.shtml
It is the user responsibility to read the documentation carefully.
===
If you are new to NCL:
[1] Please read the "Mini-Language Manual" at:
https://www.ncl.ucar.edu/Document/Manuals/
[2] Become familiar with the Examples page(s)
[3] Use printVarSummary(...) frequently when developing code.
Good Luck
On Thu, Aug 14, 2014 at 1:08 AM, Will Hobbs <Will.Hobbs at utas.edu.au> wrote:
> 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>
> Date: Thursday, 14 August 2014 4:43 PM
> To: "ncl-talk at ucar.edu" <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
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140814/808f93f5/attachment.html
More information about the ncl-talk
mailing list