Skip to content

climate-service-center/pyhomogenize

Repository files navigation

Homogenize NetCDF files to CF standard: pyhomogenize

Versions Python Package Index Build
Documentation and Support Documentation Status Supported Python Versions
Open Source License DOI
Coding Standards Python Black pre-commit.ci status
Development Status Project Status: Active – The project has reached a stable, usable state and is being actively developed. Build Status Coveralls

Tool to homogenize netCDF to CF standard files using xarray

See https://cfconventions.org

Documentation

The official documentation is at https://pyhomogenize.readthedocs.io/

Features

  • some useful functions to read and write large netCDF files
  • basics: This class creates a fixed frequency CFTimeIndex from user-given start and end dates. You can manipulate the CFTimeIndex and crop it to user-specific conditions.
  • netcdf_basics: This class opens one or multiple netCDF files by calling the class. You can manipulate the netCDF attributes and write it to a new file.
  • time_control: This class is a time checker for NetCDF files following CF Metadata Conventions. It is based on pyhomogenize's netcdf_basics class. Thus it opens the netCDF files by calling the class.
  • time_compare: This class compares the time axes of list entires of multiple xr.datasets, netCDF files and/or time_control objects.

Installation

You can install the package directly with pip:

pip install pyhomogenize

If you want to contribute, I recommend cloning the repository and installing the package in development mode, e.g.

git clone https://github.com/ludwiglierhammer/pyhomogenize.git
cd pyhomogenize
pip install -e .

This will install the package but you can still edit it and you don't need the package in your PYTHONPATH

Requirements

  • python3.6 or higher
  • cftime
  • dask
  • iteration_utilities
  • xarray

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.