What’s new?
Contents
What’s new?#
Note
For now, Eradiate uses a “ZeroCalVer” versioning scheme. The ZeroVer part reflects the relative instability of our API: breaking changes may happen at any time. The CalVer part gives an idea of how fresh the version you are running is. We plan to switch to a versioning scheme more similar to SemVer in the future.
Updates are tracked in this change log. Every time you decide to update to a
newer version, we recommend that you to go through the list of changes.
We try hard to remain backward-compatible and warn in advance for deprecation
when necessary—we also advise to not ignore DeprecationWarning
s.
v0.22.5 (upcoming release)#
New features#
Breaking changes#
Dropped the xarray metadata validation system (PR266).
Deprecations and removals#
Improvements and fixes#
Added the atmo-centimeter, a.k.a. atm-cm, to the unit registry (PR245).
Added spectral response functions for the VIIRS instrument onboard JPSS1 and NPP platforms (PR253).
Submodules and packages are now imported lazily (PR254, PR261). This significantly decreases import time for most use cases.
Optimised calls to
Quantity.m_as()
inInstancedCanopyElement.kernel_instances()
(PR256).Fixed incorrect scaling formula for datetime-based scaling of Solar irradiance spectra (PR258).
Added system information report to the
eradiate show
command-line utility (PR264).Some dependencies are now optional, although recommended (PR266).
Added new sahara and continental particle radiative properties including the full scattering phase matrix (PR259).
Allow mixing a purely absorbing
MolecularAtmosphere
with aParticleLayer
(PR239).Change the
ExponentialParticleDistribution
formulation to rate-based; allow scale-based parametrisation for initialisation (PR271).Fixed missing parameters in the
LeafCloud.sphere()
constructor (PR272).Add spectral response function filtering utility (PR269).
Documentation#
Internal changes#
Updated Mitsuba submodule to v3.0.2 (PR250, PR255, PR267). This notably fixes the sampling method of the
tabphase
plugin and a Dr.Jit warning on some Linux machines.Aligned the
tabphase_irregular
plugin with the fixtabphase
code (PR255).Updated codebase to use
attrs
’ next-generation APIs (PR268).
v0.22.4 (17 June 2022)#
New features#
Added a
InterpolatedSpectrum.from_dataarray()
class method constructor (PR243).
Breaking changes#
Removed temporary volume files used by the
AbstractHeterogeneousAtmosphere
line and theBlendPhaseFunction
class (replaced by in-memory buffers). Corresponding file name and cache directory control parameters were removed as well (PR231).
Deprecations and removals#
Updated all tests to use
eradiate.run()
instead of the deprecatedExperiment.run()
method (PR227).
Improvements and fixes#
Added spectral response function data sets for POLDER instrument onboard PARASOL platform (PR232).
Added an extrapolated version of the
thuillier_2003
solar irradiance spectrum to cover the full wavelength range of Eradiate (PR233).Fixed a bug where converting an integer to a
Spectrum
would fail (PR236).Fixed a bug where the two BSDFs in the
CentralPatchSurface
would be assigned in the wrong order (PR237).Raise an exception when molecular concentrations are out of bounds (PR237).
Various fixes to the
rpv
plugin, among which a missing PDF term in thesample()
method (PR240).Fix incorrect spectral indexing of result datasets in CKD mode (PR241).
Improve the Solar irradiance spectrum initialisation sequence (PR242).
The
thuillier_2003_extrapolated
dataset is now the default Solar irradiance spectrum (PR242).
Internal changes#
v0.22.3 (22 May 2022)#
New features#
Added entry point
eradiate.run()
, which executes a full experiment pipeline and returns results as an xarray dataset (PR210).
Breaking changes#
Changed the
ParticleLayer.dataset
field’s default value to the more useful the continental aerosol datasetspectra/particles/govaerts_2021-continental.nc
(PR212).Changed the interface of the
ParticleLayer
: thetau_550
field is replaced by a more generaltau_ref
which sets the extinction optical thickness of the particle layer at a reference wavelength specified by thew_ref
field.w_ref
defaults to 550 nm, thus preserving prior behaviour (PR221).
Deprecations and removals#
Improvements and fixes#
Added support for all missing AFGL 1986 reference atmospheres in CKD mode (PR185).
Fixed incorrect phase function blending in multi-component atmospheres (PR197, PR206).
Fixed incorrect volume data transform for spherical heterogeneous atmospheres (PR199).
Added default value for
CKDSpectralContext.bin_set
(PR205).Added a
-l
option to theeradiate data info
command-line utility. If this flag is set, the tool displays the list of files registered to each data store (PR208).Added an optional
DATA_STORES
argument to theeradiate data info
command-line utility which may be used to select the data stores for which information is requested (PR208).Added a new
load_dataset()
converter. It allows to set fields expecting an x array dataset using a path to a file or a data store resource (PR212).The
ParticleLayer
class no longer opens a dataset upon collision coefficient evaluation; instead, its dataset field now holds an xarray dataset (instead of a path), which does not change over the instance lifetime. This reduces the amount of time spent on I/O (PR212).Added the possibility to optionally export extra fields useful for analysis and debugging upon calling
AbstractHeterogeneousAtmosphere.eval_radprops()
(PR206, PR212).Re-formatted
spectra/particles/govaerts_2021-*-extrapolated.nc
data sets (PR213).Replaced leftover calls to deprecated
eradiate.data.open
witheradiate.data.open_dataset
(PR220).Improved
TabulatedPhaseFunction
’s behaviour. If the phase function lookup table coordinatemu
defines a regular grid, the phase function is no longer resampled on a regular grid, which results in improved performance. Otherwise, i.e. ifmu
defines an irregular grid, phase function data is resampled on a regularmu
grid with a step equal to the smallest detected step in themu
coordinate array, which preserves accuracy (PR226).
Documentation#
Internal changes#
The
progress
configuration variable is now anIntEnum
, allowing for string-based setting while retaining comparison capabilities (PR202).Internal
_util
library is nowutil.misc
(5a593d3).Added a Numpydoc docstring parsing module (PR200).
Added a
deprecated()
decorator to mark a component for deprecation (PR200).Updated regression testing interface for improved robustness and ease of use (PR207).
Rewrote
eradiate data info
CLI for improved maintainability (PR208).Refactored
ParticleLayer
unit tests and added system tests (PR219, PR222, PR224).
v0.22.2 (23 March 2022)#
New features#
Improvements and fixes#
Documentation#
Internal changes#
Refactor regression testing framework to handle more use cases and make it more robust (PR188).
v0.22.1 (14 March 2022)#
This is the first official release of Eradiate.