OpenGrADS Bundle v2.0.a5.oga.1 available

Arlindo da Silva dasilva at ALUM.MIT.EDU
Tue Feb 24 15:19:57 EST 2009

Dear GrADS Users,

I have started uploading to sources and binaries for the
OpenGrADS Bundle based on COLA's 2.0.a5 release:

The OpenGrADS Bundle is a new way of packaging GrADS builds that
is somewhat inspired by my experience with the Win32
Superpacks. The idea is to have a single package that require
no (minimum?) configuration and that is easily relocatable (say to
a USB memory stick).  The structure of an OpenGrADS Bundle is
described here:

Once you download the tarball take a look at the INSTALL
file. You can install it as a Bundle (highly recommended) or
simply install the binaries the same way you did in the past.

Note: The Windows build will be available soon, for now only Mac OS X,
Linux and FreeBSD.

New Features

This version is based on COLA's 2.0.a5 release which includes
support for GeoTIFF and KML, as well as bug fixes. See the
ChangeLog for details.  In addition, several OpenGrADS specific
enhancements have been introduced:

- The executable *grads* is now built with NetCDF v4.0.1beta3
  which includes support for NetCDF-4/HDF-5 (similar to gradsnc4
  in v1.9.0-rc1) and has built in OPeNDAP support. This binary
  can handle all supported formats: NetCDF-3 (classic NetCDF),
  NetCDF-4/HDF-5, HDF-4, GRIB-1/2 and grads binaries.

- The executable *gradsdap* is no longer built as its
  functionality is now included in the single executable
  *grads*. In the OpenGrADS bundle *gradsdap* simply points
  to *grads*.

- We have introduced option -C to enable colorized text (see attached).
  Try "-C 0", "-C 1" and "-C 2" for different color schemes.

- User defined extensions, see below.

Trying it out

Assuming you did a "bundle instalation" you can start the *grads*
executable at the top directory (under Contents/ in the tarball):

 % grads

Alternatively you can start the executable *opengrads* which by
default comes up with colorized text and a readline history that
is preserved from session to session (grads standard option -H).

You can also start the executable

 % merra

which will automatically start the Athena GUI script described in
this recipe:

You can try one of the extensions which are documented here:

In particular the spherical harmonic filter:

  ga-> @ open $GADSET/model
  ga-> d sh_filt(ps,6)

The output is attached.

OpenGrADS Extensions

This version includes a *preview* release of the OpenGrADS
Extensions.  The same extensions previously released by the
OpenGrADS project with GrADS 1.9.0-rc1 are now available with
GrADS v2.0, with the addition of some new ones: libmf (from Mike
Fiorino) and a new spherical harmonic filter, sh_filt().
Documentation for these user defined functions/commands can be
found here:


                           IMPORTANT CAVEAT

    As COLA has not yet published the official API for User Defined
    functions in GrADS v2.0 we have adopted here an API that is
    based on our work with v1.9.0-rc1. This is a very low-level
    API that is *not* endorsed by COLA. As such, it is *not*
    advisable that users adopt this API to write their own
    extensions.  Furthermore, the extensions as implemented here
    are tied to a specific version of GrADS and should always be
    built in the context a given GrADS source tree.

Disclaimer: Testers needed

These extensions are still being fully tested and should be
considered *experimental* at best. Please report any problem you
encounter.  Use them at your own risk.

List of Extensions Included

  COMMAND           Short Description                Function at Library
 ---------- -----------------------------------  --------------------------
 gsudf      Initialize gs-function package       c_gsudf@^gsudf.gex
 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
 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
 mfhilo     Find max/min or H/L in 2D field      c_mfhilo@^libmf.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
 ---------- -----------------------------------  --------------------------

  FUNCTION          Short Description                Function at Library
 ---------- -----------------------------------  --------------------------
 speed      Wind-speed (sample gs-function)      f_gsudf@^gsudf.gex
 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
 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
 re         General interpolator                 ffre@^re.gex
 sh_filt    Spherical harmonic filter            f_shfilt@^shfilt.gex
 sh_power   Spherical harmonic spectra           f_shpowr@^shfilt.gex
 ---------- -----------------------------------  --------------------------

Building it

To build it, get pre-compiled (or build it yourself) supplibs-2.1.0 from

Untar and setup the supplibs as explained here

Then follow the usual procedure

% tar xvfz grads-x.y.x-$platform.tar.gz
% cd grads-x.y.z...
% ./configure
% make
% make check (to run the automated tests)

And then to create a bundle under ./opengras type

% bundle/

Give it a try

% cd opengrads/

and take a look ar README and INSTALL. Try this:

% cd opengrads/Contents
% ./merra

To make a distribution tarball with the bundle

% make bundle-dist

Keep checking the OpenGrADS WIki for updated documentation:

  Let me know if you have problems.


Arlindo da Silva
dasilva at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: colorized.png
Type: image/png
Size: 98769 bytes
Desc: not available
Url : 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sh_filt.png
Type: image/png
Size: 130560 bytes
Desc: not available
Url : 

More information about the gradsusr mailing list