eradiate
Eradiate: a next-generation radiative transfer model for Earth observation applications
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.5%) to scientific vocabulary
Keywords
Repository
Eradiate: a next-generation radiative transfer model for Earth observation applications
Basic Info
- Host: GitHub
- Owner: eradiate
- License: lgpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://www.eradiate.eu
- Size: 23.7 MB
Statistics
- Stars: 69
- Watchers: 5
- Forks: 13
- Open Issues: 3
- Releases: 23
Topics
Metadata Files
README.md
Eradiate Radiative Transfer Model
Eradiate is a modern radiative transfer simulation software package for Earth observation applications. Its main focus is accuracy, and for that purpose, it uses the Monte Carlo ray tracing method to solve the radiative transfer equation.
Detailed list of features
- Spectral computation
Solar reflective spectral region
Eradiate ships spectral data in the solar reflective region (at least from 280 nm to 2500 nm).Line-by-line simulation
These are true monochromatic simulations (as opposed to narrow band simulations). Eradiate provides monochromatic absorption databases covering the [250, 3125] nm interval. User-defined absorption databases are also supported (see the database format).Band simulation
These simulations computes results in spectral bands. The correlated k-distribution (CKD) method with configurable quadrature rule is used. This method achieves a trade-off between performance and accuracy for the simulation of absorption by gases. Eradiate provides CKD-ready absorption databases for the [250, 3125] nm interval, with various spectral bin sizes (100 cm⁻¹, 1 nm, 10 nm). User-defined absorption databases are also supported (see the database format).Polarization
Eradiate optionally supports polarized light simulation. This feature can be switched on or off to achieve the best compromise between accuracy and performance. - Atmosphere
One-dimensional atmospheric profiles
Both standard profiles, e.g. the AFGL (1986) profiles, and customized profiles are supported.Plane-parallel and spherical-shell geometries
This allows for more accurate results at high illumination and viewing angles. - Surface
Lambertian, RPV, Ross Thick-Li Sparse, Hapke and ocean surface reflection models
All models can be parametrized against the spectral dimension.Detailed surface geometry
Add a discrete canopy model (either disk-based abstract models, or more realistic mesh-based models).Combine with atmospheric profiles
Your discrete canopy can be integrated within a scene featuring a 1D atmosphere model in a fully coupled simulation. - Illumination
Directional or finite-size illumination model
Eradiate supports both ideal (Delta angular distribution), and realistic (finite angular size) illumination models. - Measure
Top-of-atmosphere radiance and BRF computation
An ideal model suitable for satellite data simulation.Perspective camera sensor
Greatly facilitates scene setup: inspecting the scene is very easy.Many instrument spectral response functions
Our SRF data is very close to the original data, and we provide advice to further clean up the data and find the right balance between accuracy and performance. - Monte Carlo ray tracing
Mitsuba renderer as radiometric kernel
We leverage the advanced Python API of a cutting-edge C++ rendering system.State-of-the-art volumetric path tracing algorithm
Mitsuba ships a null-collision-based volumetric path tracer which performs well in many of the cases Eradiate is used for. We also provide a special-purpose path tracing algorithm for plane-parallel geometries that can perform up to 2 orders of magnitude faster than the null-collision algorithm. - Traceability
Documented data and formats
We explain where our data comes from and how users can build their own data in a format compatible with Eradiate's input.Transparent algorithms
Our algorithms are researched and documented, and their implementation is open-source.Thorough testing
Eradiate is shipped with a large unit testing suite and benchmarked periodically against community-established reference simulation software. - Interface
Comprehensive Python interface
Abstractions are derived from computer graphics and Earth observation and are designed to feel natural to EO scientists.Designed for interactive usage
Jupyter notebooks are now an essential tool in the digital scientific workflow.Integration with Python scientific ecosystem
The implementation is done using the Scientific Python stack.Standard data formats (mostly NetCDF)
Eradiate uses predominantly Xarray data structures for I/O.
Installation and usage
For build and usage instructions, please refer to the documentation.
Support
Got a question? Please visit our discussion forum.
Authors and acknowledgements
Eradiate is developed by a core team consisting of Vincent Leroy, Claudia Emde, Nicolae Marton, Nicolas Misk and Yves Govaerts. For more information about the Eradiate team, visit our website.
Eradiate uses the Mitsuba 3 renderer, developed by the Realistic Graphics Lab, taking advantage of its Python interface and proven architecture, and extends it with components implementing numerical methods and models used in radiative transfer for Earth observation. The Eradiate team acknowledges Mitsuba creators and contributors for their work.
The development of Eradiate is funded by the Copernicus programme through a project managed by the European Space Agency (contract no 40000127201/19/I‑BG). The design phase was funded by the MetEOC-3 project (EMPIR grant 16ENV03).
Citing Eradiate
The most general citation is as follows:
bibtex
@software{Eradiate,
author = {Leroy, Vincent and Nollet, Yvan and Schunke, Sebastian and Misk, Nicolas and Marton, Nicolae and Govaerts, Yves},
license = {LGPL-3.0},
title = {Eradiate radiative transfer model},
url = {https://github.com/eradiate/eradiate},
doi = {10.5281/zenodo.7224314},
year = {2024}
}
If you want to reference a specific version, you can update the previous
citation with doi, year and version fields populated with metadata
retrieved from our
Zenodo records.
Example:
bibtex
@software{Eradiate,
author = {Leroy, Vincent and Nollet, Yvan and Schunke, Sebastian and Misk, Nicolas and Marton, Nicolae and Govaerts, Yves},
license = {LGPL-3.0},
title = {Eradiate radiative transfer model},
url = {https://github.com/eradiate/eradiate},
doi = {10.5281/zenodo.13897261},
year = {2024},
version = {0.29.0},
}
License
Eradiate is free software licensed under the GNU Lesser General Public License (v3).
Project status
Eradiate is actively developed. It is beta software.
Owner
- Name: Eradiate
- Login: eradiate
- Kind: organization
- Repositories: 6
- Profile: https://github.com/eradiate
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Eradiate radiative transfer model
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Vincent
family-names: Leroy
affiliation: Rayference
orcid: 'https://orcid.org/0000-0002-5407-0237'
- given-names: Yvan
family-names: Nollet
affiliation: Rayference
orcid: 'https://orcid.org/0000-0002-6241-444X'
- given-names: Sebastian
family-names: Schunke
affiliation: Rayference
orcid: 'https://orcid.org/0000-0002-5304-2410'
- given-names: Nicolas
family-names: Misk
affiliation: Rayference
- given-names: Nicolae
family-names: Marton
affiliation: Rayference
orcid: 'https://orcid.org/0000-0002-0465-8577'
- given-names: Claudia
family-names: Emde
affiliation: Rayference
orcid: 'https://orcid.org/0000-0003-2537-4466'
- given-names: Yves
family-names: Govaerts
affiliation: Rayference
orcid: 'https://orcid.org/0000-0002-9476-9595'
identifiers:
- type: doi
value: 10.5281/zenodo.7224314
description: Latest version on Zenodo
repository-code: 'https://github.com/eradiate/eradiate'
url: 'https://www.eradiate.eu'
license: LGPL-3.0
version: 0.30.0
date-released: '2025-03-27'
GitHub Events
Total
- Create event: 52
- Issues event: 4
- Release event: 3
- Watch event: 6
- Delete event: 37
- Member event: 1
- Issue comment event: 33
- Push event: 274
- Pull request review event: 53
- Pull request review comment event: 85
- Pull request event: 65
- Fork event: 3
Last Year
- Create event: 52
- Issues event: 4
- Release event: 3
- Watch event: 6
- Delete event: 37
- Member event: 1
- Issue comment event: 33
- Push event: 274
- Pull request review event: 53
- Pull request review comment event: 85
- Pull request event: 65
- Fork event: 3
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Vincent Leroy | v****y@r****u | 1,995 |
| Yvan Nollet | y****t@r****u | 183 |
| Sebastian Schunke | s****e@r****u | 89 |
| nicolae marton | n****n@g****m | 35 |
| Nicolas Misk | n****k@r****u | 35 |
| Nicolas Misk | n****k@g****m | 31 |
| Sebastian Schunke | s****e@g****t | 5 |
| Lucio Franceschini | l****i@r****u | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 30
- Total pull requests: 512
- Average time to close issues: 3 months
- Average time to close pull requests: 14 days
- Total issue authors: 11
- Total pull request authors: 7
- Average comments per issue: 3.07
- Average comments per pull request: 1.37
- Merged pull requests: 424
- Bot issues: 0
- Bot pull requests: 10
Past Year
- Issues: 4
- Pull requests: 99
- Average time to close issues: about 3 hours
- Average time to close pull requests: 6 days
- Issue authors: 4
- Pull request authors: 4
- Average comments per issue: 0.0
- Average comments per pull request: 0.46
- Merged pull requests: 66
- Bot issues: 0
- Bot pull requests: 10
Top Authors
Issue Authors
- wint3ria (10)
- gritk (5)
- nollety (3)
- schunkes (2)
- SylvainDoute (2)
- leroyvn (2)
- seb-absolute-sensing (2)
- fehr-t (1)
- frettini (1)
- Ly0n (1)
- jennifersusanadams (1)
Pull Request Authors
- leroyvn (255)
- nollety (133)
- schunkes (54)
- wint3ria (34)
- frettini (23)
- dependabot[bot] (10)
- lucio-f (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 662 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 92
- Total maintainers: 2
proxy.golang.org: github.com/eradiate/eradiate
- Documentation: https://pkg.go.dev/github.com/eradiate/eradiate#section-documentation
- License: lgpl-3.0
-
Latest release: v0.30.0
published 11 months ago
Rankings
pypi.org: eradiate
A radiative transfer model for the Earth observation community
- Documentation: https://eradiate.readthedocs.io/
- License: LGPLv3
-
Latest release: 0.30.0
published 11 months ago
Rankings
Dependencies
- aabbtree
- astropy
- attrs
- autodocsumm
- black
- cerberus
- click
- conda-lock >=0.12
- coverage
- dask
- dessinemoi
- environ-config
- iapws
- ipython
- ipywidgets
- isort
- jupyterlab
- matplotlib
- mock
- myst-parser
- nbsphinx
- netcdf4
- numpy
- pint
- pinttrs >=21.3.0
- pip
- pip-tools >=6.5
- pooch
- pytest
- pytest-json-report
- pytest-metadata
- pytest-xdist
- python 3.8.*
- python-dateutil
- rich
- ruamel.yaml
- scipy
- seaborn
- setuptools >=61
- setuptools-scm >=6.2
- sphinx >=3.1
- sphinx-autobuild
- sphinx-book-theme >=0.1.10
- sphinx-click >=3.0.2
- sphinx-copybutton
- sphinx-design
- sphinxcontrib-bibtex >=2.0
- tqdm
- twine
- xarray >=0.19,!=0.20.*
- black *
- conda-lock >=0.12
- coverage *
- ipython *
- ipywidgets *
- isort *
- jupyterlab *
- pip *
- pip-tools >=6.5
- setuptools >=61
- setuptools-scm >=6.2
- twine *
- 199 dependencies
- autodocsumm *
- mock *
- myst-parser *
- nbsphinx *
- sphinx >=3.1
- sphinx-autobuild *
- sphinx-book-theme >=0.1.10
- sphinx-click >=3.0.2
- sphinx-copybutton *
- sphinx-design *
- sphinxcontrib-bibtex >=2.0
- 108 dependencies
- channels *
- dependencies *
- aabbtree *
- astropy *
- attrs *
- cerberus *
- click *
- dask *
- dessinemoi *
- environ-config *
- iapws *
- matplotlib *
- netcdf4 *
- numpy *
- pint *
- pinttrs >=21.3.0
- pooch *
- python-dateutil *
- rich *
- ruamel.yaml *
- scipy *
- seaborn *
- tqdm *
- xarray >=0.19,
- aabbtree ==2.8.1
- appdirs ==1.4.4
- astropy ==5.1
- attrs ==21.4.0
- cerberus ==1.3.4
- certifi ==2022.6.15
- cftime ==1.6.0
- charset-normalizer ==2.0.12
- click ==8.1.3
- cloudpickle ==2.1.0
- commonmark ==0.9.1
- cycler ==0.11.0
- dask ==2022.6.0
- dessinemoi ==21.3.0
- environ-config ==22.1.0
- fonttools ==4.33.3
- fsspec ==2022.5.0
- iapws ==1.5.2
- idna ==3.3
- kiwisolver ==1.4.3
- locket ==1.0.0
- matplotlib ==3.5.2
- netcdf4 ==1.5.8
- numpy ==1.22.4
- packaging ==20.9
- pandas ==1.4.2
- partd ==1.2.0
- pillow ==9.1.1
- pint ==0.19.2
- pinttrs ==21.3.1
- pooch ==1.6.0
- pyerfa ==2.0.0.1
- pygments ==2.12.0
- pyparsing ==3.0.9
- python-dateutil ==2.8.2
- pytz ==2022.1
- pyyaml ==6.0
- requests ==2.28.0
- rich ==12.4.4
- ruamel-yaml ==0.17.21
- ruamel-yaml-clib ==0.2.6
- scipy ==1.8.1
- seaborn ==0.11.2
- setuptools ==62.4.0
- six ==1.16.0
- toolz ==0.11.2
- tqdm ==4.64.0
- typing-extensions ==4.2.0
- urllib3 ==1.26.9
- xarray ==2022.3.0
- pytest *
- pytest-json-report *
- pytest-metadata *
- pytest-xdist *
- aabbtree ==2.8.1
- appdirs ==1.4.4
- astropy ==5.1
- attrs ==21.4.0
- cerberus ==1.3.4
- certifi ==2022.6.15
- cftime ==1.6.0
- charset-normalizer ==2.0.12
- click ==8.1.3
- cloudpickle ==2.1.0
- commonmark ==0.9.1
- cycler ==0.11.0
- dask ==2022.6.0
- dessinemoi ==21.3.0
- environ-config ==22.1.0
- execnet ==1.9.0
- fonttools ==4.33.3
- fsspec ==2022.5.0
- iapws ==1.5.2
- idna ==3.3
- iniconfig ==1.1.1
- kiwisolver ==1.4.3
- locket ==1.0.0
- matplotlib ==3.5.2
- netcdf4 ==1.5.8
- numpy ==1.22.4
- packaging ==20.9
- pandas ==1.4.2
- partd ==1.2.0
- pillow ==9.1.1
- pint ==0.19.2
- pinttrs ==21.3.1
- pluggy ==1.0.0
- pooch ==1.6.0
- py ==1.11.0
- pyerfa ==2.0.0.1
- pygments ==2.12.0
- pyparsing ==3.0.9
- pytest ==7.1.2
- pytest-forked ==1.4.0
- pytest-json-report ==1.5.0
- pytest-metadata ==2.0.1
- pytest-xdist ==2.5.0
- python-dateutil ==2.8.2
- pytz ==2022.1
- pyyaml ==6.0
- requests ==2.28.0
- rich ==12.4.4
- ruamel-yaml ==0.17.21
- ruamel-yaml-clib ==0.2.6
- scipy ==1.8.1
- seaborn ==0.11.2
- setuptools ==62.4.0
- six ==1.16.0
- tomli ==2.0.1
- toolz ==0.11.2
- tqdm ==4.64.0
- typing-extensions ==4.2.0
- urllib3 ==1.26.9
- xarray ==2022.3.0