/miranda

A modern Python utility library for climate data collection and management

Primary LanguagePythonApache License 2.0Apache-2.0

Miranda Miranda

Versions PyPI Supported Python Versions
Documentation and Support Documentation Status
Open Source License OpenSSF Scorecard
Coding Standards Python Black Ruff 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

Python utilities for climate data collection, conversion, and management.

Features

Data collection functions for climate and forecast data hosted at:
  • ECMWF (ERA5, ERA5-Land, TIGGE)
  • ECCC (Canada) (Monthly Climate Summaries, ECCC GEOAPI - In development)
  • NCAR (CORDEX-NA on AWS)
Data conversion for Climate and Forecasting (CF) Variable and Metadata compliance:
  • ECMWF (ERA5, ERA5-Land, TIGGE - In Development)
  • ECCC (Canada) (Flat File Observations, Monthly Climate Summaries, Adjusted and Homogenized Climate Data, ECCC GEOAPI - In Development)
  • MELCC (Québec)
  • Hydro-Québec (In Development)
Database structuring and facets validation:
  • Simulations:
    • WCRP (CMIP5, CMIP6, CMIP5-CORDEX, CORDEX-ADJUST, ISIMIP, etc.)
  • Station-Observations:
    • MELCC (Québec) (Needs mdbtools installed)
    • ECCC (Canada) (In Development)
    • Hydro-Québec (In Development)
  • Gridded-Observations:
    • NRCAN (Canada) (Future)
    • MELCC (Future)
  • Reanalyses:
    • ECMWF (ERA5, ERA5-Land, TIGGE)
    • NASA (DayMET, AgMerra/AgCFSR, MERRA2) - In Development
    • NCEP (CFSR/CFSv2) - In Development
    • WFDEI-GEM-CaPa (University of Saskatchewan) - In Development

Installation

miranda can be installed from PyPI:

$ pip install miranda

Some functionalities require complex-to-install dependencies. In order to gain access to them, we strongly suggest using Anaconda to manage your environment:

$ conda env create -f environment.yml
$ conda activate miranda
$ pip install miranda[full]
For more information about Anaconda/Miniconda/conda-forge:

miranda also relies on PyESSV for its climate data controlled vocabulary. This library is optional for users who do not require validation checks, but enabling this feature requires additional installation steps:

$ mkdir -p ~/.esdoc
$ git clone git@github.com:ES-DOC/pyessv-archive.git ~/.esdoc/pyessv-archive

Contributing

See the contributing documentation: https://miranda.readthedocs.io/en/latest/contributing.html

Credits

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