Ivert Documentation#
ICESat-2 Validation of Elevations Reporting Tool
IVERT validates Digital Elevation Models (DEMs) by comparing their elevations against ICESat-2 satellite photon data. It supports topographic, bathymetric, and mixed coastal DEMs, runs fully offline on any machine, and handles vertical datum conversions automatically.
Capabilities#
Validate topographic, bathymetric, and mixed coastal DEMs against ICESat-2 photons — a single DEM, or a whole directory/glob of DEMs with combined collection-level summaries.
Classifies photons by surface type — ground, canopy, land ice, buildings, seafloor, and water surfaces — by combining multiple ICESat-2 products (ATL03, ATL06, ATL08, ATL12, ATL13, ATL24) with a Bing-derived building-footprint mask to flag built structures.
Coastline/water filtering to minimize false-positive “ground” photons appearing offshore over water and unreasonably-shallow “bathy floor” photons with large errors over deep water.
Automatic vertical datum conversion (NAVD88, EGM2008, MLLW, ellipsoid, and many more, by EPSG code or short name) — no manual reprojection needed.
Configurable photon filtering at both download and validation: signal confidence, bathymetry confidence, photon class selection, and outlier rejection.
Statistical outputs: mean bias, RMSE, standard deviation, a full percentile breakdown of per-cell errors, and optional per-cell photon coverage.
Automatically-generated validation plots (per-DEM and collection-wide).
Export per-cell errors to GeoTIFF, GeoPackage, Shapefile, or XYZ text.
Local, spatially-indexed photon database — download once, validate many times — with commands to list, size, rebuild, and delete cached data.
Export classified photons from the database to GeoPackage, Shapefile, or XYZ text.
Runs fully offline on any machine, with configurable data directories and per-project config profiles.
Installation#
Available on PyPI:
pip install ivert
or on conda-forge:
conda install ivert
For development (editable install from this repo):
git clone https://github.com/continuous-dems/ivert.git
cd ivert
pip install -e .
Three dependencies — fetchez, globato, and transformez — are pulled automatically from the continuous-dems GitHub organization and do not need to be installed separately.
Quick start#
1. Set up IVERT’s data directories and credentials (run once on a new machine):
ivert setup
This creates the local ~/.ivert data directories and checks your ~/.netrc for NASA Earthdata Login credentials, offering to save them if they are not already present. Earthdata credentials are required to download ICESat-2 data (register for a free account).
2. Download ICESat-2 photon data for your area (bounding box in W/E/S/N order):
ivert database download -- -74.0/-73.0/40.5/41.0
3. Validate your DEM:
ivert validate mydem.tif
4. Check the output directory for mydem_results.h5, a validation plot (.png), and error exports (.tif, .gpkg).