Recent Releases of Eradiate

Eradiate - v0.30.0

In this major release, we add several features related with polarization and aquatic surface modelling. We also further improve the expert interface with additional syntactic sugar and debugging tools.

[!important]

The mycena CKD dataset (10 nm resolution) has been updated and fixed. The mycena keyword now routes to this updated version (mycena_v2), both for data download and consumption. The previous version of the dataset is still available as mycena_v1.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn about 1 month ago

Eradiate - v0.29.2

This is mostly a fix release. Among others, it fixes the new Mitsuba scene tree traversal function and moves the make_gaussian() SRF generation function.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn 6 months ago

Eradiate - v0.29.1

This is a minor feature release. It updates the radiometric kernel to v0.3.1, which adds the selectbsdf plugin, and introduces the transitional expert interface, which allows to inject Mitsuba scene dictionary fragments manually in an experiment.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn 6 months ago

Eradiate - v0.29.0

In this major release, we add official support for polarized radiative transfer simulation. Polarization is currently supported for the atmosphere (molecular and aerosol components), stay tuned for updates on polarized surface models. This feature is controlled by the mode switcher: just call eradiate.set_mode("mono_polarizated") or eradiate.set_mode("ckd_polarizated") when you start setting up your simulation. After post-processing, the four Stokes vector components are added to the output product.

We also heavily refactored the components that handle the spectral dimension. We clarified the spectral discretization model and modified some interface points to make things more explicit. We significantly improved spectral component inspection (typically, the spectral grid and spectral response functions). Have a look at our revamped spectral discretization guide.

Finally, we updated our surface mesh generation component to also add texture coordinates to the produced mesh. This allows to define surface textures, a key feature when it comes to assembling 3D scenes.

[!important]
When upgrading, pay attention to the following:

  • When setting up an experiment, the parameter controlling the spectral quadrature point count configuration is changed from quad_spec to ckd_quad_config. This parameter now accepts a CKDQuadConfig instance or a dictionary. You will have to update this if you were using this feature.
  • Instrument spectral response functions are now specified using the SpectralResponseFunction type. The dictionary syntax remains unchanged. SRF objects can now be visualized in Jupyter notebooks.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn 7 months ago

Eradiate - v0.28.0

In this major release, we added a new variant of the volumetric path tracing algorithm that performs much better when working with a plane-parallel atmosphere. We also added an option to report an estimate of the variance on the main radiometric variable computed by each sensor. Finally, we improved the documentation of our spectral response function library, and performed some cleanup on the data we provide.

[!Important]
When upgrading, pay attention to the following:

  • We removed the PRISMA band SRFs, which were effectively computed from Gaussian parameters. Instead, users should use the srf_tools.make_gaussian() function.
  • We capped our Numpy version requirement to prevent unintentional upgrade to v2.0.0+. While this is a questionable choice, we had to make this decision because we cannot currently guarantee that our code will be compatible with all supported Numpy version. We will relax this constraint as soon as possible.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn 9 months ago

Eradiate - v0.27.2

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

Atmosphere - Radiative Transfer - Python
Published by leroyvn 11 months ago

Eradiate - v0.27.1

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.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn 11 months ago

Eradiate - v0.27.0

This major release 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.

[!Important]
When upgrading, please check the following:

  • Settings are now accessed through the eradiate.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, the AbsorptionDatabase reference (in particular the AbsorptionDatabase.from_name() and AbsorptionDatabase.from_directory() constructors), as well as the molecular atmosphere tutorial.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn 11 months ago

Eradiate - v0.26.3

This is a fix release. It bumps our Mitsuba dependency requirement to v0.2.1 and fixes minor data download issues.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn about 1 year ago

Eradiate - v0.26.2

This is a fix release. It brings improves in the textual representation of some data, provides convenience initialization values for most Experiment subclasses and fixes two critical bugs.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn about 1 year ago

Eradiate - v0.26.1

This is a major release. This is a summary of the most important changes:

  • We dropped support for Python 3.8, following the Numpy deprecation policy. If you are using our PyPI package, you will need to create a new environment based on Python 3.9 or more recent to upgrade to v0.26.x. If you are running a development setup, you will need to recreate your dev environment accordingly with the development environment setup instructions.
  • We provide now experimental support for Windows. Please reach out through our issue board or discussions forum if you need help.
  • We added the Hapke surface reflection model (see the HapkeBSDF API documentation). This model primarily aims at representing bare soil (without) vegetation).
  • A new post-processing pipeline architecture, based on the Hamilton library, streamlines our
    post-processing, and improves its flexibility and maintainability. While this should not have a noticeable impact from a user's perspective, it will allow the implementation of several features prevented by the old pipeline system. A tutorial showcases a few features of this new system.
  • We introduced a new scene loader based on JSON files designed to facilitate the loading of mesh-based canopy scenes. The scene loader is described in a user guide page, and a simplified interface automating the loading of the RAMI-V scenarios is provided.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn about 1 year ago

Eradiate - v0.25.0

In this major release, we change the atmospheric profile interface for improved flexibility.

  • Eradiate’s atmospheric thermophysical profiles are no longer restricted to the built-in profiles. You can now use any profile, including data curated by yourself. Of course, the built-in profiles are still available. Thermophysical property handling is now externalized to a new library Joseki. Joseki’s output format is documented here.
  • We added an interface to customize atmospheric absorption data. If you need to fit the data for a specific use case (e.g. to work with an atmosphere from another planet than Earth), it is now possible. The data format is described in our data guide.
  • The quadrature rule used for spectral discretization in CKD mode can now be specified in a flexible way. The number of quadrature points is no longer set to a built-in value, and the atmospheric absorption datasets ship metadata that can be leveraged to dynamically select a quadrature that minimizes the error on atmospheric transmittance.

[!IMPORTANT]
This update changes the MolecularAtmosphere constructor. While the new defaults improve consistency and convenience, existing codebases will require adaptation. In particular, the spectral range specified for data loading must be consistent with the spectral range covered by the sensor’s spectral response function. We strongly recommend going through the Molecular atmosphere basics tutorial. See also the Changed section of the detailed change log below for more details.

If you experience issues upgrading your code to this new interface, please get in touch through our Discussions forum.

» Detailed change log «

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 1 year ago

Eradiate - v0.24.4

Release highlights

» Detailed change log «

This is a minor feature release. It adds an option to set a timeout to radiometric kernel runs and fixes a few bugs.

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 1 year ago

Eradiate - v0.24.3

Release highlights

» Detailed change log «

This is a fix release. It ensures compatibility with current xarray versions (v2023.8 and later).

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 1 year ago

Eradiate - v0.24.2

Release highlights

» Detailed change log «

This is a fix release.

  • It solves a couple of critical bugs in the dependency managment system.
  • A minor units problem is fixed on the SpectralIndex as well.

Atmosphere - Radiative Transfer - Python
Published by wint3ria over 1 year ago

Eradiate - v0.24.0

Release highlights

» Detailed change log «

  • This is mainly a fix release. Thanks to our users for raising issues!
  • An experimental interface to mesh-based preset canopies is added. The currently distributed data is limited to the Wellington Citrus Orchard scene; it will be expanded in the coming releases.

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 1 year ago

Eradiate - v0.23.2

Release highlights

» Detailed change log «

  • Eradiate is now published on PyPI and can be installed using Pip. See the new installation instructions. This is still experimental and feedback is welcome.
  • The spectral configuration of measures has changed. The new behaviour is documented in the Spectral discretization guide.
  • A new AstroObjectIllumination model has been added. It models the illumination by a distant celestial body with a finite apparent size in the sky. Support for this illumination model is currently experimental and we still recommend using the DirectionalIllumination for your computations.
  • The DEMExperiment now supports the spherical-shell geometry.
  • The command-line interface now uses the Typer framework for improved user experience.

Atmosphere - Radiative Transfer - Python
Published by leroyvn almost 2 years ago

Eradiate - v0.23.1

What's Changed

Full Changelog: https://github.com/eradiate/eradiate/compare/v0.22.5...v0.23.1

Atmosphere - Radiative Transfer - Python
Published by leroyvn about 2 years ago

Eradiate - v0.22.5

What's Changed

Full Changelog: https://github.com/eradiate/eradiate/compare/v0.22.4...v0.22.5

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 2 years ago

Eradiate - v0.22.4

What's Changed

Full Changelog: https://github.com/eradiate/eradiate/compare/v0.22.3...v0.22.4

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 2 years ago

Eradiate - v0.22.3

What's Changed

Full Changelog: https://github.com/eradiate/eradiate/compare/v0.22.2...v0.22.3

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 2 years ago

Eradiate - v0.22.2

What's Changed

Full Changelog: https://github.com/eradiate/eradiate/compare/v0.22.1...v0.22.2

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 2 years ago

Eradiate - v0.22.1

This is the first official release of Eradiate.

Atmosphere - Radiative Transfer - Python
Published by leroyvn over 2 years ago