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:
Settings are now accessed through the
config.settings
mapping. Check the configuration guide to learn more about the new options available to configure Eradiate.The new molecular absorption handling infrastructure now requires ancillary files that will be shipped in the future, but still have to be generated at the moment. Be sure to check the updated installation and data download instructions.
The new molecular absorption data configuration now uses a single keyword and no longer requires specifying the covered spectral range. For more details, check the
MolecularAtmosphere
reference, theAbsorptionDatabase
reference (in particular theAbsorptionDatabase.from_name()
andAbsorptionDatabase.from_directory()
constructors), as well as the molecular atmosphere tutorial.The
distant
keyword is now assigned to theDistantMeasure
type. To reference theMultiDistantMeasure
type in dict-based constructors, use themdistant
keyword.
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 ato_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#
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 thedistant
measure, implemented by theDistantMeasure
class. This is a breaking change, as thedistant
factory keyword was previously assigned to theMultiDistantMeasure
class. This action contributes to aligning measure factory keywords with their corresponding Mitsuba plugin IDs (PR416).Added the
MultiPixelDistantMeasure
class (keywordmpdistant
) (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
andProgressLevel
enums (PR416).
v0.27.2 (21st June 2024)#
This is a fix release. It fixes broken kernel version requirements.