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, CDL, and Zarr datasets with a choice of netCDF backends,
* be fully flexible with respect to dataset storage chunking,
* 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,
* read and write that data that are quantized to eliminate false
precision.
Documentation
=============
https://ncas-cms.github.io/cfdm
Dask
====
From version 1.11.2.0 the `cfdm` package uses `Dask
<https://docs.dask.org>`_ for all of its data manipulations.
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.
Raw data
{
"_id": null,
"home_page": "https://ncas-cms.github.io/cfdm",
"name": "cfdm",
"maintainer": "David Hassell, Sadie Bartholomew",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "cf, netcdf, data, science, oceanography, meteorology, climate",
"author": "David Hassell, Sadie Bartholomew",
"author_email": "david.hassell@ncas.ac.uk",
"download_url": "https://files.pythonhosted.org/packages/7f/bf/620edd11508468188d3b76149af9784b2ac5c963106425b5601d9e5ee5b1/cfdm-1.12.3.0.tar.gz",
"platform": "Linux",
"description": "The **cfdm** Python package is a complete reference implementation\nof the `CF data model\n<https://www.geosci-model-dev.net/10/4619/2017>`_ for CF-1.11, that\nidentifies the fundamental elements of the `CF conventions\n<http://cfconventions.org/>`_ and shows how they relate to each other,\nindependently of the `netCDF\n<https://www.unidata.ucar.edu/software/netcdf/>`_ encoding.\n\nThe central element defined by the CF data model is the **field\nconstruct**, which corresponds to a CF-netCDF data variable with all\nof its metadata.\n\nA simple example of reading a field construct from a file and\ninspecting it:\n\n >>> import cfdm\n >>> f = cfdm.read('file.nc')\n >>> f\n [<Field: air_temperature(time(12), latitude(64), longitude(128)) K>]\n >>> print(f[0])\n Field: air_temperature (ncvar%tas)\n ----------------------------------\n Data : air_temperature(time(12), latitude(64), longitude(128)) K\n Cell methods : time(12): mean (interval: 1.0 month)\n Dimension coords: time(12) = [0450-11-16 00:00:00, ..., 0451-10-16 12:00:00] noleap\n : latitude(64) = [-87.8638, ..., 87.8638] degrees_north\n : longitude(128) = [0.0, ..., 357.1875] degrees_east\n : height(1) = [2.0] m\n\nThe **cfdm** package can\n\n* read field and domain constructs from netCDF, CDL, and Zarr datasets with a choice of netCDF backends,\n* be fully flexible with respect to dataset storage chunking,\n* create new field and domain constructs in memory,\n* write and append field and domain constructs to netCDF datasets on disk,\n* read, write, and manipulate UGRID mesh topologies,\n* read, write, and create coordinates defined by geometry cells,\n* read and write netCDF4 string data-type variables,\n* read, write, and create netCDF and CDL datasets containing hierarchical groups,\n* inspect field and domain constructs,\n* test whether two constructs are the same,\n* modify field and domain construct metadata and data,\n* create subspaces of field and domain constructs,\n* incorporate, and create, metadata stored in external files, and\n* read, write, and create data that have been compressed by convention\n (i.e. ragged or gathered arrays, or coordinate arrays compressed\n by subsampling), whilst presenting a view of the data in its\n uncompressed form,\n* read and write that data that are quantized to eliminate false\n precision.\n\nDocumentation\n=============\n\nhttps://ncas-cms.github.io/cfdm\n\nDask\n====\n\nFrom version 1.11.2.0 the `cfdm` package uses `Dask\n<https://docs.dask.org>`_ for all of its data manipulations.\n\nTutorial\n========\n\nhttps://ncas-cms.github.io/cfdm/tutorial\n\nInstallation\n============\n\nhttps://ncas-cms.github.io/cfdm/installation\n\nCommand line utility\n====================\n\nDuring installation the `cfdump` command line tool is also installed,\nwhich generates text descriptions of the field constructs contained\nin a netCDF dataset.\n\nSource code\n===========\n\nThis project is hosted in a `GitHub repository\n<https://github.com/NCAS-CMS/cfdm>`_ where you can access the most\nup-to-date source.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python reference implementation of the CF data model",
"version": "1.12.3.0",
"project_urls": {
"Download": "https://pypi.org/project/cfdm/#files",
"Homepage": "https://ncas-cms.github.io/cfdm"
},
"split_keywords": [
"cf",
" netcdf",
" data",
" science",
" oceanography",
" meteorology",
" climate"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7fbf620edd11508468188d3b76149af9784b2ac5c963106425b5601d9e5ee5b1",
"md5": "bb42b6c875872cb908fe656279ae9b97",
"sha256": "a011f6f4d481c5a7d9128803e6405e94b55e840b8b33407a302e3528be27d68a"
},
"downloads": -1,
"filename": "cfdm-1.12.3.0.tar.gz",
"has_sig": false,
"md5_digest": "bb42b6c875872cb908fe656279ae9b97",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 650062,
"upload_time": "2025-08-18T14:26:52",
"upload_time_iso_8601": "2025-08-18T14:26:52.713000Z",
"url": "https://files.pythonhosted.org/packages/7f/bf/620edd11508468188d3b76149af9784b2ac5c963106425b5601d9e5ee5b1/cfdm-1.12.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-18 14:26:52",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "cfdm"
}