Calculating Percentiles in GrADS
Stephen R McMillan
smcmillan at PLANALYTICS.COM
Tue Apr 29 10:27:36 EDT 2008
Thanks Arlindo...sounds promising! I'll try your suggestion and will let
you know how it turned out.
Stephen Mc
Arlindo da Silva <dasilva at ALUM.MIT.EDU>
Sent by: GRADSUSR at LIST.CINECA.IT
04/28/2008 11:14 PM
Please respond to
GRADSUSR at LIST.CINECA.IT
To
GRADSUSR at LIST.CINECA.IT
cc
Subject
Re: Calculating Percentiles in GrADS
Stephen,
This is the kind of problem that can be easily solved in PyGrADS. For
example, the module Pylab implements several Matlab compatible functions,
in particular prctile() which computes percentiles. The overall approach
is:
1. Open the file
2. Export the GrADS variables, say the 3D time/lat/lon array, to Python
3. Transpose the array and use prctile() to compute the percentiles in
each gridpoint, transposing the array back in the end
4. At this point you can chose to plot the results in Python (with
Matplotlib) or in GrADS; see sample plots attached.
I am including a self contained script which does the above calculation on
the sample "slp_djf.nc" file that is included as test data (either in
PyGrADS tarball or in the Win32 superpack). Your particular application
will involve a bit more programming for selecting the timeseries for each
day of the year, but I hope this script gives you the general idea.
You can download PyGrADS (including the Win32 Superpck version) from
sf.net:
http://sourceforge.net/project/showfiles.php?group_id=161773&package_id=256758
You can find some documentation on the Wiki:
http://opengrads.org/wiki/index.php?title=Python_Interface_to_GrADS
Let me know if you have questions,
Good Luck,
Arlindo
On Mon, Apr 28, 2008 at 2:34 PM, Stephen R McMillan <
smcmillan at planalytics.com> wrote:
I found nothing in the user archives to address this question: Is there a
relatively simple way to calculate various percentiles in GrADS? For
example:
1. Assume I have a 30-year dataset of daily mean temperature values for
an x-y domain, contained in a single 3D (x,y,t) gridded file
2. Desired output: a single 3D gridded file containing 11 variables for
each gridpoint, per day of year (excluding Feb 29th): 0th pcntile, 10th
pcntile, 20th pcntile...100th pcntile. In other words, there would be 30
data values to analyze per grid location (each Jan 1st, each Jan
2nd...each Dec 31st).
My alternative would be to evaluate text output in Excel then re-convert
to gridded, but I'd prefer to keep in GrADS.
I'm using GrADS v1.9.0-rc1 (win32) on Win XP Pro.
Stephen Mc
***************************************************
The information contained in this e-mail message is intended only for the
use of the recipient(s) named above and may contain information that is
privileged, confidential, and/or proprietary. If you are not the intended
recipient, you may not review, copy or distribute this message. If you
have received this communication in error, please notify the sender
immediately by e-mail, and delete the original message.
***************************************************
--
Arlindo da Silva
dasilva at alum.mit.edu [attachment "py_prctiles_50.png" deleted by Stephen
R. McMillan/Planalytics] [attachment "ga_prctiles_50.png" deleted by
Stephen R. McMillan/Planalytics] [attachment "percentile.py" deleted by
Stephen R. McMillan/Planalytics]
***************************************************
The information contained in this e-mail message is intended only for the use of the recipient(s) named above and may contain information that is privileged, confidential, and/or proprietary. If you are not the intended recipient, you may not review, copy or distribute this message. If you have received this communication in error, please notify the sender immediately by e-mail, and delete the original message.
***************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20080429/4ace732a/attachment.html
More information about the gradsusr
mailing list