Installation
ACOLITE is distributed as Python source code and requires a conda environment for dependency management.
Requirements
Python 3.9 or later (3.11+ recommended)
Conda package manager (Anaconda or Miniconda)
~500 MB disk space for code and LUTs
Quick Install
Clone the repository (use
--depth 1to avoid pulling old LUT history):git clone --depth 1 https://github.com/acolite/acolite cd acolite
Create and activate the conda environment:
conda create -n acolite -c conda-forge python=3 conda activate acolite
Install dependencies:
conda install -c conda-forge numpy matplotlib scipy gdal \ libgdal-jp2openjpeg libgdal-netcdf pyproj scikit-image \ pyhdf pyresample netcdf4 h5py requests pygrib cartopy zarr
Test the installation:
python launch_acolite.py
Using environment.yml
Alternatively, use the provided environment file:
conda env create -f environment.yml
conda activate acolite
Dependencies
Core Dependencies
The following packages are required (all available from conda-forge):
Package |
Purpose |
|---|---|
numpy |
Numerical computing |
scipy |
Scientific computing and interpolation |
matplotlib |
Visualization and RGB output |
gdal |
Geospatial data I/O |
libgdal-jp2openjpeg |
JPEG2000 support (Sentinel-2) |
libgdal-netcdf |
NetCDF support for GeoTIFF export |
pyproj |
Coordinate transformations |
scikit-image |
Image processing |
pyhdf |
HDF4 file support |
pyresample |
Resampling and reprojection |
netcdf4 |
NetCDF file I/O |
h5py |
HDF5 file support |
requests |
HTTP downloads |
pygrib |
GRIB file support (meteorological data) |
cartopy |
Map projections |
zarr |
Zarr format support |
Note
GDAL >= 3.9 is recommended. For earlier versions, the libgdal-* packages are not required.
Optional Dependencies
fsspec, aiohttp - Required for zarr cloud data access
libRadtran v2.0.5 - Required for TACT thermal processing
Look-Up Tables (LUTs)
ACOLITE uses pre-computed Look-Up Tables for atmospheric correction. LUTs are not included in the repository to reduce download size, but are automatically downloaded when first needed.
To pre-download LUTs for specific sensors:
python launch_acolite.py --retrieve_luts --sensor Sentinel2,Landsat8
Available LUT sensors: Sentinel2, Sentinel3, Landsat5, Landsat7, Landsat8, Landsat9, VIIRS, PlanetScope, etc.
LUTs are stored in the data/LUT/ directory and cached for future use.
EarthData Account Setup
An EarthData account is required for:
Downloading ancillary data (ozone, water vapor, pressure, wind)
Accessing SRTM DEM data
Accessing ASTER GED emissivity data
Create an account at https://urs.earthdata.nasa.gov/users/new
Authorize required applications in your EarthData profile:
OB.DAAC Data Access
LP DAAC Data Pool
Configure credentials using one of these methods:
Option A: .netrc file (recommended)
Add to
~/.netrc:machine earthdata login YOUR-USERNAME password YOUR-PASSWORD
Ensure proper permissions:
chmod 600 ~/.netrc
Option B: Environment variables
export EARTHDATA_u=YOUR-USERNAME export EARTHDATA_p=YOUR-PASSWORD
Option C: Credentials file
Edit
config/credentials.txt:EARTHDATA_u=YOUR-USERNAME EARTHDATA_p=YOUR-PASSWORD
TACT Installation (Optional)
The Thermal Atmospheric Correction Tool (TACT) requires libRadtran for atmospheric simulations.
Option 1: Conda installation (easiest)
conda install conda-forge::rubin-libradtran
Add to your settings file:
use_system_libradtran=True
Option 2: Manual installation
mkdir -p external
cd external
wget http://www.libradtran.org/download/libRadtran-2.0.5.tar.gz
tar -xzf libRadtran-2.0.5.tar.gz
cd libRadtran-2.0.5
./configure
make
make check
For improved spectral resolution, add reptran data:
cd external/libRadtran-2.0.5
wget "http://www.meteo.physik.uni-muenchen.de/~libradtran/lib/exe/fetch.php?media=download:reptran_2017_all.tar.gz" -O reptran_2017_all.tar.gz
tar -xzf reptran_2017_all.tar.gz
Verifying Installation
Test your installation by running the GUI:
python launch_acolite.py
Or test the CLI:
python launch_acolite.py --cli --help
Troubleshooting
GDAL import errors
Ensure GDAL is installed from conda-forge, not pip:
conda install -c conda-forge gdal
Missing JP2000 support
Install the JPEG2000 GDAL plugin:
conda install -c conda-forge libgdal-jp2openjpeg
LUT download failures
Check your internet connection and try manual download from https://github.com/acolite/acolite_luts
EarthData authentication errors
Verify your .netrc file permissions (must be 600) and that your account has the required application authorizations.