v0.31.x series

v0.31.0 (5th September 2025)

This major release updates the Expert interface entry points to make them more comprehensive, and transitions the data management system to a package manager-like solution.

Warning

This version introduces major changes to the Expert interface and data delivery. Read the following for migration instructions.

  • Expert interface update. The changes made to the Expert interface are only naming changes. The mapping between the old and new names is as follows:

    Old name (in eradiate.kernel)

    New name

    KernelDictTemplate

    KernelDict

    UpdateMapTemplate

    KernelSceneParameterMap

    InitParameter

    DictParameter

    UpdateParameter

    SceneParameter

    UpdateParameter.Flags

    KernelSceneParameterFlags

    TypeIDLookupStrategy

    SearchSceneParameter

  • Data delivery. The new data delivery system is broken down into an AssetManager, which manages data downloads and makes them available for consumption, and a FileResolver, which looks up the filesystem when resources are requested. For end-users, the main difference is that after installing or updating Eradiate, they should call eradiate data install in a terminal instead of eradiate data fetch.

Deprecated

  • ⚠️ The eradiate.notebook.tutorials module is now deprecated, and its contents are now in eradiate.tutorials. The eradiate.notebook.tutorials IPYthon extension is replaced by eradiate.tutorials.

  • The eradiate show command is deprecated in favour of eradiate sys-info.

Removed

  • ⚠️ The experimental eradiate.scenes.biosphere.canopies module is removed (PR493). This, in particular, removes the wellington_citrus_orchard() function. Instead, use the canopy loader.

Added

  • 🖥️ Added support of the Robot framework to generate rich HTML test reports (PR478).

  • 🖥️ Added new regression tests based on bias-variance ratios (PR483).

  • Added a get_mode() getter that aims to replace mode() (PR486). The mode() getter remains available for compatibility.

  • Added the tuber 0.1 nm-resolution CKD database (PR495).

  • Added a converter for libRadtran’s NetCDF aerosol data files (PR499).

  • The eradiate --version flag now displays version information in the terminal (PR508).

Changed

  • ⚠️ Expert interface entry points have been renamed for clarity (PR484):

  • ⚠️ The get_mode() getter now raises an UnsetModeError if no active mode is selected (PR486).

  • ⚠️ The data handling infrastructure has been overhauled (PR493; see Data guide introduction for details):

    • File paths are now resolved by an offline file resolver, accessed as eradiate.fresolver.

    • The eradiate data fetch command no longer exists and is replaced by eradiate data install.

    • Settings have been updated to adapt to the new data handling infrastructure.

  • ⚠️ The settings pertaining to data management have changed (PR493). Now, use DATA_PATH to control downloaded data location, DATA_URL to control the remote registry location, and PATH to add lookup locations to the file resolver. The following settings are no longer relevant:

    • DATA_STORE_URL

    • SMALL_FILES_REGISTRY_URL

    • SMALL_FILES_REGISTRY_REVISION

  • ⚠️ The ERADIATE_ENV environment variable is no longer used (PR493).

  • ⚠️ The default monochromatic dataset is now komodo (PR493). That default was not used consistently before.

  • 📖 Documentation layout is reorganized for improved maintainability (PR497).

  • ⚠️ The RectangleTarget class now accepts a normal-based parametrization (PR500).

  • ⚠️ The eradiate.notebook.tutorials module is now deprecated, and its contents are now in eradiate.tutorials. The eradiate.notebook.tutorials IPYthon extension is replaced by eradiate.tutorials.

  • The eradiate show command is renamed eradiate sys-info (PR508).

Fixed

  • 🖥️ Fixed logger configuration inconsistencies depending on the pytest tests execution order (PR478).

  • Added missing HapkeBSDF factory keyword (PR491).

  • Added missing irradiance spectrum scene parameters for the AstroObjectIllumination class (PR494).

  • Aligned canonical spectral range with actual absorption database limits (PR498).

  • Fixed film_to_angular() when used on data with multiple spectral channels (PR501).

  • The ParticleLayer class can now use aerosol property datasets with a single wavelength (PR502).

  • Improved the error message when failing to load a solar irradiance spectrum (PR507).

Internal changes

  • 🖥️ The mode() getter is now a thin compatibility wrapper around get_mode() (PR486).

  • 🖥️ Added a GitHub CI supporting Robot reports generation (PR482).

  • 🖥️ Improved post-processing pipeline test efficiency (PR492).

  • 🖥️ All DataStore classes are replaced by FileResolver and AssetManager classes (PR493).

  • 🖥️ Refactored Converters to provide a more modular data conversion toolkit (PR493).

  • 🖥️ Transitioned development requirements to PEP 735 dependency groups instead of extras (PR493).

  • 🖥️ Factored CLI terminal display components into a module to avoid code duplication (PR493).

  • 🖥️ The postprocessing pipeline definitions were moved to a separate package that can be referenced at driver construction (PR506).