ACOLITE atmospheric correction for Google Earth Engine
Project description
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).
Contact
- GitHub: @Aouei
- Email: sergiohercar1@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gee_acolite-1.2.0.tar.gz.
File metadata
- Download URL: gee_acolite-1.2.0.tar.gz
- Upload date:
- Size: 24.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05ce9f07b8e5d89d8d0967969453915753b6322571569ca32e2c8e8c3f1f3702
|
|
| MD5 |
1f1230924aa8cf0ee9274a82eff3d554
|
|
| BLAKE2b-256 |
0f0c9dd899c1b8825d9e8db2b34bc6324d3559363a271e38bd12da97866cb64f
|
Provenance
The following attestation bundles were made for gee_acolite-1.2.0.tar.gz:
Publisher:
publish_to_pypi.yml on Aouei/gee_acolite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gee_acolite-1.2.0.tar.gz -
Subject digest:
05ce9f07b8e5d89d8d0967969453915753b6322571569ca32e2c8e8c3f1f3702 - Sigstore transparency entry: 1028607342
- Sigstore integration time:
-
Permalink:
Aouei/gee_acolite@b503cc8f75b589a1b42cc346e8bfeab947d79788 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Aouei
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@b503cc8f75b589a1b42cc346e8bfeab947d79788 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gee_acolite-1.2.0-py3-none-any.whl.
File metadata
- Download URL: gee_acolite-1.2.0-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
067b23c6f69f73968d2ed65bccea065f892e30985fa92acc34fc16c77b1edbec
|
|
| MD5 |
d581bcfb39e032ae693b856f258f9496
|
|
| BLAKE2b-256 |
45bde57d8b6ccf136aa1ed6c4bca8bb651481444c71f8715b5db658cde49cb33
|
Provenance
The following attestation bundles were made for gee_acolite-1.2.0-py3-none-any.whl:
Publisher:
publish_to_pypi.yml on Aouei/gee_acolite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gee_acolite-1.2.0-py3-none-any.whl -
Subject digest:
067b23c6f69f73968d2ed65bccea065f892e30985fa92acc34fc16c77b1edbec - Sigstore transparency entry: 1028607439
- Sigstore integration time:
-
Permalink:
Aouei/gee_acolite@b503cc8f75b589a1b42cc346e8bfeab947d79788 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Aouei
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@b503cc8f75b589a1b42cc346e8bfeab947d79788 -
Trigger Event:
workflow_dispatch
-
Statement type: