eotools
eotools is a collection of Python tools and modules for building Earth Observation atmospheric correction processing chains. It provides utilities for satellite data management, radiometric correction, and surface reflectance retrieval.
1 Getting started
See the Getting started page for installation instructions and a quick-start example.
2 Key capabilities
2.1 Atmospheric correction
Correct satellite observations for atmospheric effects to retrieve accurate surface reflectance:
- Rayleigh scattering — Generic correction for molecular scattering using precomputed LUTs (plane-parallel or spherical modes)
- Gaseous absorption — Generic correction for absorption by atmospheric gases (O₃, CO₂, H₂O, CH₄, N₂O, NO₂)
- Sun glint reflectance calculation — Model specular reflection from wave roughened water surfaces
2.2 Spectral response functions
Retrieve and work with sensor spectral response functions (SRFs) for a wide range of sensors.
Integrate high-resolution spectral data (gas absorption, Rayleigh optical depth) into band-averaged values weighted by the SRF.
2.3 Geometry & solar
- Compute viewing and illumination geometry (solar/viewing zenith and azimuth angles, scattering angle)
- Solar irradiance from various sources (LISIRD, etc.)
- Sun-earth distance correction for TOA reflectance
- Earth radius and Chapman function for slant-path corrections
2.4 Surface & ancillary data
- DEM - Retrieve and apply digital elevation models (GTOPO30, Copernicus DEM)
- Water masks - Global Surface Water (GSW) classification from JRC dataset
- Ancillary data - Apply atmospheric ancillary variables (pressure, ozone, wind) from NASA or other providers (rely on the
eoreadpackage)
2.5 Radiometry
- Convert TOA radiance to TOA reflectance
- Unit validation and conversion utilities