v0.27.x series#

v0.27.0 (29th May 2024)#

This is a major release. It brings a new molecular absorption database infrastructure that drastically improves performance, in particular for hyperspectral runs. The molecular absorption database configuration interface is modified, but compatibility with prior syntax will be maintained for a few versions to let users migrate to the new (simpler) interface without trouble.

We also introduce a new library to handle the configuration of Eradiate. This notably adds the possibility to configure Eradiate using a configuration file written in the TOML language.

Warning

When upgrading, please check the following:

Deprecated#

  • ⚠️ Specifying the spectral range for atmospheric absorption database configuration is no longer required. The previous behaviour is removed and the corresponding interface is deprecated, but still maintained for compatibility (the spectral range will be ignored).

Removed#

  • ⚠️ Specifying atmospheric absorption databases using loaded data is no longer supported. Instead, instantiate an AbsorptionDatabase object.

Added#

  • Introduced a new AbsorptionDatabase abstraction in charge of managing atmospheric molecular absorption data (PR397).

  • Eradiate can now be configured using TOML files (PR397).

  • The eradiate data fetch command-line interface now accepts keywords to facilitate absorption database downloads (PR397).

  • Gaussian SRF datasets can now be dynamically generated using the srf_tools.make_gaussian() function (PR401).

  • All .Shape classes now support a to_world member, which defines an arbitrary transformation of the object (PR381).

  • The eradiate data fetch command is extended with the possibility to fetch groups of files (e.g. eradiate data fetch monotropa) (PR405).

  • An experimental validation framework based on the Cerberus library is now in available (PR404). The schema library will be gradually extended. This is an alpha-stage feature.

  • Added a new eradiate data check command to perform checks and fixes on molecular absorption databases (PR412).

Changed#

  • ⚠️ Most settings are now accessed through the settings mapping (PR397).

  • 📖 The Data documentation content is extracted from the user guide and moved to its own section (PR405).

  • Illumination azimuth values out of the [0°, 360°[ range are now allowed and issue a warning instead of raising an exception (PR409).

Fixed#

  • Large absorption databases are now handled with little to no performance penalty (PR397).

  • DEM Surfaces would not behave correctly when used with a SphericalShellGeometry (PR402).

  • CKD bin selection no longer crashes if theoretically identical min and max bounds of two adjacent bins have an actual mismatch due to floating point precision issues (PR406).

  • The SRF weighting operation is removed from monochromatic post-processing pipelines (PR406).

  • Exponential and Gaussian particle distributions now correctly evaluate to 0 when queried for values outside the [0, 1] interval (PR408).

  • Fixed a bug where geometry vs atmosphere extent check would not work as intended (PR407).

Internal changes#

  • 🖥️ Settings are now powered by the Dynaconf library (PR397).

  • 🖥️ Renamed and refactored atmosphere fixtures for performance and clarity (PR397).

  • 🖥️ Reorganized test code and fixtures for clarity (PR399).

  • 🖥️ Introduced in intermediate abstraction for directional-like illuminants (PR409).

  • 🖥️ autodocsumm is now vendored (PR410).

v0.27.1 (20th June 2024)#

This is a minor feature release. It adds popular aerosol classes from the 6SV radiative transfer model, a new multi-pixel distant sensor and optimized SRF data for several instruments.

Added#

  • Added 6SV aerosol models (continental, maritime, desert, biomass burning, urban and stratospheric) (PR415).

  • Optimized spectral response functions for Sentinel-3/OLCI & SLSTR, MSG 1 & 4/SEVIRI and PARASOL/POLDER (PR417).

Changed#

  • Update data documentation with more details on data formats and built-in data content (PR415).

  • ⚠️ The distant Mitsuba sensor plugin is now exposed as the distant measure, implemented by the DistantMeasure class. This is a breaking change, as the distant factory keyword was previously assigned to the MultiDistantMeasure class. This action contributes to aligning measure factory keywords with their corresponding Mitsuba plugin IDs (PR416).

  • Added the MultiPixelDistantMeasure class (keyword mpdistant) (PR416).

Fixed#

  • Fixed the unstack_mdistant_grid() after a regression due to “recent” changes in xarray internals that broke multi-index-based reindexing (PR416).

Internal changes#

  • 📖 Generated documentation pages now use Jinja templates (PR415).

  • 🖥️ Refactored the distant measure line. The common abstract class is now named AbstractDistantMeasure (PR416).

  • 🖥️ Refactored the tests for the frame module (PR416).

  • 🖥️ Added built-in conversion protocol for the AzimuthConvention and ProgressLevel enums (PR416).

v0.27.2 (21st June 2024)#

This is a fix release. It fixes broken kernel version requirements.