Contributors to this version: Travis Logan (:user:`tlogan2000`), Trevor James Smith (:user:`Zeitsperre`).
- miranda boilerplate code is now versioned with cruft and the Ouranosinc/cookiecutter-pypackage template.
- Python3.8 support has been dropped in favor of Python3.9+.
- Aggregation operations now support more variables (hur, hurs, huss, rlds, ta, tdp, ua, uas, va, vas)
- RDRDv21 has been added as a dataset to be converted.
- Minimum values of 0 kg m2 s-1 has been set for both tp and sf variables in ERA5 and ERA5-Land projects.
- Project user and developer documentation has been greatly expanded. All public functions and modules now have numpy-based docstrings.
- The miranda library now uses a src layout for better packaging and distribution.
- ruff checks and formatting standards have been adopted for the entire codebase.
- Transformation docstrings are now only updated when the transformation is actually applied.
- miranda now has a security policy (SECURITY.md) for disclosing sensitive issues using secure communication channels. This has also been added to the documentation.
- miranda now applies the numpydoc documentation style to all publicly-exposed docstrings.
- GitHub Workflows now use commit hashes for both running GitHub Actions and installing Python dependencies from PyPI.
- miranda now has a CODE_OF_CONDUCT.md file for setting community standards and expectations.
Contributors to this version: Juliette Lavoie (:user:`juliettelavoie`), Trevor James Smith (:user:`Zeitsperre`).
- Added support for collecting and converting ptype ECMWF ERA5 variable.
- A new
"_frequency": true
toggle for returning the output frequency of converted data. - Added a new JSON template for NEX-GDDP-CMIP6 datasets.
- miranda is now PEP 517 and PEP 621 compliant, using the flit backend.
- Various fixes to existing docstrings.
- Time frequency checks are more resilient when converting Monthly time-step data.
- Masking and regridding of datasets when running
convert_dataset
is now optional or automatic. - Updated templates to newest API.
- Created a gis recipe for exclusively installing GIS libraries.
- Removed many unneeded dependencies, cleaned up Makefile.
- All public-facing functions now contain at least a minimal docstring for documentation generation.
Contributors to this version: Trevor James Smith (:user:`Zeitsperre`), Pascal Bourgault (:user:`aulemahal`), Travis Logan (:user:`tlogan2000`).
- Improvements have been made to the development documentation; Project URLs, ReadTheDocs theming, and other quality of life changes.
- Conversion JSON definitions now support pre-processing to render dimensions and variable names consistent before running corrections/conversions.
- New datasets with CF-like attributes conversion supported:
- RDRS (ECCC)
- GRNCH (ETS)
- Preliminary
miranda.io
module for organizing output-writing functionality. - New
miranda.io.fetch_chunk_config
function for "rechunking" datasets according to project presets. - New
mirands.io.utils.name_output_file
for generating names from Dataset facets or from a dictionary. - New
mirands.gis.subset_domain
for clipping dataset to a preconfigured region.
- Many data-related utilities now have more accurate static typing.
- Converted dataset global attributes are now synchronized for consistency.
- ECMWF-based datasets now implement more consistent conversion factors and metadata.
miranda.storage.file_size
now handles dictionaries of Pathlib objects.
- Pre-commit version updates.
- Improvements have been made to the development documentation; Project URLs, ReadTheDocs theming, installation methods, and other quality of life changes.
- Schema and folder structure updates:
- gridded-obs -> reconstruction
- bias-adjust-project is used when present and not just when level=="biasadjusted"
- CI now using tox>=4.0 and ubuntu-latest virtual machine images.
Contributors to this version: Trevor James Smith (:user:`Zeitsperre`), Pascal Bourgault (:user:`aulemahal`), David Huard (:user:`huard`), Travis Logan (:user:`tlogan2000`), Gabriel Rondeau-Genesse (:user:`RondeauG`), and Sébastien Biner (:user:`sbiner`).
- First public release on PyPI.
- Dataset conversion tools (
miranda.convert
) use a JSON-definition file to dynamically populate metadata, run data quality checks, and convert units to CF-compliant standard. Supported datasets are: - ERA5/ERA5-Land (complete)
- MELCC (stations) (beta)
- ECCC (stations) (alpha)
- NASA DayMet (WIP)
- NASA AgMerra/AgCFSR (WIP)
- Hydro Québec (stations) (WIP)
- DEH (stations) (WIP)
- WFDEI-GEM-CAPA (WIP)
- Dataset conversion tools (
- Module (
miranda.eccc
) for ECCC station data and ECCC Adjusted and Homogenized Canadian Climate Data (AHCCD) conversion (WIP). - Module (
miranda.ncar
) for fetching interpolated CORDEX-NAM (22i/44i) from NCAR AWS data storage. - Module (
miranda.ecmwf
) for fetching ECMWF ERA5/-Land (single-levels, pressure-levels, monthly-means) datasets via CDSAPI. - Module (
miranda.gis
) for setting specific subsetting domains used when converting gridded datasets. - Modules (
miranda.archive
andmiranda.remote
) for performing data archiving actions locally and remotely (powered by fabric and paramiko) (WIP). - Module (
miranda.decode
) for ingesting and parsing dataset metadata based on filename and dataset attributes. Supported datasets are: - miranda converted datasets
- CMIP6
- CMIP5
- CMIP5-CORDEX
- ISIMIP-FT
- CanDCS-U6 (PCIC)
- Module (
- Module (
miranda.structure
) for create constructing file-tree databases based on YAML-defined metadata schemas (WIP). - Modules (
miranda.cv
andmiranda.validators
) for validating metadata using ESGF controlled vocabularies (taken from pyessv-archive) and schema definitions (powered by schema), respectively (WIP).