All Projects → NCAS-CMS → cfdm

NCAS-CMS / cfdm

Licence: MIT license
A Python reference implementation of the CF data model

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to cfdm

mptrac
Massive-Parallel Trajectory Calculations (MPTRAC) is a Lagrangian particle dispersion model for the analysis of atmospheric transport processes in the troposphere and stratosphere.
Stars: ✭ 19 (-20.83%)
Mutual labels:  climate, atmospheric-science
DSMACC
Dynamically Simple Model of Atmospheric Chemical Complexity
Stars: ✭ 16 (-33.33%)
Mutual labels:  atmosphere, atmospheric-science
RegESM
Regional Earth System Model
Stars: ✭ 37 (+54.17%)
Mutual labels:  ocean, atmosphere
gribr
GRIB interface for R using ECMWF ecCodes
Stars: ✭ 18 (-25%)
Mutual labels:  climate, atmospheric-science
aospy
Python package for automated analysis and management of gridded climate data
Stars: ✭ 80 (+233.33%)
Mutual labels:  climate, netcdf
psyplot
Python package for interactive data visualization
Stars: ✭ 64 (+166.67%)
Mutual labels:  climate, netcdf
wxee
A Python interface between Earth Engine and xarray for processing time series data
Stars: ✭ 113 (+370.83%)
Mutual labels:  climate, netcdf
gis4wrf
QGIS toolkit 🧰 for pre- and post-processing 🔨, visualizing 🔍, and running simulations 💻 in the Weather Research and Forecasting (WRF) model 🌀
Stars: ✭ 137 (+470.83%)
Mutual labels:  netcdf, atmospheric-science
Archery
Declare all your project's metadata and what you can do with it in one single place.
Stars: ✭ 47 (+95.83%)
Mutual labels:  metadata
dots
digital ocean api typescript/javascript wrapper
Stars: ✭ 65 (+170.83%)
Mutual labels:  ocean
intuit-spring-cloud-config-inspector
Inspection of Spring Cloud Config properties made easy using React
Stars: ✭ 18 (-25%)
Mutual labels:  metadata
sknifedatar
sknifedatar is a package that serves primarily as an extension to the modeltime 📦 ecosystem. In addition to some functionalities of spatial data and visualization.
Stars: ✭ 30 (+25%)
Mutual labels:  forecasting
metadata-action
GitHub Action to extract metadata (tags, labels) from Git reference and GitHub events for Docker
Stars: ✭ 492 (+1950%)
Mutual labels:  metadata
awesome-green-software
No description or website provided.
Stars: ✭ 209 (+770.83%)
Mutual labels:  climate
proteomics-metadata-standard
The Proteomics Experimental Design file format: Standard for experimental design annotation
Stars: ✭ 49 (+104.17%)
Mutual labels:  metadata
js-symbol-tree
Turn any collection of objects into its own efficient tree or linked list using Symbol
Stars: ✭ 86 (+258.33%)
Mutual labels:  metadata
iptcinfo3
iptcinfo working for python 3 finally do pip3 install iptcinfo3
Stars: ✭ 37 (+54.17%)
Mutual labels:  metadata
notebooks
Code examples for pyFTS
Stars: ✭ 40 (+66.67%)
Mutual labels:  forecasting
Sales-Prediction
In depth analysis and forecasting of product sales based on the items, stores, transaction and other dependent variables like holidays and oil prices.
Stars: ✭ 56 (+133.33%)
Mutual labels:  forecasting
Deep XF
Package towards building Explainable Forecasting and Nowcasting Models with State-of-the-art Deep Neural Networks and Dynamic Factor Model on Time Series data sets with single line of code. Also, provides utilify facility for time-series signal similarities matching, and removing noise from timeseries signals.
Stars: ✭ 83 (+245.83%)
Mutual labels:  forecasting

cfdm

A Python reference implementation of the CF data model.

GitHub tag (latest by date) PyPI Conda

Conda Website GitHub

GitHub Workflow Status Codecov

References

Website Website Website

Compliance with FAIR principles

fair-software.eu

Documentation

https://ncas-cms.github.io/cfdm

Tutorial

https://ncas-cms.github.io/cfdm/tutorial

Installation

https://ncas-cms.github.io/cfdm/installation

Functionality

The cfdm package implements the CF data model (https://doi.org/10.5194/gmd-10-4619-2017) for its internal data structures and so is able to process any CF-compliant dataset. It is not strict about CF-compliance, however, so that partially conformant datasets may be ingested from existing datasets and written to new datasets. This is so that datasets which are partially conformant may nonetheless be modified in memory.

The central elements defined by the CF data model are the field construct, which corresponds to CF-netCDF data variable with all of its metadata; and the domain contruct, which may be the domain of a field construct or corresponds to a CF-netCDF domain 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 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, from indices or metadata values,
  • 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.

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:

$ cfdump file.nc
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

Tests

Tests are run from within the cfdm/test directory:

$ python run_tests.py

Citation

If you use cfdm, either as a stand-alone application or to provide a CF data model implementation to another software library, please consider including the reference:

Hassell et al., (2020). cfdm: A Python reference implementation of the CF data model. Journal of Open Source Software, 5(54), 2717, https://doi.org/10.21105/joss.02717

@article{Hassell2020,
  doi = {10.21105/joss.02717},
  url = {https://doi.org/10.21105/joss.02717},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {54},
  pages = {2717},
  author = {David Hassell and Sadie L. Bartholomew},
  title = {cfdm: A Python reference implementation of the CF data model},
  journal = {Journal of Open Source Software}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].