Published September 3, 2025
| Version v0.6.0
Software
Open
miranda: Python utilities for climate data collection, conversion, and management
Authors/Creators
- 1. Ouranos, Montréal, Québec, Canada
- 2. Hydro-Québec, Québec, Canada
Description
Contributors to this version: Travis Logan (@tlogan2000), Trevor James Smith (@Zeitsperre), Aslı Beşe (@aslibese).
Announcements
mirandaboilerplate code is now versioned with cruft and the Ouranosinc/cookiecutter-pypackage template.- The
mirandalibrary now requires Python 3.10 or higher. - The
mirandalibrary has undergone a significant refactoring to remove unused code and modules that were out of scope for the library.- The modules
miranda.archiveandmiranda.remotehave been removed and will be moved to a separate project. - Data treatment functions have been moved to
miranda.treatments. - Pre-processing logic and functions have been moved to
miranda.preprocess. - Several obsolete/nonexistent configuration files have been removed from
miranda.convert.corrections.
- The modules
- The
miranda.validatorssubmodule has becomemiranda.validateand now contains all controlled vocabulary and validation functions. mirandanow leveragespoochto fetch and cache testing datasets from miranda-testdata:miranda.testing.cassiniis used to create an instance ofCassinifor fetching testing data.miranda.testing.registry.txtis a text file containing the list of datasets available inmiranda-testdata.
mirandahas droppedblack,isortandblackdocs, and now relies solely onruffandflake8/flake8-rst-docstringsfor linting and formatting.
New features
- Conversion for
CanHomTv4 dailyECCC 4th generation of the adjusted and homogenized station. - Conversions for variables in the
GHCN-Dweather station network dataset are now supported. - Conversion support has been added for the
ORRC,CaSR v3.1, andRDRS v2.1datasets. - ECMWF: Added support for the
"era5-single-levels-monthly-means"project. - ECMWF: Added support for ocean variables (
sst,siconc), convective precipitation variables ('cp','cape'), and wind speed ('u','v'). - Aggregation operations now support more variables (
'hur','hurs','huss','rlds','ta','tdp','ua','uas','va','vas') - 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
mirandalibrary now uses asrclayout for better packaging and distribution. ruffchecks and formatting standards have been adopted for the entire codebase.- Added a new configuration for converting the NRCAN gridded climate dataset (
NRCANmet). - Conversion configuration JSON files are now validated against schema schemas.
Breaking changes
- Removed modules
miranda.archiveandmiranda.remote(split into a separate project yet to be published). miranda.utils.show_versionshas been moved tomiranda.testing.show_versions. It now usesxclim.testing.show_versionsto display the versions of all dependencies.- Python 3.8 and Python 3.9 are no longer supported.
- The
devrecipe now requirespooch(>=1.8.0). - many dependencies have been updated to more modern versions, including:
numpy(>=1.25.0)xarray(>=2023.11.0)xclim(>=0.57.0)
- Logging has been significantly improved and standardized across the library.
- Logging within modules has been standardized to use the
mirandalogger and neverroot. - Submodules no longer configure message logging to standard output and instead use the
mirandalogger.
- Logging within modules has been standardized to use the
Bug fixes
- Transformation docstrings are now only updated when the transformation is actually applied.
- Added a missing helper function to
miranda.units(group_by_length) that was mistakenly removed in a previous change.
Internal changes
mirandanow has a security policy (SECURITY.md) for disclosing sensitive issues using secure communication channels. This has also been added to the documentation.mirandanow applies thenumpydocdocumentation style to all publicly-exposed docstrings.- GitHub Workflows now use commit hashes for both running GitHub Actions and installing Python dependencies from PyPI.
mirandanow has aCODE_OF_CONDUCT.mdfile for setting community standards and expectations.- Now using the GitHub Ouranos bot for automatic version bumping via
bump-version.ymlGitHub Workflow. - Adjusted calls using
os.pathto usepathlibfor better cross-platform compatibility. - Added new
pytestfixtures for the newmiranda-testdatarepository:cassini:pytestfixture for fetching local filepaths of cached testing data.open_dataset:pytestfixture for one-off fetching and opening of a registered test data set.era5_precip:pytestfixture fetching and opening a zip file containing a subset of the ERA5 precipitation dataset.timeseries:pytestfixture for generating an artificial CF-compliant time series dataset usingxclimandxarray.multivariable_dataset:pytestfixture for generating an artificialxarraymultivariable dataset.
- The
tox.iniandpyproject.tomldependency pins have been synchronized. schemaschemas have been defined for all conversion JSON files, and are now used to validate the JSON files as part of the testing suite.- The code formatting now follows
ruffstandards, andblack,isort, andblackdocshave been removed from the project. Thepre-commitconfiguration has been updated accordingly. Line lengths have been increased from 88 to 150. pre-commithook versions have been updated and new hooks have been added for checking variable spelling and security issues. Hooks formypyandvulturehave been staged for eventual inclusion in the CI testing suite.- Allow some variables that are lacking a
standard_nameattribute to be converted if_standard_nameis explicitly set asFalse.
Files
Ouranosinc/miranda-v0.6.0.zip
Files
(48.1 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:436dc969561301e7d7287a5759768632
|
48.1 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/Ouranosinc/miranda/tree/v0.6.0 (URL)
Software
- Repository URL
- https://github.com/Ouranosinc/miranda