skip to navigation
skip to content

spacegrids 1.4.8

numpy array with grids and associated operations

Package Documentation

Latest Version: 1.9


The Python 2.7 Spacegrids module, “Numpy on grids”, provides useful classes for analyzing spatial data defined on grids (e.g. covering the Earth’s surface). It interprets Netcdf metadata, and is designed to ensure consistency between data and grid information via interacting objects of fields, grids, coordinates and axes. It provides intuitive short expressions for complex operations, including volume and distance related concepts such as integration and differentiation.

Interprets metadata for most climate model output and datasets in Netcdf format, and is confirmed to work with UVic (all versions), CSIRO Mk3L, FAMOUS, CCM3.6 (Atmosphere), Levitus Data. If you have problems reading data and/ or interpreting metadata (or find a bug), the author would be happy to take a look (see also Github for email etc).

Installs by typing “pip install spacegrids” on command line. On Mac, pip can be installed via “sudo easy_install pip”. On Ubuntu/ Debian, install dependencies via package manager if pip install fails:

apt-get install python-{tk,numpy,matplotlib,scipy}

Documentation on more advanced use: Older documentation:

The following import statement provides all functionality:

import spacegrids as sg

Once loaded, sg allows an overview of the available data via A project object is created via P = sg.project(D[‘some_project’]). This then allows fields to be loaded automatically for all experiment subdirectories. Data grids are constructed based on the Netcdf metadata.


Before using projects, Netcdf data must be organised in a projects directory tree. Create a directory named PROJECTS inside your home directory (by default), to contain all the data for all the projects. Then create a subdirectory for each of your projects, say one is called test_project. When using and sg.project with the nonick = True argument (see documentation), this is all that is needed to allow the sg module to recognise these subdirectories as representing projects. This will allow the sg Python code to regard all Netcdf files placed directly inside test_project as belonging to individual experiments. Alternatively, instead of a single file, a subdirectory may represent an experiment. So directories inside the test_project directory are associated with output from a single experiment each, where all Netcdf files contained within are interpreted as belonging to that same experiment.

To get started in ipython:

import spacegrids as sg #some init statements

D = = True) # obtain a dictionary of projects P = sg.project(D[‘my_project’]) # init a project object for my_project on disk P.load([‘temperature’,’u’]) # load 2 variables into the project.

for c in P[‘some_experiment’].axes:
exec + ‘ = c’ # obtain the axes under their names T, X, Y, Z in namespace

# some examples:

TEMP = P[‘some_experiment’][‘temperature’] U = P[‘some_experiment’][‘u’] TEMP_sliced = TEMP[Y,:50] # slicing TEMP_sliced/(X*Y) # vertical profile of temp south of grid point 50 TEMP( # temperature regridded (interpolated) on u-grid.

The following python modules are required:

numpy matplotlib (requires python-tk) scipy

To obtain pip on Ubuntu/ Debian: (sudo) apt-get install python-pip.

File Type Py Version Uploaded on Size
spacegrids-1.4.8-py2.7.egg (md5) Python Egg 2.7 2014-06-19 145KB
spacegrids-1.4.8.tar.gz (md5) Source 2014-06-19 66KB