Python/numpy interface to the netCDF C library.
For the latest updates, see the Changelog.
9/23/2015: Version 1.2.0 released. New features:
-
get_variables_by_attributes
Dataset
andGroup
method for retrieving variables that have matching attributes. -
Support for Enum data types.
-
isopen
Dataset
method.
7/28/2015: Version 1.1.9 bugfix release.
5/14/2015: Version 1.1.8 released. Unix-like paths can now be used in createVariable
and createGroup
.
v = nc.createVariable('/path/to/var1', ('xdim', 'ydim'), float)
will create a variable named 'var1', while also creating the groups 'path' and 'path/to' if they do not already exist.
Similarly,
g = nc.createGroup('/path/to')
now acts like mkdir -p
in unix, creating groups 'path' and '/path/to',
if they don't already exist. Users who relied on nc.createGroup(groupname)
failing when the group already exists will have to modify their code, since
nc.createGroup
will now return the existing group instance.
Dataset.__getitem__
was also added. nc['/path/to']
now returns a group instance, and nc['/path/to/var1']
now returns a variable instance.
3/19/2015: Version 1.1.7 released. Global Interpreter Lock (GIL) now released when extension
module calls C library for read operations. This speeds up concurrent reads when using threads.
Users who wish to use netcdf4-python inside threads should read http://www.hdfgroup.org/hdf5-quest.html#gconc
regarding thread-safety in the HDF5 C library. Fixes to setup.py
now ensure that pip install netCDF4
with export USE_NCCONFIG=0
will use environment variables to find paths to libraries and include files,
instead of relying exclusively on the nc-config utility.
-
Clone GitHub repository (
git clone https://github.com/Unidata/netcdf4-python.git
), or get source tarball from PyPI. Links to Windows and OS X precompiled binary packages are also available on PyPI. -
Make sure numpy (required) and Cython (recommended) are installed and you have Python 2.5 or newer.
-
Make sure HDF5 and netcdf-4 are installed, and the
nc-config
utility is in your Unix PATH. Ifsetup.cfg
does not exist, copysetup.cfg.template
tosetup.cfg
, and make sure the line withuse_ncconfig=True
is un-commented. -
Run
python setup.py build
, thenpython setup.py install
(withsudo
if necessary). -
To run all the tests, execute
cd test && python run_all.py
.
See the online docs for more details.