Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Ouranosinc/miranda

A modern Python utility library for climate data collection and management
https://github.com/Ouranosinc/miranda

archiving climate collection management netcdf

Last synced: about 1 month ago
JSON representation

A modern Python utility library for climate data collection and management

Awesome Lists containing this project

README

        

==============
Miranda |logo|
==============

+----------------------------+-----------------------------------------------------+
| Versions | |pypi| |versions| |
+----------------------------+-----------------------------------------------------+
| Documentation and Support | |docs| |
+----------------------------+-----------------------------------------------------+
| Open Source | |license| |ossf| |
+----------------------------+-----------------------------------------------------+
| Coding Standards | |black| |ruff| |pre-commit| |
+----------------------------+-----------------------------------------------------+
| Development Status | |status| |build| |coveralls| |
+----------------------------+-----------------------------------------------------+

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

* Free software: Apache Software License 2.0
* Documentation: https://miranda.readthedocs.io.

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:
* Miniconda: https://docs.conda.io/en/latest/miniconda.html
* conda-forge: https://conda-forge.org/#about

`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 [email protected]: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.

.. _Cookiecutter: https://github.com/cookiecutter/cookiecutter
.. _`Ouranosinc/cookiecutter-pypackage`: https://github.com/Ouranosinc/cookiecutter-pypackage

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Python Black

.. |build| image:: https://github.com/Ouranosinc/miranda/actions/workflows/main.yml/badge.svg
:target: https://github.com/Ouranosinc/miranda/actions
:alt: Build Status

.. |coveralls| image:: https://coveralls.io/repos/github/Ouranosinc/miranda/badge.svg
:target: https://coveralls.io/github/Ouranosinc/miranda
:alt: Coveralls

.. |docs| image:: https://readthedocs.org/projects/miranda/badge/?version=latest
:target: https://miranda.readthedocs.io/en/latest/?version=latest
:alt: Documentation Status

.. |license| image:: https://img.shields.io/github/license/Ouranosinc/miranda.svg
:target: https://github.com/Ouranosinc/miranda/blob/main/LICENSE
:alt: License

.. |ossf| image:: https://api.securityscorecards.dev/projects/github.com/Ouranosinc/miranda/badge
:target: https://securityscorecards.dev/viewer/?uri=github.com/Ouranosinc/miranda
:alt: OpenSSF Scorecard

.. |logo| image:: https://raw.githubusercontent.com/Ouranosinc/miranda/main/docs/_static/images/miranda-logo-small.png
:target: https://github.com/Ouranosinc/miranda
:alt: Miranda

.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/Ouranosinc/miranda/main.svg
:target: https://results.pre-commit.ci/latest/github/Ouranosinc/miranda/main
:alt: pre-commit.ci status

.. |pypi| image:: https://img.shields.io/pypi/v/miranda.svg
:target: https://pypi.python.org/pypi/miranda
:alt: PyPI

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
:target: https://github.com/astral-sh/ruff
:alt: Ruff

.. |status| image:: https://www.repostatus.org/badges/latest/active.svg
:target: https://www.repostatus.org/#active
:alt: Project Status: Active – The project has reached a stable, usable state and is being actively developed.

.. |versions| image:: https://img.shields.io/pypi/pyversions/miranda.svg
:target: https://pypi.python.org/pypi/miranda
:alt: Supported Python Versions