A single API for accessing / working with gridded model results on multiple grid types
The goal of this package is to present a single way to work with results from ANY model -- regardless of what type of grid it was computed on. In particular:
- Regular Structured Grids (CF Conventions)
- Unstructured Grids (CF + UGRID Conventions)
- Staggered Grids (CF + SGRID Conventions)
gridded
has been developed because a number of us need to work with multiple model types, and have found ourselves writing a lot of custom code for each type. In particular, inter-comparison of results is an ugly process. To preserve the integrity of the results, it's best to NOT interpolate on to a common grid. gridded
lets one work with multiple model types with the same API, while preserving the native grid as much as possible.
Other solutions have (so far) built assumptions about the underlying grid type into the code and API, making it difficult to adapt to other grid types. Nevertheless, gridded
hopes to learn from the the fabulous work done by other packages, such as:
Iris: http://scitools.org.uk/iris/ and xarray: https://github.com/pydata/xarray
NOTE: Future versions of gridded will likely be built on top of xarray -- contributions welcome!
gridded
seeks to support data standards such as:
- The CF Conventions: http://cfconventions.org/
- UGRID Conventions: http://ugrid-conventions.github.io/ugrid-conventions/
- SGRID Conventions: http://sgrid.github.io/sgrid/
gridded
also provided APIs for reading results that do not conform to the conventions, allowing one to work with non-confirming datasets with the same API, as well as providing tools to convert non-confirming files to conforming files.
gridded
itself is pure python and easy to install from source or packages. However, it does rely on a number of complex compiled dependencies, notable netCDF4 and celltree2d.
For easiest results, install gridded from conda-forge:
https://anaconda.org/conda-forge
conda install -c conda-forge gridded
Will get you the latest version.
Alternatively, you can install from source:
Dependencies are listed in conda_requirements.txt
:
conda install --file conda_requirements.txt
If you want to develop, test or work with the examples, you will need the development requirements as well:
conda install --file conda_requirements_dev.txt