GEE ACOLITE
Atmospheric correction for Sentinel-2 imagery on Google Earth Engine using the ACOLITE Dark Spectrum Fitting (DSF) method.
Description
gee_acolite adapts the ACOLITE atmospheric correction to Google Earth Engine workflows. A single global AOT is estimated per image using ACOLITE LUTs (client-side), while all pixel operations run server-side on GEE.
Key features:
- Dark Spectrum Fitting: darkest pixel, percentile, or intercept methods
- AOT Estimation: single fixed AOT per image via LUT interpolation
- Atmospheric Correction: full LUT-based surface reflectance retrieval
- Water Quality Products: SPM, turbidity, chlorophyll-a, Rrs, bathymetry indices
- Cloud & Water Masking: integration with Sentinel-2 Cloud Probability
Installation
pip install gee_acolite
ACOLITE
gee_acolite requires ACOLITE for LUT loading and atmospheric calculations. ACOLITE is not on PyPI — download it from its official repository and add it to your Python path:
import sys
sys.path.append('/path/to/acolite')
import acolite as ac
from gee_acolite import ACOLITE
Quickstart
import sys
sys.path.append('/path/to/acolite')
import ee
import acolite as ac
from gee_acolite import ACOLITE
from gee_acolite.utils.search import search
ee.Initialize(project='your-cloud-project-id')
roi = ee.Geometry.Rectangle([-0.40, 39.27, -0.28, 39.38])
images = search(roi, '2023-06-01', '2023-06-30', tile='30SYJ')
settings = {
's2_target_res': 10,
'dsf_spectrum_option': 'darkest',
'l2w_parameters': ['spm_nechad2016', 'chl_oc3', 'pSDB_green'],
}
ac_gee = ACOLITE(ac, settings)
corrected, final_settings = ac_gee.correct(images)
Requirements
- Python ≥ 3.11
earthengine-api≥ 0.1.350numpy≥ 1.20.0scipy≥ 1.7.0netcdf4≥ 1.7.0- ACOLITE (separate installation)
Documentation
Full documentation including API reference, examples, and architecture diagrams is available at: https://aouei.github.io/gee_acolite
Water Quality Products
| Product | Description |
|---|---|
spm_nechad2016 |
Suspended particulate matter — 665 nm (Nechad 2016) |
spm_nechad2016_704 |
SPM — 704 nm |
spm_nechad2016_740 |
SPM — 740 nm |
tur_nechad2016 |
Turbidity — 665 nm (Nechad 2016) |
chl_oc2 |
Chlorophyll-a OC2 |
chl_oc3 |
Chlorophyll-a OC3 |
chl_re_mishra |
Chlorophyll-a NDCI (Mishra) |
pSDB_green |
Pseudo satellite-derived bathymetry — green |
pSDB_red |
Pseudo satellite-derived bathymetry — red |
Rrs_B* |
Remote sensing reflectance (all 13 bands) |
Contributing
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.
License
GNU General Public License v3.0 — see LICENSE for details.
Citation
If you use this package in your research, please cite:
@software{heredia_sergio_2026_gee_acolite,
author = {Heredia, Sergio},
title = {gee\_acolite},
year = {2026},
version = {1.0.1},
publisher = {Zenodo},
doi = {10.5281/zenodo.18367865},
url = {https://doi.org/10.5281/zenodo.18367865}
}
And the original ACOLITE paper:
@article{vanhellemont2019,
author = {Vanhellemont, Quinten and Ruddick, Kevin},
title = {Adaptation of the dark spectrum fitting atmospheric correction for aquatic applications of the Landsat and Sentinel-2 archives},
journal = {Remote Sensing of Environment},
volume = {225},
pages = {175--192},
year = {2019},
doi = {10.1016/j.rse.2019.03.010}
}
Acknowledgments
This package is based on the ACOLITE software developed by RBINS (Royal Belgian Institute of Natural Sciences).
This software was developed at the Institute of Marine Sciences of Andalusia (ICMAN-CSIC), Spanish National Research Council (CSIC), Puerto Real, Spain.
Contact
- GitHub: @Aouei
- Email: sergiohercar1@gmail.com
Metadata
Release files for gee-acolite 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gee_acolite-1.2.1.tar.gz | 24.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gee_acolite-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.3 kB
Release files / gee_acolite-1.2.1.tar.gz
| Download URL | gee_acolite-1.2.1.tar.gz |
|---|---|
| Size | 24.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aad640045f722ea96d5ffc3694dba2444ab25e71d55d684b5a097d8b3a3d7c39
|
|
BLAKE2b-256 checksum How to use checksums |
788540bdf144541c914716a5c3f7817ec06043bffc7b4c4bc5955fc8901ef3de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logRelease files / gee_acolite-1.2.1-py3-none-any.whl
| Download URL | gee_acolite-1.2.1-py3-none-any.whl |
|---|---|
| Size | 25.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3072299415a6ec9f93f90cc03fda86e6c12ee39b16883fa41a3d68798fdea16
|
|
BLAKE2b-256 checksum How to use checksums |
ad5dbc4c0fc9bedeb46ff3bdc50c2ca0680acf83f0d43a39243dbdb5feee92a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logSecurity for gee-acolite 1.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for gee_acolite-1.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.