Acolite Manual 20220222
Acolite Manual 20220222
Acolite Manual 20220222
1. Introduction
ACOLITE bundles the atmospheric correction algorithms and processing software developed at RBINS for aquatic
applications of metre and decametre satellite data, from among others Landsat (5/7/8/9) and Sentinel-2 (A/B), Pléiades
and PlanetScope. ACOLITE is in particular suited for processing of turbid waters and small inland water bodies, but
can be used with reasonable success over clearer waters and land.
Figure 1: PlanetScope image of Oostende 2020-05-30 centred on the RT1 measurement platform. Left: ρt top-of-atmosphere RGB composite.
Middle: ρ s surface-level RGB composite. Right: Nechad turbidity as retrieved from the 625 nm Red band.
ACOLITE performs both the atmospheric correction and can output several parameters derived from water re-
flectances. RGB composites and PNG maps can also be generated. ACOLITE was originally implemented in IDL
(2014–2017), and has been translated into Python (2018–2021). A new generic Python version (2021–present) was re-
leased for public beta in April 2021 that integrates the processing of metre-scale sensors such as Pléiades, WorldView,
and PlanetScope, as well as the processing of Sentinel-3 (A/B) OLCI data. The original IDL and Python implementa-
tions are no longer supported or developed. Version 20210114.0 of the binary release is the last version based on the
older Python codebase, versions after are based on the new generic Python codebase.
Please visit the ACOLITE forum (http://odnature.naturalsciences.be/remsem/acolite-forum/) or email Quinten
(quinten.vanhellemont@naturalsciences.be) for bug reports, support and feature requests. The latest ACOLITE Python
source code is available from GitHub (https://github.com/acolite/acolite). The previous Landsat and Sentinel-2 ver-
sion, and the metre-scale version, are no longer supported but both versions remain available on GitHub (respectively
at https://github.com/acolite/acolite_ls2 and https://github.com/acolite/acolite_mr).
2. Atmospheric correction
2.1. Overview
ACOLITE Python includes two atmospheric correction algorithms, the default "Dark Spectrum Fitting" or DSF
algorithm (Vanhellemont and Ruddick, 2018; Vanhellemont, 2019a, 2020c) and the older "Exponential extrapolation"
or EXP algorithm (Vanhellemont and Ruddick, 2014, 2015, 2016). The use of the DSF is recommended, but the EXP
is included for completeness, and for users and applications that rely on it. The adaptation and applicability of the
DSF to Landsat and Sentinel-2 is described in Vanhellemont (2019a, 2020c). DSF for metre-scale imagery can be
found in Vanhellemont and Ruddick (2018); Vanhellemont (2019b, 2020c), and the adaptation to Sentinel-3 OLCI is
discussed in Vanhellemont and Ruddick (2021).
The Thermal Atmospheric Correction Tool (TACT, Vanhellemont, 2020a,b) is now integrated in ACOLITE and
can be used for retrieving surface temperatures from the Landsat sensors. Additional TACT validation is provided for
near-shore waters in Vanhellemont et al. (2022) and for Antarctic mountain sides in Vanhellemont et al. (2021). Some
additional configuration is required for running TACT as it relies on atmospheric profile inputs and libRadtran (see
further).
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
2.4. Outputs
The atmospheric correction procedure generates two NetCDF files containing reflectance data: (1) Level 1, top-
of-the atmosphere reflectances (ρt , rhot_*), L1R and (2) Level 2, surface level reflectances (ρ s , rhos_*), L2R. Based
on these files the RGB composites are generated, and derived parameters are computed. Derived parameters are
output to an L2W NetCDF file. Certain sensors will generate an additional L1R file for their higher spatial resolution
panchromatic channel. TACT processing generates an additional L2T file. Optionally the datasets from the NetCDF
files can be output to GeoTIFF files if the original input data were in a projection supported by GeoTIFF.
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
2.6. LUTs
The look-up tables (LUTs) required for ACOLITE/DSF are not included in the main distributions to reduce initial
download volume. Many sensors are now supported, and not every user needs to have the LUTs for all sensors
locally. The LUTs should be retrieved automatically from the acolite_luts repository on GitHub when needed during
processing, or when the --retrieve_luts option is used (see further). If the automated retrieval does not work for some
reason, LUTs can be manually obtained from https://github.com/acolite/acolite_luts The LUTs should be put in the
acolite/data/LUT directory keeping the file structure on acolite_luts. For example, to process L8_OLI data, put the
files from the repository:
https://github.com/acolite/acolite_luts/tree/main/ACOLITE−LUT−202110/L8_OLI
https://github.com/acolite/acolite_luts/tree/main/ACOLITE−LUT−202110−Reverse/L8_OLI
https://github.com/acolite/acolite_luts/tree/main/Gas
https://github.com/acolite/acolite_luts/tree/main/RSKY−202102/L8_OLI
https://github.com/acolite/acolite_luts/tree/main/WV
into the acolite/data/LUT folder (note that this directory may need to be created):
acolite/data/LUT/ACOLITE−LUT−202110/L8_OLI
acolite/data/LUT/ACOLITE−LUT−202110−Reverse/L8_OLI
acolite/data/LUT/Gas
acolite/data/LUT/RSKY−202102/L8_OLI
acolite/data/LUT/WV
In the binary distribution the main acolite directories are named acolite_py_linux, acolite_py_mac, acolite_py_win,
and hence the location of the LUTs should be (for Windows):
acolite_py_win/data/LUT/ACOLITE−LUT−202110/L8_OLI
acolite_py_win/data/LUT/ACOLITE−LUT−202110−Reverse/L8_OLI
acolite_py_win/data/LUT/Gas
acolite_py_win/data/LUT/RSKY−202102/L8_OLI
acolite_py_win/data/LUT/WV
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
3. Processor overview
ACOLITE is distributed in a compiled binary format and as Python source code through GitHub. Docker images
are made available on DockerHub. ACOLITE can be used in GUI and CLI modes. The Python source code can
also be imported into custom scripts. The GUI offers only limited configuration (file input/output, ROI setting,
output parameters and loading/saving of settings files) and is aimed at new users. Full configuration can be done
using plain text ’settings files’, that are interpreted both by the GUI and CLI. The use of ’minimal’ settings files is
recommended, i.e. only adding the settings you want to change. Missing settings will be set to defaults automatically.
It is recommended that users do not change the defaults settings file at config/defaults.txt but rather create a new
processing settings file for a specific run. GUI and CLI use is described below for the binary distribution and Python
source code.
– Inputfile as directory: This box determines whether the inputfile to be selected using "Select input" is a single
file (e.g. PlanetScope zipped bundle) or a directory (e.g. extracted Landsat or Sentinel-2 bundle).
– Select input: Select the input directory or file for processing. This should be either the directory containing the
L1 scene data (e.g. a Landsat bundle or a Sentinel-2 .SAFE file) or a single input file.
– L2W parameters: List the required output parameters here, see Section 5 for a full list. If empty, only L1R and
L2R files will be generated.
– PNG outputs: Tick boxes for the generation of RGB composites using top-of-atmosphere (ρt ) or (ρ s ) re-
flectances, and the generation of PNG maps of the requested L2W parameters.
– Save/Restore: Save the current settings as a text file, or restore settings from a text file.
– Run processing: Start the processing. The processing runs in a separate thread that can be stopped using the
Stop processing or Exit buttons.
– Stop processing: Stop the processing.
Figure 2: Screenshot from the Public Beta of the Generic ACOLITE Python (April 2021) running on Mac OS Big Sur.
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
Windows:
Source code:
Optionally a comma separated list of images (with their full paths, escape spaces with a backslash or use quotation
masks around the list if needed) or a text file with paths to the images can be provided with the –inputfile flag:
Windows:
Source code:
The ACOLITE CLI can also be used to retrieve the LUTs required for a list of sensors before running any pro-
cessing. E.g. for setting up a Docker container. In the following examples "python launch_acolite.py" can also be
replaced by "dist/acolite/acolite" or "dist\acolite\acolite.exe" for the binary version.
Get the LUT for named sensors (here S2A/MSI and S2B/MSI):
python launch_acolite.py --retrieve_luts --sensor S2A_MSI,S2B_MSI
3.3. Inputfiles
ACOLITE can process top-of-atmosphere imagery from a series of satellite sensors. Since the formatting by the
commercial operators or space agencies is different for each sensor, the inputfile needs to be provided appropriately.
Inputfiles can be either single files (e.g. CHRIS .hdf files or zipped Planet bundles) or directories (e.g. Sentinel .SAFE
bundles or extracted Planet bundles). In this section the inputfile options are listed per sensor.
– AMAZONIA1/CBERS4(A) Provide the full path to a directory containing the "L2" data and metadata files per
band.
– CHRIS Provide the full path to a CHRIS .hdf file
– DESIS Provide the full path to the extracted L1C bundle directory.
– Gaofen: GF1D / GF6 Provide the full path to the extracted L1 bundle directory containing the -MUX.tiff image
and -MUX.xml metadata files.
– HICO Provide the full path to the L1B_ISS.nc file.
– EO1/ALI, EO1/HYPERION Provide the full path to the extracted L1 bundle directory.
– Landsat 5/7/8/9 Provide the full path to the extracted bundle (i.e. extract the .tar archive). Make sure you have
a L1 TOA bundle, not a L2 SR bundle. Level 1 data from both Collection1 and Collection2 are supported.
– PlanetScope / RapidEye Provide the path to a zipped file or unzipped bundle. Make sure you have a L1 TOA
file (i.e. AnalyticMS.tif or AnalyticMS_clip.tif files) and not a SR file.
– Pléiades-1 A/B Provide the path to an unzipped bundle that contains the IMG_PHR1A_MS/IMG_PHR1B_MS
directories.
– PRISMA Provide the path to the .he5 file (PRS_L1_STD). The official L2C file (PRS_L2C_STD) is required
to be present in the same directory as the L1. The L2C file does not have to be specified in your settings file, it
will be automatically detected.
– Sentinel-2 Provide the full path to the extracted .SAFE file. Make sure you have a L1C TOA bundle, not a L2
SR bundle.
– Sentinel-3/OLCI, ENVISAT1/MERIS Provide the full path to the extracted .SEN3 file. Make sure you have a
L1 TOA bundle (S3A_OL_1_ERR or S3A_OL_1_EFR for S3A), not a L2 SR bundle (e.g. S3A_OL_2_WFR
or S3A_OL_2_LFR). For MERIS processing only the 4th reprocessing .SEN3 files are supported.
– Skysat Provide the path to an unzipped bundle. Make sure you have a L1 TOA bundle containing analytic.tif
or analytic_clip.tif files with reflectance_coefficients in the TIFFTAG_IMAGEDESCRIPTION.
– SPOT 6/7 Provide the path to the "VOL" directory that contains the "IMG" directory (e.g. IMG_SPOT6_PMS_001_A
or IMG_SPOT7_PMS_001_A). Note that this may be a few levels deep in the extracted files.
– Venµs Provide the path to the extracted zip file that contains the main .tif and .xml files.
– WorldView-2/3, QuickBird2 Provide the path to an unzipped bundle that contains the main .TIF and .XML
files.
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
A settings file that will output an area around the port of Zeebrugge in the specified directory, with water-leaving
radiance reflectance in all bands output in the L2W file:
A settings file to output Sentinel-2 data resampled to a 60 m grid for the same region of interest, increasing the
masking threshold, apply a glint correction, and exporting the L2W datasets as GeoTIFF files:
A settings file for a larger region of interest, merging four Sentinel-2 tiles. Note that the scenes are listed on a
single line, as a comma separated string:
A settings file for a larger region of interest, merging four Sentinel-2 tiles from two different UTM zones (two
from zone 33, two from zone 32). Note that the zone from the first tile (in this case 33) will be used as reference to
reproject the other tiles before merging:
The L1R.nc file from a previous run can also be used as an inputfile, e.g. the L1R output from the previous run:
To use the source code a Python 3 environment is needed with the following packages (and their dependencies):
numpy matplotlib scipy gdal pyproj scikit−image pyhdf pyresample netcdf4 h5py requests pygrib astropy cartopy
A suitable Python environment can be set up using conda (either from miniconda or anaconda) and the packages
on conda-forge:
ACOLITE can then be launched using Python, with optional command line options as described above:
python acolite/launch_acolite.py
ACOLITE can be imported in other Python scripts or Jupyter notebooks, e.g. when the git clone is in a git folder
in your user home directory:
The processing can then be integrated in other scripts, e.g. by using a Python dict to provide settings:
settings = {"inputfile":"S2B_MSIL1C_20200922T104649_N0209_R051_T31UES_20200924T124918.SAFE",
"output":"~/Output/",
"s2_target_res":60,
"dsf_residual_glint_correction":True}
ac.acolite.acolite_run(settings=settings)
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
## Data directory
data_dir=data
## Scratch directory
scratch_dir=scratch
## MET files
met_dir=data/MET
## SNAP directory
snap_directory=/Applications/snap
## TACT support
grid_dir=data/TACT/grid
## libRadtran directory
libradtran_dir=external/libRadtran−2.0.2
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
3.7.1. libRadtran
Please download libRadtran and follow compilation instructions at http://libradtran.org/doku.php TACT was suc-
cessfully tested with libRadtran version 2.0.2 on Mac and Linux. The ACOLITE configuration file at acolite/config/-
config.txt needs to be edited to include the full path to the libRadtran directory on your system in the libradtran_dir
setting, by default this is set to external/libRadtran-2.0.2 inside the main ACOLITE directory.
To install libRadtran in the external directory (when in the main acolite directory):
mkdir external
cd external
wget http://www.libradtran.org/download/history/libRadtran−2.0.2.tar.gz
gzip −d libRadtran−2.0.2.tar.gz
tar −xvf libRadtran−2.0.2.tar
cd libRadtran−2.0.2
./configure
make
make check
Your .dodsrc (e.g. nano $HOME/.dodsrc) file needs to include a full path to your .netrc file:
HTTP.NETRC=/path/to/.netrc
Note that the use of the $HOME environment variable does not work in the .dodsrc file, and that a full path needs
to be given. This can be found e.g. using "find $HOME/.netrc"
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
cd acolite−docker−all
mkdir input
mkdir output
Edit the Dockerfile (e.g. "nano Dockerfile") to add/remove the sensors you want supported or not. Use a "re-
trieve_luts" line per sensor, or a single command with a comma separated list from the following supported sen-
sors: S2A_MSI, S2B_MSI, L8_OLI, L9_OLI, L5_TM, L7_ETM, EO1_ALI, S3A_OLCI, S3B_OLCI, EN1_MERIS,
RapidEye, SPOT6, SPOT7, PHR1A, PHR1B, VENµS_VSSC, WorldView2, WorldView3, QuickBird2, PlanetScope_0c,
PlanetScope_0d05, PlanetScope_0d06, PlanetScope_0e, PlanetScope_0f, PlanetScope_22, PlanetScope_SD5, Plan-
etScope_SD8, Skysat1, Skysat2, Skysat3, Skysat4, Skysat5, Skysat6, Skysat7, Skysat8, Skysat9, Skysat10, Skysat11,
Skysat12, Skysat13, Skysat14-Skysat19, AMAZONIA1_WFI, CBERS4A_WFI, CBERS4_WFI, GF1D_PMS, GF6_PMS,
GF6_WFV
For hyperspectral sensors the "hyper" tag can be used to retrieve the generic LUTs.
After editing the Dockerfile, build the ACOLITE Docker (here using the acolite:local tag):
input=/home/quinten/Sentinel−2/Data/31UES/
S2A_MSIL1C_20210329T105631_N0209_R094_T31UES_20210329T130721.SAFE
output=/home/quinten/Output/Default
docker run −−rm −d −v $input:/input −v $output:/output acolite/acolite:all_latest
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
For running custom settings, create a settings file (e.g. "nano user_settings.txt") with your processing settings.
Make sure to begin the inputfile=input/ and output=output/ settings correctly, to refer to the input/ and output/ mount
points in the Docker. If you mount the scene directly as in the example above, just use inputfile=input/, if you mount
a directory containing the scene, add the appropriate directory levels after inputfile=input/. For example:
In this case the Docker will be run with the path to the directory containing your data (in this case "Data" is a
directory in "/home/quinten/Sentinel-2/") as input and a local output directory as output. The extra levels after output/
will be created. For example:
input=/home/quinten/Sentinel−2/Data/31UES/
S2A_MSIL1C_20210329T105631_N0209_R094_T31UES_20210329T130721.SAFE
output=/home/quinten/Output/Default
settings=/home/quinten/user_settings.txt
docker run −−rm −d −v $input:/input −v $output:/output acolite/acolite:all_latest
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
4. Processing options
This section lists most of the processing options that can be specified in a user generated settings file. Overall
default settings are given in config/defaults.txt and in files per sensor in config/defaults.
4.1.1. Gains
gains=False
Controls the application of sensor specific TOA gains. Options: True/False
gains_toa=None
Comma separated list of gains to be used for the currently processed sensor. If not None, there has to
be a comma separated list of values, one per band. Defaults can also be set per sensor in the sensor
specific default files.
4.1.2. Masking
l2w_mask=True
Controls whether the L2W output parameters will be masked. Options: True/False
l2w_mask_wave=1600
Wavelength (nm) for the non-water masking. The closest band will be selected.
l2w_mask_threshold=0.0215
Threshold for the non-water masking. Pixels with ρt in the masking band above this threshold will be
masked.
l2w_mask_water_parameters=True
Controls whether water specific parameters are to be masked. Options: True/False
l2w_mask_negative_rhow=True
Controls whether pixels with negative reflectances are to be masked. Options: True/False
l2w_mask_negative_wave_range=400,900
Wavelength range to check for negative reflectances.
l2w_mask_cirrus=True
Enable masking of cirrus clouds using a band around 1375 nm. OLI and MSI only. Options: True/False
l2w_mask_cirrus_threshold=0.005
Threshold for the cirrus masking. Pixels with ρt in the cirrus band above this threshold will be masked.
l2w_mask_cirrus_wave=1373
Wavelength for the cirrus masking. The closest band within 5 nm of this wavelength will be used.
l2w_mask_high_toa=True
Mask pixels with high (> l2w_mask_high_toa_threshold) top-of-atmosphere reflectance in any band.
Options: True/False
l2w_mask_high_toa_threshold=0.3
Threshold for TOA reflectance masking.
l2w_mask_smooth=True
Apply Gaussian smoothing to the computed L2W mask. This option can reduce speckled masks espe-
cially in Landsat 5 and 7. Options: True/False
l2w_mask_smooth_sigma=3
Kernel size for the Gaussian smoothing of the L2w mask.
flag_exponent_swir=0
Bit index that will be used to store the SWIR threshold masking step (2**0).
flag_exponent_cirrus=1
Bit index that will be used to store the cirrus masking step (2**1).
flag_exponent_toa=2
Bit index that will be used to store the top-of-atmosphere threshold masking step (2**2).
flag_exponent_negative=3
Bit index that will be used to store the negative retrievals masking step (2**3).
flag_exponent_outofscene=4
Bit index that will be used to store the out-of-scene masking step (2**4).
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
LUTs to use in processing. By default MOD1 (continental) and MOD2 (maritime) from 6SV are in-
cluded. Can be reduced to a single model if preferred by the user.
luts_pressures=500,750,1013,1100
LUT pressure values to load. Availability of specific pressure datasets depends on the LUT. Can be
reduced to a specific pressure range for faster loading.
luts_reduce_dimensions=False
Reduce the range of viewing zenith angles (0-16 degrees) and aerosol optical depth (0-1) in the LUT
loading. By default set to False, but it is set to True for Landsat and Sentinel-2 type sensors with limited
ranges of viewing zenith angles.
default_projection_resolution=None
Set default projection resolution for a given sensor. Set in sensor specific settings files.
output_projection_fillnans=False
For some projected images lines of zeros are retrieved. Set this option to fill them with interpolated
values. May cause issues at swath edge. Options=True/False
4.3. Various
slicing=False
Controls slicing of data to finite values during processing, should speed up and improve memory use
for sparse (or custom) images. Options: True/False
verbosity=5
Controls the amount of detail in the terminal outputs during processing. (Verbosity levels are not con-
sistently implemented at the moment.)
Filter aerosol optical thickness after retrieval using the previous two settings. Options: True/False
dsf_aot_fillnan=True
Fill NAN values for the resolved aerosol optical thickness. Options: True/False
dsf_smooth_aot=True
Apply Gaussian smoothing to the retrieved aerosol optical thickness in resolved processing mode. Does
not work in binary version due to PyInstaller astropy issue. Options: True/False
dsf_smooth_box=20,20
Box size in pixels for the smoothing of the resolved aerosol optical thickness.
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
4.6.2. Sentinel-2/MSI
s2_target_res=10
Output resolution of Sentinel-2 products in meter. Options: 10, 20, 60
geometry_type=grids_footprint
Method to derive per pixel geometry data for S2. Options: "grids" for simple interpolation of the 5x5
km grids, "grids_footprint" for extrapolation of the 5x5 km grids and subsetting per detector (recom-
mended), and "gpt" use SNAP to compute the geometry. (Configure "snap_directory" in acolite/con-
fig/config.txt)
geometry_res=60
Resolution at which to compute the per pixel geometry data. Geometry will be resampled to s2_target_res,
so they can be different values. Computing the geometry at 60 m is generally enough (and faster!). Op-
tions: 10, 20, 60
geometry_per_band=False
Compute per band rather than band average geometry. This is only important in glint viewing condi-
tions, and then the ancillary wind speed estimate is probably not accurate enough. Can generally be left
False. Only for "grids_footprint" option. Options: True/False.
geometry_fixed_footprint=False
Determines whether band specific footprint polygons or fixed footprint polygons are used for the com-
putation of per pixel view geometry. Only for "grids_footprint" option. Options: True/False.
s2_include_auxillary=False
Output auxillary grib data provided by ESA. Options: True/False.
s2_project_auxillary=True
Project auxillary grib data to ROI or scene. Options: True/False.
4.6.3. Sentinel-3/OLCI
smile_correction=True
Apply SMILE correction as in Bourg et al. (2008). Options: True/False
use_tpg=True
Use longitude and latitude tie point grids for computing region of interest subsetting. Options: True/-
False
4.6.4. Pléiades
pleiades_skip_pan=False
Skip Pléiades panchromatic band during processing. Much faster since the panchromatic data (16x
the number of pixels compared to multispectral bands!) does not need to be read or written. Options:
True/False
4.6.5. Worldview
inputfile_swir=None
Supply WorldView SWIR bundle that corresponds to the VNIR bundle for simultaneous processing.
worldview_reproject=False
Reproject unprojected WV bundles to UTM. Options: True/False
worldview_reproject_resolution=2
Pixel resolution for the WV UTM reprojection
worldview_reproject_method=nearest
Method for the WV UTM reprojection. Options: nearest, bilinear
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
4.6.6. CHRIS
chris_interband_calibration=True
Apply CHRIS top-of-atmosphere interband calibration from Lavigne et al. (2021). Options: True/False
chris_noise_reduction=True
Apply CHRIS noise reduction based on Gómez-Chova et al. (2008). Options: True/False
4.6.7. Gaofen
clear_scratch=False
Clear scratch directory. Options: True/False
gf_reproject_to_utm=False
Attempt to reproject GF imagery to UTM if only provided with RPC tags. Warning: Experimental!
Options: True/False
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
5. L2W algorithms
ACOLITE includes several algorithms for the retrieval of parameters derived from reflectance. The L2R file is used
as an input and an L2W file is generated containing the requested datasets. The L2W file will be used to generate maps
from the parameters if requested. The map scaling for each parameter is defined in the config/acolite_l2w_labels.txt
file. The included output products and algorithms are:
– rhot_*: ρt , the top-of-atmosphere reflectance as derived from the original input file. A wavelength can be
specified, or the asterisk will be expanded to include all available wavelengths. Sensors: all sensors
– rhos_*: ρ s , the surface level reflectance. A wavelength can be specified, or the asterisk will be expanded to
include all available wavelengths. Sensors: all sensors
– rhow_*: ρw , the surface level reflectance for water pixels, with a SWIR based mask applied to non-water pixels.
A wavelength can be specified, or the asterisk will be expanded to include all available wavelengths. Sensors:
all sensors
– Rrs_*: the remote sensing reflectance (sr−1 ) for water pixels, Rrs = ρw / π. A wavelength can be specified, or
the asterisk will be expanded to include all available wavelengths. Sensors: all sensors
– rhorc_*: ρrc , the Rayleigh corrected reflectance. This is the ρt with ρr removed and corrected for two way
Rayleigh transmittance. A wavelength can be specified, or the asterisk will be expanded to include all available
wavelengths. Sensors: all sensors
– spm_nechad2010: Suspended Matter Concentration (gm−3 ) using the algorithm of Nechad et al. (2010). By
default the red band will be used, but a wavelength can be specified (e.g. spm_nechad2010_833 for S2B) or one
of the aliases can be used for the red (spm_nechad2010_red) or NIR (spm_nechad2010_nir) bands. A wildcard
is supported to export the parameter for all suitable bands between 600 and 900 nm (spm_nechad2010_*). The
parameters from the closest wavelength from the hyperspectral dataset will be used. Sensors: all sensors
– spm_nechad2016: Suspended Matter Concentration (gm−3 ) using the algorithm of Nechad et al. (2010) re-
calibrated by Bouchra Nechad in September 2016, specifically for Landsat 8 and Sentinel-2. By default the
red band will be used, but a wavelength can be specified (e.g. spm_nechad2016_833 for S2B) or one of the
aliases can be used for the red (spm_nechad2016_red) or NIR (spm_nechad2016_nir) bands. Sensors: L8/OLI,
S2A/MSI, S2B/MSI
– spm_nechad2010ave: Suspended Matter Concentration (gm−3 ) using the algorithm of Nechad et al. (2010).
By default the red band will be used, but a wavelength can be specified (e.g. spm_nechad2010ave_833 for S2B)
or one of the aliases can be used for the red (spm_nechad2010ave_red) or NIR (spm_nechad2010ave_nir)
bands. A wildcard is supported to export the parameter for all suitable bands between 600 and 900 nm
(spm_nechad2010ave_*). The hyperspectral dataset will be resampled to the band relative spectral response.
Sensors: all sensors Warning: not recommended for bands extending outside the algorithm’s optimal
spectral range.
– tur_nechad2009: Turbidity (FNU) using the algorithm of Nechad et al. (2009). By default the red band will
be used, but a wavelength can be specified (e.g. tur_nechad2009_833 for S2B) or one of the aliases can be used
for the red (tur_nechad2009_red) or NIR (tur_nechad2009_nir) bands. A wildcard is supported to export the
parameter for all suitable bands between 600 and 900 nm (tur_nechad2009_*). The parameters from the closest
wavelength from the hyperspectral dataset will be used. Sensors: all sensors
– tur_nechad2016: Turbidity (FNU) using the algorithm of Nechad et al. (2009) recalibrated by Bouchra Nechad
in September 2016, specifically for Landsat 8 and Sentinel-2. By default the red band will be used, but a
wavelength can be specified (e.g. tur_nechad2016_833 for S2B) or one of the aliases can be used for the red
(tur_nechad2016_red) or NIR (tur_nechad2016_nir) bands. Sensors: L8/OLI, S2A/MSI, S2B/MSI
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
– tur_nechad2009ave: Turbidity (FNU) using the algorithm of Nechad et al. (2009). By default the red band
will be used, but a wavelength can be specified (e.g. tur_nechad2009ave_833 for S2B) or one of the aliases can
be used for the red (tur_nechad2009ave_red) or NIR (tur_nechad2009ave_nir) bands. A wildcard is supported
to export the parameter for all suitable bands between 600 and 900 nm (tur_nechad2009ave_*). The hyper-
spectral dataset will be resampled to the band relative spectral response. Sensors: all sensors Warning: not
recommended for bands extending outside the algorithm’s optimal spectral range.
– tur_dogliotti2015: Turbidity (FNU) using the algorithm of Dogliotti et al. (2015). The switching algorithm
uses the red band for ρred < 0.05, and the NIR band for ρred > 0.07, with a linear weighing in between. The
red (tur_dogliotti2015_red) and NIR (tur_dogliotti2015_nir) products can also be output separately. Sensors:
all sensors Warning: Published calibration for MODIS is used for all sensors.
– chl_oc2, chl_oc3: Chlorophyll a concentration (µg/l) using the blue/green ratio algorithm. The oc2 and oc3
use two and three bands respectively. Coefficients are provided in data/Shared/algorithms/chl_oc/defaults.txt,
and users can add new coefficients in that file. Calibration values are taken from (Franz et al., 2015) or from
the NASA/OBPG OceanColor website. Note that these products should be used with care in coastal and inland
waters, especially in the presence of sediments and CDOM. Sensors: L8/OLI, L9/OLI, S2A/MSI, S2B/MSI,
S3A/OLCI, S3B/OLCI
– chl_re_gons, chl_re_gons740: Chlorophyll a concentration (µg/l) using the red edge algorithm by Gons et al.
(2002) with published coefficients and a mass specific chlorophyll a absorption of 0.015. By default 780 nm
(band 6) is used as a reference, but the chl_re_gons740 product uses 740 nm (band 5) on MSI. Output products
are by default only produced for waters where ρ s 664 > 0.005 and ρ s 704/ρ s 664 > 0.63 (thresholds defined by
Héloïse Lavigne). Sensors: S2A/MSI, S2B/MSI, S3A/OLCI, S3B/OLCI
– chl_re_moses3b, chl_re_moses3b740: Chlorophyll a concentration (µg/l) using the three band red edge algo-
rithm by Moses et al. (2012). By default 780 nm (band 6) is used as a reference, but the chl_re_moses3b740
product uses 740 nm (band 5) on MSI. Sensors: S2A/MSI, S2B/MSI, S3A/OLCI, S3B/OLCI
– chl_re_mishra: Chlorophyll a concentration (µg/l) using the Normalised Difference Chlorophyll Index algo-
rithm by Mishra and Mishra (2012). Sensors: S2A/MSI, S2B/MSI, S3A/OLCI, S3B/OLCI
– ndci: The Normalised Difference Chlorophyll Index algorithm by Mishra and Mishra (2012). Sensors: S2A/MSI,
S2B/MSI, S3A/OLCI, S3B/OLCI
– chl_re_bramich: Chlorophyll a concentration (µg/l) using an updated version of the Gons algorithm (Gons
et al., 2002) for Sentinel-2 by Bramich et al. (2021). Sensors: S2A/MSI, S2B/MSI, S3A/OLCI, S3B/OLCI
– slh: The Scattering Line Height algorithm by Kudela et al. (2015). Sensors: S2A/MSI, S2B/MSI, S3A/OLCI,
S3B/OLCI
– fai, fai_rhot: The Floating Algal Index by Hu (2009). By default surface reflectance (ρ s ) is used. fai_rhot uses
the top-of-atmosphere reflectance (ρt ). Sensors: L5/TM, L7/ETM, L8/OLI, L9/OLI, S2A/MSI, S2B/MSI
– fait: The Floating Algal Index adapted to Turbid waters by Dogliotti et al. (2018). Surface reflectance (ρ s ) is
used instead of Rayleigh corrected reflectance. Sensors: L8/OLI, L9/OLI, S2A/MSI, S2B/MSI
– ndvi, ndvi_rhot: Normalised Difference Vegetation Index. By default surface reflectance (ρ s ) is used. ndvi_rhot
uses the top-of-atmosphere reflectance (ρt ). Sensors: all sensors
– qaa, qaa5, qaa6: Outputs from the Quasi-Analytical Algorithm (QAA) of Lee et al. (2002), from both versions
(qaa) or specifically from version 5 (qaa5) or 6 (qaa6). Parameters can be requested separately, see further.
Sensors: L8/OLI, L9/OLI, S2A/MSI, S2B/MSI
– qaa_rrs_443, qaa_rrs_490, qaa_rrs_560, qaa_rrs_665: Subsurface Remote sensing reflectance from the
Quasi-Analytical Algorithm (QAA) of Lee et al. (2002). Sensors: L8/OLI, L9/OLI, S2A/MSI, S2B/MSI
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
– u_rrs_443, u_rrs_490, u_rrs_560, u_rrs_665: u parameter from the Quasi-Analytical Algorithm (QAA) of
Lee et al. (2002). Sensors: L8/OLI, L9/OLI, S2A/MSI, S2B/MSI
– qaa_v5_a_443, qaa_v5_a_490, qaa_v5_a_560, qaa_v5_a_665, qaa_v6_a_443, qaa_v6_a_490, qaa_v6_a_560,
qaa_v6_a_665: absorption outputs from the Quasi-Analytical Algorithm (QAA) of Lee et al. (2002). The v5
or v6 specification denote version 5 or 6 outputs. Sensors: L8/OLI, L9/OLI, S2A/MSI, S2B/MSI
– qaa_v5_bbp_443, qaa_v5_bbp_490, qaa_v5_bbp_560, qaa_v5_bbp_665, qaa_v6_bbp_443, qaa_v6_bbp_490,
qaa_v6_bbp_560, qaa_v6_bbp_665: particulate backscattering outputs from the Quasi-Analytical Algorithm
(QAA) of Lee et al. (2002). The v5 or v6 specification denote version 5 or 6 outputs. Sensors: L8/OLI, L9/OLI,
S2A/MSI, S2B/MSI
– qaa_v5_Kd_443, qaa_v5_Kd_490, qaa_v5_Kd_560, qaa_v5_Kd_665, qaa_v6_Kd_443, qaa_v6_Kd_490,
qaa_v6_Kd_560, qaa_v6_Kd_665: diffuse attenuation outputs from the Quasi-Analytical Algorithm (QAA)
of Lee et al. (2002). The v5 or v6 specification denote version 5 or 6 outputs. Sensors: L8/OLI, L9/OLI,
S2A/MSI, S2B/MSI
– qaa_v6_KPAR_Lee, qaa_v6_Zeu_Lee: diffuse attenuation of photosynthetically available radiation and eu-
photic zone depth from the Quasi-Analytical Algorithm (QAA) of Lee et al. (2002, 2007). Sensors: L8/OLI,
L9/OLI, S2A/MSI, S2B/MSI
– qaa_v5_KdPAR_Nechad, qaa_v6_KdPAR_Nechad: Nechad (unpublished?) version 2 fit of Kd PAR to Kd
490 outputs of the Quasi-Analytical Algorithm (QAA) of Lee et al. (2002). The v5 or v6 specification denote
version 5 or 6 outputs. Sensors: L8/OLI, L9/OLI, S2A/MSI, S2B/MSI
– p3qaa: Output all the parameters from the QAA-RGB (Pitarch and Vanhellemont, 2021). Sensors: L5/TM,
L7/ETM, L8/OLI, L9/OLI, S2A/MSI, S2B/MSI, PlanetScope (0c, 0d, 0e, 0f, 2x), Pléiades-1A, Pléiades-1B,
RapidEye, SPOT6, SPOT7, Venµs, WorldView2, WorldView3
– p3qaa_a_*: Total absorption from the QAA-RGB (Pitarch and Vanhellemont, 2021). R/G/B wavelength can
be specified. Sensors: L5/TM, L7/ETM, L8/OLI, L9/OLI, S2A/MSI, S2B/MSI, PlanetScope (0c, 0d, 0e, 0f,
2x), Pléiades-1A, Pléiades-1B, RapidEye, SPOT6, SPOT7, Venµs, WorldView2, WorldView3
– p3qaa_bb_*: Total backscattering from the QAA-RGB (Pitarch and Vanhellemont, 2021). R/G/B wavelength
can be specified. Sensors: L5/TM, L7/ETM, L8/OLI, L9/OLI, S2A/MSI, S2B/MSI, PlanetScope (0c, 0d, 0e,
0f, 2x), Pléiades-1A, Pléiades-1B, RapidEye, SPOT6, SPOT7, Venµs, WorldView2, WorldView3
– p3qaa_Kd_*: Total Kd from the QAA-RGB (Pitarch and Vanhellemont, 2021). R/G/B wavelength can be
specified. Sensors: L5/TM, L7/ETM, L8/OLI, L9/OLI, S2A/MSI, S2B/MSI, PlanetScope (0c, 0d, 0e, 0f, 2x),
Pléiades-1A, Pléiades-1B, RapidEye, SPOT6, SPOT7, Venµs, WorldView2, WorldView3
– p3qaa_zSD: Secchi depth with bias removed from the QAA-RGB (Pitarch and Vanhellemont, 2021). Sensors:
L5/TM, L7/ETM, L8/OLI, L9/OLI, S2A/MSI, S2B/MSI, PlanetScope (0c, 0d, 0e, 0f, 2x), Pléiades-1A, Pléiades-
1B, RapidEye, SPOT6, SPOT7, Venµs, WorldView2, WorldView3
– p3qaa_zSD_biased: Biased Secchi depth from the QAA-RGB (Pitarch and Vanhellemont, 2021). Sensors:
L5/TM, L7/ETM, L8/OLI, L9/OLI, S2A/MSI, S2B/MSI, PlanetScope (0c, 0d, 0e, 0f, 2x), Pléiades-1A, Pléiades-
1B, RapidEye, SPOT6, SPOT7, Venµs, WorldView2, WorldView3
– p3qaa_eta: eta parameter from the QAA-RGB (Pitarch and Vanhellemont, 2021). Sensors: L5/TM, L7/ETM,
L8/OLI, L9/OLI, S2A/MSI, S2B/MSI, PlanetScope (0c, 0d, 0e, 0f, 2x), Pléiades-1A, Pléiades-1B, RapidEye,
SPOT6, SPOT7, Venµs, WorldView2, WorldView3
– bt*: At-sensor brightness temperature from the Landsat sensors. Individual parameters listed below. Sensors:
L5/TM, L7/ETM, L8/OLI, L9/OLI
– bt6: At-sensor brightness temperature from the Thematic Mapper (TM) on Landsat 5. Sensors: L5/TM
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
– bt6_vcid_1, bt6_vcid_2: At-sensor brightness temperature from the Enhanced Thematic Mapper (ETM) on
Landsat 7 for both low (1) and high (2) gain levels. The low gain data is less likely to saturate over hot targets.
Sensors: L7/ETM
– bt10, bt11: At-sensor brightness temperature from the Thermal Infrared Sensor (TIRS) on Landsat 8 and 9.
Sensors: L8/TIRS, L9/TIRS,
– hue_angle: The Hue Angle (°) by van der Woerd and Wernand (2018). Sensors: L8/OLI, S2A/MSI, S2B/MSI
– rhos_592, rhow_592, rhos_594, rhow_594: Panchromatic band reflectance (rhos_592, rhos_594 for L8 and
L9). These are now output by default, record kept here for reference. Sensors: L8/OLI, L9/OLI
– rhos_613, rhow_613: Orange 613 nm contra-band reflectances by Castagna et al. (2018, 2020). These are now
output by default, record kept here for reference. Sensors: L8/OLI, L9/OLI
– olh: Orange contra-band line height by Castagna et al. (2018, 2020). Sensors: L8/OLI
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
6. Sensor wavelengths
ACOLITE computes the wavelengths of each sensor by averaging the RSR. Here a list of wavelengths is provided
per sensor. Note that bands with low gas transmittance (<0.75) are skipped for ρ s computation. Bands in italic here
have lower gas transmittance for italic here for zenith sun, nadir viewing and default ozone and water vapour. CHRIS
and PRISMA wavelengths are taken from the inputfile metadata.
– S3B/OLCI: 401, 412, 443, 490, 510, 560, 620, 665, 674, 681, 709, 754, 762, 765, 768, 779, 865, 884, 899,
939, 1016
– WorldView3: 427, 482, 547, 605, 660, 723, 827, 922, 1210, 1572, 1661, 1730, 2164, 2203, 2260, 2330, 643
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
7. Version history
20220222
– Renamed setting l8_orange_band to oli_orange_band
– Fixed issue where the GUI would retain "hidden" settings
– Added EN1/MERIS processing (using 4th reprocessing .SEN3 input format)
– Added EO1/ALI processing
– Added QuickBird2 processing
– Added SuperDove 5B and 8B processing
– Added L9/OLI processing, added L9/TIRS processing
– Added polygon_limit and polylakes options
– Added segmented option for DSF
– Added output of RGB GeoTIFF files
– Added NetCDF projection and NetCDF compression options
– Added option to delete acolite_run text files
– Added srtm15plus option for DEM
– Added output projection options for e.g. projection satellite swath data (OLCI/MERIS data)
– Added RGB GeoTIFF output option
– Added beta processing for AMAZONIA1 and CBERS4A
– Added beta processing for Skysat
20211124
– Fixed issue with default glint correction for fixed geometry and fixed τa estimate
– Fixed issue with blue band in the CHL_OC2 algorithm
– Removed wavelength guess for BT datasets
– Added DESIS/HICO/HYPERION processing
– Added Gaofen-6 WFV and PMS processing, added Gaofen-1D PMS processing
– Added support for Sentinel-2 PB004 data
– Added NetCDF removal options
– Fixed rhorc_* output for hyperspectral sensors
– Renamed tur_nechad to tur_nechad2009 and spm_nechad to spm_nechad2010
– Renamed tur_dogliotti to tur_dogliotti2015
– Added tur_nechad2009_* and spm_nechad2010_* wildcards to L2W
20210802
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
– New generic code base that includes processing of metre-scale sensors (among others Pléiades and PlanetScope)
and S3A/B OLCI
– Polygon (e.g. geojson) ROI definition for projected imagery (e.g. Sentinel-2 and Landsat data)
– Sky and sun glint reflectance can be estimated from (ancillary) wind speed
– Added three band RGB QAA algorithm (Pitarch and Vanhellemont, 2021)
– The following setting names have been changed: dsf_path_reflectance -> dsf_aot_estimate, sky_correction ->
dsf_interface_reflectance, sky_correction_option -> dsf_interface_option, sky_correction_lut -> dsf_interface_lut,
glint_correction -> dsf_residual_glint_correction
20210114
– Fixed gdal issue for GeoTIFF outputs
20210106
– Update to latest GitHub codebase
– Added options presented in (Vanhellemont, 2020c): removing SWIR bands from aerosol fitting and OSOAA
based sky reflectance correction
– Improved Pan band support for merged tiles and orange band computation
– Added support for LO8 files (without TIRS)
– Added strip function to l2w_parameter names in mapping script
– Added orange band computation for Landsat 8/OLI, including panchromatic bands output at 30 m
– Added oxygen transmittance
– Added elevation input option
– Added/Fixed SRTM DEM option for elevation computation, missing DEM tiles are printed out
– Fixed FAIT output on Mac (binary distribution was missing the skimage dependency)
– Fixed output of cirrus band (at TOA)
– Fixed MSI grid naming issue when merging tiles
– Fixed transmittance ratio in glint correction
– Fixed the EXP aerosol correction when L1R NetCDF files are present
20180925
– Explicitly added file encoding to avoid ’file not recognised’ errors
20180917
– Added FAIT parameter
– Added glint correction for the DSF
– Added –nogfx option for –cli runs without graphical environments
– Changed relative path identification so the acolite binary can be launched from anywhere
– Fixed blue band bug after chl_oc3 computation
– Fixed ancillary data download in Windows binary distribution
– Added support for GeoTIFF outputs of L2R/L2W datasets. NetCDF files are still generated, datasets will be
also exported as GeoTIFF (l2r_export_geotiff=True, l2w_export_geotiff=True)
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
– Added optional output of UTM x/y easting and northing coordinates (xy_output=True)
– Added colour table options (Calgae255 and Planck_Parchment_RGB) and possibility for user defined colour
tables
– Added output of l2_flags to the L2W file, flags are currently based on SWIR threshold mask (bit 1) and negative
rhos (bit 2)
– Added option to disable masking of non-water/bad pixels (l2w_mask_water_parameters=False)
– Added option to output 1:1 pixel PNG files; map_raster=True (without title, geolocation or colourbar, currently
not on Windows)
– Added check for rhot < rhor in DSF processing (especially for L5)
– Added pansharpened RGB outputs for L7 and L8
– Added aliases for t_nechad_red and t_nechad_nir products
– Changed naming of RGB output products to rgb_rhot and rgb_rhos
– Sentinel-2 wavelengths are now determined from the RSR instead of the provided metadata. This gives consis-
tent naming before and after the Dec 2017 / Jan 2018 RSR update.
– Fixed the crash when no ancillary data is found or when the oceandata server is unreachable. Fallback values
will be used if ancillary data access fails.
– Fixed sub pixel geolocation error in the computation of latitude and longitude: Sentinel-2 scene extents are
considered to be at pixel edges, Landsat extents at pixel centres, all ACOLITE output coordinates are reported
at pixel centre
– Fixed bug when multiple files are present in the GRANULE/IMG_DATA with the same band name (check if
files end in jp2)
– Fixed the plotting of Sentinel-2 dark spectrum fitting results
20180419
– Fixed full tile Sentinel-2 geolocation
– Fixed Sentinel-2 relative azimuth within 0-180°
– Datasets are now processed and stored as 32 bit floats, using less RAM and disk space
– Added rhow (rhos with non-water masking) and Rrs (ρw / π) datasets
– Wavelengths are now tracked as attributes in the L2W products (rhot, rhos, rhow, Rrs), allowing for the use of
the Spectrum Viewer in SNAP
– Skipping unrecognised and dot files in the .SAFE "GRANULE" and "IMG_DATA" directories
– Added support for autoscaling the L2W output maps: add *,* for the range in config/acolite_l2w_labels.txt
– Added new ’map_projected’ option to annotate scalebar and add lat/lon to maps, switched to ’Agg’ backend in
matplotlib
– Relaxed constrains on the band selection for the chl_oc algorithms (for chl_oc3 outputs of S2A/B)
– Added Hue Angle algorithm
20180327 First public beta version of ACOLITE Python.
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
– New aerosol correction (DSF) with new lookup tables for path reflectance resampled to each of the supported
sensors (L5/TM, L7/ETM, L8/OLI, S2A/MSI, S2B/MSI)
– The new spectral response function of Sentinel-2A is now used
– A more robust tile merging option (including Landsat tiles) has been added
8. Known issues
– High RAM use when processing full scenes Processing full scenes is currently very RAM intensive, especially
for operations using several bands, such as computing QAA parameters or generating RGB composites. The
system may become unresponsive when low on RAM. ACOLITE may segfault if it runs out of RAM when
generating the very large RGB composite.
– Crash when generating full tile RGB composites When generating full tile RGB composites (especially for
Sentinel-2) the program may segfault, due to running out of RAM, or overriding PNG size limits.
– Large output files When processing full scenes, very large output files will be generated. For a full tile of
Sentinel-2 data at 10 metres file sizes are about 10 GB for the L1R, and about 12 GB for the L2R files. L2W
file size depends on the number of requested parameters (about 0.5 GB/parameter + latitude and longitude).
– High RAM use when processing hyperspectral data Processing of hyperspectral data requires the loading
of the generic LUTs, this uses plenty of RAM, and processing may fail after the "Loading LUTs" step if not
enough RAM is available. At least 16GB of RAM is recommended for processing of hyperspectral data.
– Slow loading of generic LUTs when processing hyperspectral data The generic LUTs are retrieved as .bz2
files from the acolite_luts repository. These files are extracted by ACOLITE each run if the extracted .nc file is
not available. The loading of the LUTs can be sped up by extracting the .bz2 files manually before running.
– PRISMA processing requires both L1 and L2C files Processing of PRISMA data requires both official L1
(PRS_L1_STD_OFFL) and L2C (PRS_L2C_STD) files since the view geometry is only provided in the L2C.
The L1 needs to be provided as inputfile, and the L2C needs to be present in the same directory as the L1.
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
References
Bourg, L., D’Alba, L., Colagrande, P., 2008. MERIS SMILE effect characterisation and correction. ESA technical note 4921, 25.
Bramich, J., Bolch, C. J., Fischer, A., 2021. Improved red-edge chlorophyll-a detection for Sentinel 2. Ecological Indicators 120, 106876.
Castagna, A., Simis, S., Dierssen, H., Vanhellemont, Q., Sabbe, K., Vyverman, W., 2018. Extending the Operational Land Imager/Landsat 8 for
freshwater research: retrieval of an orange band from PAN and MS bands. Ocean Optics XXIV Conference, 7-12 October 2018, Dubrovnik,
Coratia.
Castagna, A., Simis, S., Dierssen, H., Vanhellemont, Q., Sabbe, K., Vyverman, W., 2020. Extending Landsat 8: Retrieval of an orange contra-band
for inland water quality applications. Remote Sensing 12 (4), 637.
Chami, M., Lafrance, B., Fougnie, B., Chowdhary, J., Harmel, T., Waquet, F., 2015. OSOAA: a vector radiative transfer model of coupled
atmosphere-ocean system for a rough sea surface application to the estimates of the directional variations of the water leaving reflectance to
better process multi-angular satellite sensors data over the ocean. Optics Express 23 (21), 27829–27852.
Dogliotti, A., Gossn, J., Vanhellemont, Q., Ruddick, K., 2018. Detecting and quantifying a massive invasion of floating aquatic plants in the río de
la plata turbid waters using high spatial resolution ocean color imagery. Remote Sensing 10 (7), 1140.
Dogliotti, A. I., Ruddick, K., Nechad, B., Doxaran, D., Knaeps, E., 2015. A single algorithm to retrieve turbidity from remotely-sensed data in all
coastal and estuarine waters. Remote Sensing of Environment 156, 157–168.
Franz, B. A., Bailey, S. W., Kuring, N., Werdell, P. J., 2015. Ocean color measurements with the Operational Land Imager on Landsat-8: imple-
mentation and evaluation in SeaDAS. Journal of Applied Remote Sensing 9 (1), 096070.
Gómez-Chova, L., Alonso, L., Guanter, L., Camps-Valls, G., Calpe, J., Moreno, J., 2008. Correction of systematic spatial noise in push-broom
hyperspectral sensors: application to chris/proba images. Applied Optics 47 (28), F46–F60.
Gons, H. J., Rijkeboer, M., Ruddick, K. G., 2002. A chlorophyll-retrieval algorithm for satellite imagery (medium resolution imaging spectrometer)
of inland and coastal waters. Journal of Plankton Research 24 (9), 947–951.
Harmel, T., Chami, M., Tormos, T., Reynaud, N., Danis, P.-A., 2018. Sunglint correction of the Multi-Spectral Instrument (MSI)-SENTINEL-2
imagery over inland and sea waters from SWIR bands. Remote Sensing of Environment 204, 308–321.
Hu, C., 2009. A novel ocean color index to detect floating algae in the global oceans. Remote Sensing of Environment 113 (10), 2118–2129.
Kudela, R. M., Palacios, S. L., Austerberry, D. C., Accorsi, E. K., Guild, L. S., Torres-Perez, J., 2015. Application of hyperspectral remote sensing
to cyanobacterial blooms in inland waters. Remote Sensing of Environment 167, 196–205.
Lavigne, H., Vanhellemont, Q., Ruddick, K., Dogliotti, A.-I., 2021. New processor and reference dataset for hyperspectral CHRIS-PROBA images
over coastal and inland waters. IGARSS conference 2021, Brussels, Belgium TH4.O-15.
Lee, Z., Carder, K. L., Arnone, R. A., 2002. Deriving inherent optical properties from water color: a multiband quasi-analytical algorithm for
optically deep waters. Applied Optics 41 (27), 5755–5772.
Lee, Z., Weidemann, A., Kindle, J., Arnone, R., Carder, K. L., Davis, C., 2007. Euphotic zone depth: Its derivation and implication to ocean-color
remote sensing. Journal of Geophysical Research: Oceans 112 (C3).
Mishra, S., Mishra, D. R., 2012. Normalized difference chlorophyll index: A novel model for remote estimation of chlorophyll-a concentration in
turbid productive waters. Remote Sensing of Environment 117, 394–406.
Moses, W. J., Gitelson, A. A., Berdnikov, S., Saprygin, V., Povazhnyi, V., 2012. Operational MERIS-based NIR-red algorithms for estimating
chlorophyll-a concentrations in coastal waters—The Azov Sea case study. Remote Sensing of Environment 121, 118–124.
Nechad, B., Ruddick, K., Neukermans, G., 2009. Calibration and validation of a generic multisensor algorithm for mapping of turbidity in coastal
waters. In: SPIE Europe Remote Sensing. International Society for Optics and Photonics, pp. 74730H–74730H.
Nechad, B., Ruddick, K., Park, Y., 2010. Calibration and validation of a generic multisensor algorithm for mapping of total suspended matter in
turbid waters. Remote Sensing of Environment 114 (4), 854–866.
Pitarch, J., Vanhellemont, Q., 2021. The QAA-RGB: a universal three-band absorption and backscattering retrieval algorithm for high resolution
satellite sensors. Development and implementation in ACOLITE. Remote Sensing of Environment 265, 112667.
Ruddick, K. G., De Cauwer, V., Park, Y.-J., Moore, G., 2006. Seaborne measurements of near infrared water-leaving reflectance: The similarity
spectrum for turbid waters. Limnol. Oceanogr 51 (2), 1167–1179.
van der Woerd, H. J., Wernand, M. R., 2018. Hue-angle product for low to medium spatial resolution optical satellite sensors. Remote Sensing
10 (2), 180.
Vanhellemont, Q., 2019a. Adaptation of the dark spectrum fitting atmospheric correction for aquatic applications of the Landsat and Sentinel-2
archives. Remote Sensing of Environment 225, 175–192.
Vanhellemont, Q., 2019b. Daily metre-scale mapping of water turbidity using CubeSat imagery. Optics Express 27 (20), A1372–A1399.
Vanhellemont, Q., 2020a. Automated Water Surface Temperature retrieval from Landsat 8/TIRS. Remote Sensing of Environment 237, 111518.
Vanhellemont, Q., 2020b. Combined land surface emissivity and temperature estimation from landsat 8 oli and tirs. ISPRS Journal of Photogram-
metry and Remote Sensing 166, 390–402.
Vanhellemont, Q., 2020c. Sensitivity analysis of the Dark Spectrum Fitting atmospheric correction for metre- and decametre-scale satellite imagery
using autonomous hyperspectral radiometry. Optics Express 27 (20), A1372–A1399.
Vanhellemont, Q., Brewin, R. J., Bresnahan, P. J., Cyronak, T., 2022. Validation of Landsat 8 high resolution Sea Surface Temperature using surfers.
Estuarine, Coastal and Shelf Science 265, 107650.
Vanhellemont, Q., Lambrechts, S., Savaglia, V., Tytgat, B., Verleyen, E., Vyverman, W., 2021. Towards physical habitat characterisation in the
Antarctic Sør Rondane Mountains using satellite remote sensing. Remote Sensing Applications: Society and Environment 23, 100529.
Vanhellemont, Q., Ruddick, K., 2014. Turbid wakes associated with offshore wind turbines observed with Landsat 8. Remote Sensing of Environ-
ment 145, 105–115.
Vanhellemont, Q., Ruddick, K., 2015. Advantages of high quality SWIR bands for ocean colour processing: Examples from Landsat-8. Remote
Sensing of Environment 161, 89–106.
Vanhellemont, Q., Ruddick, K., 2016. ACOLITE For Sentinel-2: Aquatic Applications of MSI imagery. In: ESA Special Publication SP-740.
Presented at the ESA Living Planet Symposium held in Prague, Czech Republic.
ACOLITE User Manual (QV - February 22, 2022) (c) RBINS 2014-2022
Vanhellemont, Q., Ruddick, K., 2018. Atmospheric correction of metre-scale optical satellite data for inland and coastal water applications. Remote
Sensing of Environment 216, 586–597.
Vanhellemont, Q., Ruddick, K., 2021. Atmospheric correction of Sentinel-3/OLCI data for mapping of suspended particulate matter and
chlorophyll-a concentration in Belgian turbid coastal waters. Remote Sensing of Environment 256, 112284.