Skip to content

joshcoden/py3grads

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Py3GrADS is a Python module providing an interface to the GrADS meteorological plotting program.
This interface is independent from but inspired by Arlindo da Silva's work on PyGrADS. As of this
writing, PyGrADS doesn't support Python 3, and Py3GrADS was developed to fill this hole. Py3GrADS
lacks some of the deeper features of PyGrADS, but has some unique functionality of its own as well.

---------------------------
       DEPENDENCIES
---------------------------

Py3GrADS requires NumPy and a working GrADS installation.
Py3GrADS has only been tested with GrADS v2.1.a3 and v2.1.0.

---------------------------
       INSTALLATION
---------------------------

git clone https://github.com/meridionaljet/py3grads
cd py3grads
python setup.py install

---------------------------
           USAGE
---------------------------

The primary purpose of Py3GrADS is to pass commands directly to an instance of GrADS
from within a Python script. To this end, this module centers around a GrADS object,
which can be initialized like this:

>>> from py3grads import Grads
>>> ga = Grads(verbose=False)

Then GrADS commands can be passed as strings to this object:

>>> ga('open mslp.ctl')
>>> out, rc = ga('query file')

Note that the output and return code can be extracted from any GrADS command.

Py3GrADS has built-in methods for easily analyzing the GrADS dimension environment:

>>> env = ga.env()
>>> if not env.xfixed:
>>>     print('Current longitude range: {0}-{1}'.format(env.lon[0], env.lon[1]))
>>> print('Number of grid points in the x-direction: '+str(env.nx))
>>> print('Time set to: '+str(env.time))

This makes GrADS scripting much easier for many tasks.

In addition, Py3GrADS can extract grids directly into NumPy arrays:

>>> ga('define mslp = prmslmsl/100')
>>> mslp = ga.exp('mslp')
>>> lons = ga.exp('lon')
>>> lats = ga.exp('lat')
>>> from matplotlib import pyplot as plt
>>> plt.contourf(lons, lats, mslp)

About

Python 3 Interface to GrADS

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%