Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Geophysical Data Analysis Tool (GeoDAT)'s documentation

GeoDAT is a python library that provides utilities for handling, analysing and visualising geophysical climate data. Here are just a few of the functions of GeoDAT:

  • Extract data from and write to NetCDF files
  • Associate variables with dimensions
  • Maintain the consistency between the variable data and the dimension axes
  • Handle time and calendar
  • Handle convergence of meridians on a latitude-longitude grid
  • Frequently used functions such as time average, climatology etc.

See full documentation here.


After downloading the source, simply do

python install

Python setuptools will attempt to install required packages. But in case of missing system level libraries, error messages will be shown. You may need to manually install some libraries on your machine.

Required system-level libraries for build

  • liblapack-dev
  • libblas-dev
  • gfortran
  • libgeos-dev
  • libhdf5-serial-dev
  • libnetcdf-dev
  • python-sphere

Required Python packages (requirements.txt)

  • matplotlib
  • numpy
  • six
  • scipy
  • python-dateutil
  • basemap
  • pyspharm
  • netCDF4

Language support

  • Python 2.7

Quick References

Extracting variable from a NetCDF file

You can use :py:func:`` for extracting one variable and its associated dimensions from a NetCDF file.

.. autofunction::

  >>> import geodat

  >>> # Extract sea surface temperature from a file
  >>> # "sst" is the variable name
  >>> sst ="", "sst")
  >>> print sst
  < sst(time,lat,lon), shape: (120, 180, 360)>

Print basic info about a Variable

< sst(time,lat,lon), shape: (120, 180, 360)>
    sst:_FillValue = 1e+20
    sst:standard_name = sst
    sst:description = HadISST 1.1 monthly average sea surface temperature Climatology
    sst:long_name = Monthly 1 degree resolution SST
    sst:units = degK
    sst:history = ; From file:
Dim: time = 15.5:349.7425 Unit: days since 0001-01-01 00:00:00
Dim: lat = -89.5:89.5 Unit: degrees_north
Dim: lon = 0.5:359.5 Unit: degrees_east

Computing time average

>>> print sst
< sst(time,lat,lon), shape: (120, 180, 360)>
>>> sst_tave = sst.time_ave()
>>> print sst_tave
< sst(time,lat,lon), shape: (1, 180, 360)>


Python Library for Geophysical data




No releases published


No packages published