sdfopen support for 365 day calendars

Jennifer Adams jma at COLA.IGES.ORG
Thu Apr 9 13:11:31 EDT 2009


The sdfopen code uses the first two time axis values to determine the
start time and increment of the time axis. It uses the udunits library
to convert the initial time axis value into a date format GrADS can
use (integers representing year, month, day, hour, and minute). The
udunits library does not support 365 day calendars, so the initial
date calculated by the library may be wrong. This problem is
particularly noticeable with some IPCC AR4 netcdf files. You can use
xdfopen with a 365-day-calendar netcdf file, as long as you specify
the time axis completely.
Jennifer


On Apr 9, 2009, at 3:25 AM, James T. Potemra wrote:

> Arlindo and others:
>
> I'm running version 2.0.a5.oga.3 on a 64-bit linux machine.  I get the
> following
> error when attempting to load netCDF output via sdfopen:
>
> SDF Error: 365 day calendars are no longer supported by sdfopen
>
> It works in 1.9.0-rc1, and I was wondering why this feature is no
> longer
> supported
> in 2.0.x versions.  Thanks,
>
> Jim
>
> Arlindo da Silva wrote:
>> All,
>>
>>   We just uploaded to sourceforge version 2.0.a5-oga.4 of the
>> OpenGrADS Bundle:
>>
>>
>> http://sourceforge.net/project/showfiles.php?group_id=161773&package_id=305032&release_id=674371
>> <http://sourceforge.net/project/showfiles.php?group_id=161773&package_id=305032&release_id=674371
>> >
>>
>>  As the previous OpenGrADS Bundle v2.0.a5-oga.3 this release is based
>> on COLA's GrADS v2.0.a5 and includes additional user defined
>> functions
>> and commands based on the OpenGrADS User Defined Extensions (see
>> original announcement of the OpenGrADS Bundle on this list for
>> important caveats; a complete list of extensions appear at the bottom
>> of this message.) Read more about bundles here:
>>
>>       http://opengrads.org/wiki/index.php?title=The_OpenGrADS_Bundle
>>
>> The current release fixes a few bugs, adds HTML documentation and
>> some
>> new features:
>>
>> * you can now specify up to 256 different colors (the previous limit
>> was 100 colors);
>> see attached plot.
>>
>> * the extensions gxyat now includes the new command set_rgba which
>> allows you to
>> specify a transparency level (alpha channel) for each defined color.
>>
>> * the original classic UDF regrid2(), written by Mike Fiorino in
>> Fortran, has been implemented
>> as a User Defined Extension, mostly as a device to fully test re(), a
>> replacement regrid
>> function written entirely in C. This release also includes minor bug
>> fixes in re().
>>
>> See ChangeLog below for additional information.
>>
>> The OpenGrADS extensions are replacements for the previous (classic)
>> User Defined Functions. These extensions are typically written in low
>> level programming languages such as C or Fortran. However, you can
>> now
>> write GrADS expression functions using the GrADS scripting language.
>> As an example, we have implemented the Suomen Saakeskus (Finnish
>> Weathercenter) collection of thunderstorm related functions
>> originally
>> developed by Stefan Gofferje as described in the following website:
>>
>>           http://www.saakeskus.fi/index.php
>>
>> Documentation for these functions are found here:
>>
>>          http://opengrads.org/doc/udxt/saakeskus/
>>
>> For example, to plot the storm relative helicity in the first 3km of
>> the atmosphere using GFS data try
>>
>> ga-> d srh3km(ugrdprs,vgrdprs)
>>
>> BTW, the NOMADS Browser now includes a "Zoom in/out" option under the
>> [Set Dim] menu; give it a try.
>>
>> Enjoy!
>>
>>    Arlindo
>>
>> --------------
>> ChangeLog
>> 2009-04-05 <dasilva at opengrads.org <mailto:dasilva at opengrads.org>>,
>> Version GrADS 2.0.a5.oga.4
>> * Added Steve Bloom's zooming scripts to merra/nomads GUIs
>> * Documentation.php: added
>> * doc/opengrads: added
>> * bundle/bundle_create.sh: docs now part of Bundle
>> * gagui.x: now Cmd call back expands %s into default var
>> * gacols.h: new defining file defining max number of colors;
>> the following files now make use of this information:
>>          - gauser.c
>>          - grads.h
>>          - gxX.c
>>          - gxeps.c
>>          - gxgif.c
>>          - gxps.c
>>          - gxsubs.c
>>        * gatypes.h: #ifdef so that it only gets included once
>> * gxudx.c: added function to update pst
>> * gxyat.c: expanded help for set_rgba, minor revisions
>> * extension/re/re.c: in short hand mode, default (1,1) is
>> no longer shifted by 1/2 delta lon, delta lat.
>> * acinclude.m4: when no supplibs are found, use ./null
>> * src/Makefile.am: again builds without the supplibs
>>
>> -------------
>>
>>               --- LIST  OF INCLUDED EXTENSIONS ---
>>
>>  User
>> Defined
>> COMMAND           Short Description                Function at Library
>> ---------- -----------------------------------
>> --------------------------
>> printenv   Expand environment variables         c_xenv@^env.gex
>> runenv     Expand env vars and run command      c_env@^env.gex
>> @          Expand env vars and run command      c_env@^env.gex
>> getenv     Get value of environment variable    c_getenv@^env.gex
>> setenv     Set value of environment variable    c_setenv@^env.gex
>> gxyat      Save images in PNG/SVG/PDF/PS        c_gxyat@^gxyat.gex
>> set_rgba   Set color red/green/blue/alpha       c_rgba@^gxyat.gex
>> hello      Hello, World! sample command         c_hello@^libhello.gex
>> ipc_verb   IPC verbose toggle                   c_Verb@^libipc.gex
>> ipc_open   Open stream for save/load            c_Open@^libipc.gex
>> ipc_close  Close stream                         c_Close@^libipc.gex
>> ipc_save   Save expression to stream            c_Save@^libipc.gex
>> ipc_define Define variable (obsolete)           c_Define@^libipc.gex
>> ipc_error  Print IPC error message              c_Error@^libipc.gex
>> cylprms    Properties relative to lon/lat       c_cylprms@^libmf.gex
>> shp_lines  Draw lines    from shapefile         c_lines@^shape.gex
>> shp_polyf  Draw polygons from shapefile         c_polyf@^shape.gex
>> ---------- -----------------------------------
>> --------------------------
>>
>>  User
>> Defined
>> FUNCTION          Short Description                Function at Library
>> ---------- -----------------------------------
>> --------------------------
>> lt         Less than operator                   f_bjt@^libbjt.gex
>> jd         Julian day                           f_bjt@^libbjt.gex
>> cosz       Cosine solar zenith angle            f_bjt@^libbjt.gex
>> dayratio   Daylight ratio                       f_bjt@^libbjt.gex
>> if         Conditional function                 f_bjt@^libbjt.gex
>> maxv       Maximum value                        f_bjt@^libbjt.gex
>> minv       Minimum value                        f_bjt@^libbjt.gex
>> which      Label gridpoints                     f_bjt@^libbjt.gex
>> ftest      F-test                               f_bjt@^libbjt.gex
>> ttest      T-test                               f_bjt@^libbjt.gex
>> tfit       Point  linear regression             f_bjt@^libbjt.gex
>> fit        Global linear regression             f_bjt@^libbjt.gex
>> tcorr2     Time correlation                     f_bjt@^libbjt.gex
>> tregr2     Point linear regression              f_bjt@^libbjt.gex
>> tmave2     Time averaging w/masking             f_bjt@^libbjt.gex
>> madvu      Calculates -d(u*EXPR)/dx             f_bjt@^libbjt.gex
>> madvv      Calculates -d(V*EXPR)/dy             f_bjt@^libbjt.gex
>> madvw      Calculates -d(W*EXPR)/dp             f_bjt@^libbjt.gex
>> muadv      Zonal advection                      f_bjt@^libbjt.gex
>> mvadv      Meridional advection                 f_bjt@^libbjt.gex
>> mwadv      Vertical advection                   f_bjt@^libbjt.gex
>> satvap     Saturated vapor pressure             f_bjt@^libbjt.gex
>> dew        Dew point temperature                f_bjt@^libbjt.gex
>> lw         Thermal infrared fluxes              f_bjt@^libbjt.gex
>> lw2        Thermal infrared fluxes v2           f_bjt@^libbjt.gex
>> pinterp    Pressure interpolation               f_bjt@^libbjt.gex
>> zinterp    Height interpolation                 f_bjt@^libbjt.gex
>> line       Draws a line                         f_bjt@^libbjt.gex
>> vint2      Mass-weighted vertical integral      f_bjt@^libbjt.gex
>> fish       Poisson solver                       f_fish@^fish.gex
>> fish_psi   Compute streamfunction               f_psichi@^fish.gex
>> fish_chi   Compute velocity potential           f_psichi@^fish.gex
>> fish_vor   Compute vorticity                    f_psichi@^fish.gex
>> fish_div   Compute divergence                   f_psichi@^fish.gex
>> dewpt      Dew-point temperature                f_gsudf@^gsudf.gex
>> ept        Equivalent potential temperature     f_gsudf@^gsudf.gex
>> epi        Potential Instability                f_gsudf@^gsudf.gex
>> plcl       Pressure at LCL                      f_gsudf@^gsudf.gex
>> shear      Wind Shear                           f_gsudf@^gsudf.gex
>> srh1km     Storm-relative Helicity 0-1km'       f_gsudf@^gsudf.gex
>> srh3km     Storm-relative Helicity 0-3km'       f_gsudf@^gsudf.gex
>> tlcl       Temperature at LCL                   f_gsudf@^gsudf.gex
>> tsindex    Chance of T-storm Initiation         f_gsudf@^gsudf.gex
>> ttindex    Total Totals Index                   f_gsudf@^gsudf.gex
>> wchill     Wind Chill Index (New)               f_gsudf@^gsudf.gex
>> hello      Hello, World! sample function        f_hello@^libhello.gex
>> ipc_save   Save expression to stream            f_Save@^libipc.gex
>> ipc_load   Load variable from file              f_Load@^libipc.gex
>> smth2d     Shuman smoother/de-smoother          f_smth2d@^libmf.gex
>> uv2trw     Find radial/tangential velocity      f_uv2trw@^libmf.gex
>> re2        General interpolator (regrid2)       f_re2@^libmf.gex
>> esmrf2     Saturation vapor pressure (old MRF)  f_esmrf2@^libmf.gex
>> linreg2    Linear regression: mx + b            f_linreg2@^libmf.gex
>> re         General interpolator                 ffre@^re.gex
>> re_        General interpolator (verbose)       ffre_dbg@^re.gex
>> regrid2    regrid2-like wrapper for re()        f_gsudf@^gsudf.gex
>> reimg      Interpolation for Image Generation'  f_gsudf@^gsudf.gex
>> re         General interpolator                 ffre@^re.gex
>> re_        General interpolator (verbose)       ffre_dbg@^re.gex
>> regrid2    regrid2-like wrapper for re()        f_gsudf@^gsudf.gex
>> reimg      Interpolation for Image Generation'  f_gsudf@^gsudf.gex
>> sh_filt    Spherical harmonic filter            f_shfilt@^shfilt.gex
>> sh_power   Spherical harmonic spectra           f_shpowr@^shfilt.gex
>> ---------- -----------------------------------
>> --------------------------
>>
>>
>>
>> --
>> Arlindo da Silva
>> dasilva at alum.mit.edu <mailto:dasilva at alum.mit.edu>
>>
>> ------------------------------------------------------------------------
>>

--
Jennifer M. Adams
IGES/COLA
4041 Powder Mill Road, Suite 302
Calverton, MD 20705
jma at cola.iges.org



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20090409/f2ed97e5/attachment.html 


More information about the gradsusr mailing list