Welcome to the OpenGrADS Wiki
This is the official Wiki for the OpenGrADS Project. Here you will find most of the documentation on interfaces and extensions being developed, for both developers and end users.
What is OpenGrADS?
OpenGrADS is a project devoted to development of interfaces and extensions for the Grid Analysis and Display System (GrADS) developed by Brian Doty and collaborators since the late 1980's. GrADS is an interactive desktop tool that is used for easy access, manipulation, and visualization of earth science data. The format of the data may be either binary, GRIB, NetCDF, or HDF-SDS (Scientific Data Sets). GrADS has been implemented worldwide on a variety of commonly used operating systems and is freely distributed over the Internet, in the form of binaries and source code; GrADS is licensed under the GNU Public License.
The OpenGrADS Project aims at improving GrADS extensibility by
- developing a framework for high performance user defined commands and user defined functions, allowing users to add their own dynamically linked plugins;
- developing interfaces to modern scripting languages such as Perl and Python, as as well as to scientific tools such as IDL, Octave and Matlab, so that more powerful GrADS based applications can be developed and integrated into other existing community efforts;
- establishing a central location for collaborative development of packages for GrADS, coordinating the development of extensions in critical areas;
- providing a central repository of such extensions for the end-user.
The OpenGrADS Project intends to complement the core GrADS development going on at COLA/IGES, although from time to time patches to COLA releases will be necessary to enable the latest OpenGrADS extensions.
As of this writing, the current release of GrADS is Version 1.9 and a major rewrite first became available in late Januaru 2008: GrADS Version 2. The development of interfaces and extensions in OpenGraDS have started with GrADS Version 1.9, and migration to Version 2 has started. It is expected that the basic concepts of interfaces through bi-directional pipes and extensions by means of dynamic linking should carry over to Version 2, but some porting will be necessary due the change internal data structures from Version 1 to Version 2. For this reason any new development will concentrate on Version 2, and the Version 1 development is being made available mostly for reference.
OpenGrADS development is currently active in the following areas:
- Supplibs: an unified (static) build of GrADS dependencies primary aimed at binary distributions by developers.
- Interfaces: allow GrADS to be started and steered from these environments
- Java and Matlab (through Jython) - limited functionatity
- IDL - limited functionality, need volunteer
- PHP - in development, not yet released
- TCL - in development, not yet released
- Octave - pre-alpha quality , need volunteer
We are interested in developing interfaces to the following environments and are seeking volunteers to take this on. If you would like to get involved please contact the developers through the open-discussion forum.
- .NET (through IronPython)
- Dynamic Extensions: a mechanism for adding functions and commands in GrADS by means of dynamic linked libraries (shared objects)
- User defined commands
- User defined functions
Consult the OpenGrADS Documentation for additional information on these activities.
A compilation of Frequently Asked Questions is available.