Quick Start

This guide shows how to process satellite imagery with ACOLITE in just a few steps.

Basic Processing (CLI)

The simplest way to run ACOLITE is via the command line:

python launch_acolite.py --cli \
    --inputfile /path/to/S2A_MSIL1C_*.zip \
    --output /path/to/output

This will:

  1. Detect the input sensor type automatically

  2. Convert to L1R (TOA reflectance)

  3. Apply atmospheric correction (L2R)

  4. Generate RGB images

Using a Settings File

For more control, create a settings file:

settings.txt
## Input/Output
inputfile=/data/S2A_MSIL1C_20230615T103021_N0509_R108_T32TQM_20230615T142925.zip
output=/data/output

## Water quality parameters to compute
l2w_parameters=chl_oc3,t_nechad2016

## Generate RGB images
rgb_rhot=True
rgb_rhos=True

## Export GeoTIFF
l2r_export_geotiff=True

Run with the settings file:

python launch_acolite.py --cli --settings settings.txt

GUI Mode

Launch the graphical interface:

python launch_acolite.py

The GUI allows you to:

  • Browse and select input files

  • Configure processing settings

  • Monitor processing progress

  • View output files

Python API

Use ACOLITE programmatically:

import acolite as ac

# Method 1: Run full pipeline with settings dict
settings = {
    'inputfile': '/data/S2A_MSIL1C_*.zip',
    'output': '/data/output',
    'l2w_parameters': 'chl_oc3,t_nechad2016',
    'rgb_rhos': True
}
ac.acolite.acolite_run(settings)

# Method 2: Step-by-step processing
# Convert to L1R
l1r_files = ac.acolite.acolite_l1r('/data/input.zip')

# Read L1R and apply atmospheric correction
gem = ac.gem.read(l1r_files[0])
l2r_file = ac.acolite.acolite_l2r(gem, output='/data/output')

# Compute water quality parameters
l2w_file = ac.acolite.acolite_l2w(gem)

Subsetting by Region

Process only a specific geographic region:

Using bounding box (limit)

## South, West, North, East in decimal degrees
limit=51.0,2.5,51.5,3.5

Using a polygon file

polygon=/path/to/region.geojson

Using station coordinates

station_lon=3.05
station_lat=51.25
station_box_size=10
station_box_units=km

Batch Processing

Process multiple scenes by providing comma-separated inputs or a directory:

python launch_acolite.py --cli \
    --inputfile /data/scenes/scene1.zip,/data/scenes/scene2.zip \
    --output /data/output

Or process all files in a directory:

python launch_acolite.py --cli \
    --inputfile /data/scenes/ \
    --output /data/output

Output Files

ACOLITE generates several output files:

File Pattern

Description

*_L1R.nc

Level 1R: TOA reflectance (rhot_*)

*_L2R.nc

Level 2R: Surface reflectance (rhos_*, rrs_*)

*_L2W.nc

Level 2W: Water quality parameters

*_rgb_rhot.png

RGB composite of TOA reflectance

*_rgb_rhos.png

RGB composite of surface reflectance

*.tif

GeoTIFF exports (if enabled)

Reading Output Data

Open ACOLITE NetCDF outputs with xarray or the GEM class:

import xarray as xr

# Using xarray
ds = xr.open_dataset('output_L2R.nc')
rhos_560 = ds['rhos_560']  # Surface reflectance at 560nm

# Using ACOLITE GEM class
import acolite as ac
gem = ac.gem.read('output_L2R.nc')
rhos_560 = gem.data('rhos_560')

Common Settings

Here are the most frequently used settings:

Atmospheric correction

atmospheric_correction=True
dsf_aot_estimate=tiled

Water quality parameters

l2w_parameters=chl_oc3,chl_re_gons,t_nechad2016,spm_nechad2016

Masking

l2w_mask=True
l2w_mask_wave=1600
l2w_mask_threshold=0.0215

Output formats

rgb_rhot=True
rgb_rhos=True
l2r_export_geotiff=True
l2w_export_geotiff=True

Ancillary data

ancillary_data=True
dem_pressure=True

See Settings Reference for a complete reference.

Next Steps