The cfdm Python package is a complete reference implementation
of the CF data model <https://www.geosci-model-dev.net/10/4619/2017>
_ for CF-1.11, that
identifies the fundamental elements of the CF conventions <http://cfconventions.org/>
_ and shows how they relate to each other,
independently of the netCDF <https://www.unidata.ucar.edu/software/netcdf/>
_ encoding.
The central element defined by the CF data model is the field
construct, which corresponds to a CF-netCDF data variable with all
of its metadata.
A simple example of reading a field construct from a file and
inspecting it:
>>> import cfdm
>>> f = cfdm.read('file.nc')
>>> f
[<Field: air_temperature(time(12), latitude(64), longitude(128)) K>]
>>> print(f[0])
Field: air_temperature (ncvar%tas)
----------------------------------
Data : air_temperature(time(12), latitude(64), longitude(128)) K
Cell methods : time(12): mean (interval: 1.0 month)
Dimension coords: time(12) = [0450-11-16 00:00:00, ..., 0451-10-16 12:00:00] noleap
: latitude(64) = [-87.8638, ..., 87.8638] degrees_north
: longitude(128) = [0.0, ..., 357.1875] degrees_east
: height(1) = [2.0] m
The cfdm package can
- read field and domain constructs from netCDF and CDL datasets,
- create new field and domain constructs in memory,
- write and append field and domain constructs to netCDF datasets on disk,
- read, write, and manipulate UGRID mesh topologies,
- read, write, and create coordinates defined by geometry cells,
- read and write netCDF4 string data-type variables,
- read, write, and create netCDF and CDL datasets containing hierarchical groups,
- inspect field and domain constructs,
- test whether two constructs are the same,
- modify field and domain construct metadata and data,
- create subspaces of field and domain constructs,
- incorporate, and create, metadata stored in external files, and
- read, write, and create data that have been compressed by convention
(i.e. ragged or gathered arrays, or coordinate arrays compressed
by subsampling), whilst presenting a view of the data in its
uncompressed form.
Documentation
https://ncas-cms.github.io/cfdm
Tutorial
https://ncas-cms.github.io/cfdm/tutorial
Installation
https://ncas-cms.github.io/cfdm/installation
Command line utility
During installation the cfdump
command line tool is also installed,
which generates text descriptions of the field constructs contained
in a netCDF dataset.
Source code
This project is hosted in a GitHub repository <https://github.com/NCAS-CMS/cfdm>
_ where you can access the most
up-to-date source.