Skip to main content

ACOLITE atmospheric correction for Google Earth Engine

Project description

DOI PyPI version License: GPL v3 Python

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.350
  • numpy ≥ 1.20.0
  • scipy ≥ 1.7.0
  • netcdf4 ≥ 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gee_acolite-1.2.0.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gee_acolite-1.2.0-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

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

Hashes for gee_acolite-1.2.0.tar.gz
Algorithm Hash digest
SHA256 05ce9f07b8e5d89d8d0967969453915753b6322571569ca32e2c8e8c3f1f3702
MD5 1f1230924aa8cf0ee9274a82eff3d554
BLAKE2b-256 0f0c9dd899c1b8825d9e8db2b34bc6324d3559363a271e38bd12da97866cb64f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gee_acolite-1.2.0.tar.gz:

Publisher: publish_to_pypi.yml on Aouei/gee_acolite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for gee_acolite-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 067b23c6f69f73968d2ed65bccea065f892e30985fa92acc34fc16c77b1edbec
MD5 d581bcfb39e032ae693b856f258f9496
BLAKE2b-256 45bde57d8b6ccf136aa1ed6c4bca8bb651481444c71f8715b5db658cde49cb33

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page