Skip to main content

IVERT

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.

Developed by the continuous-dems team. Primary authors: Mike MacFerrin (IVERT) and Matthew Love (continuous-dems utilities).


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.
  • Every validation writes a manifest of its settings and IVERT version, so a run can be repeated exactly, by you or anyone you share it with, on the same DEMs or new ones (ivert validate -m).
  • Local, spatially-indexed photon database — download once, validate many times — with commands to list, size, rebuild, delete, and archive (dump and restore) its 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 from the continuous-dems organization — fetchez, globato, and transformez — are installed automatically from PyPI 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).


Documentation

Command Description
ivert setup Create data directories and set up NASA Earthdata credentials
ivert validate Validate DEMs against ICESat-2 data
ivert database Download, convert, archive, and manage the local photon database
ivert classes List the ICESat-2 photon classification codes
ivert cache View and clear the local file cache
ivert options View and change configuration settings

Metadata

Release files for ivert 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ivert 0.7.1
File Size Uploaded Provenance
ivert-0.7.1.tar.gz 1.6 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ivert 0.7.1
File Interpreter ABI Platform
ivert-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / ivert-0.7.1.tar.gz

Download URL ivert-0.7.1.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
8a5c7014d2997111ebccad594a699fe2c3381a00b0ecb0ed656e99d3600d4c10
BLAKE2b-256 checksum
How to use checksums
d46b9079a4cd01da8206a0aaf13554276f218b650fcbfc377b34ec65792bfad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / ivert-0.7.1-py3-none-any.whl

Download URL ivert-0.7.1-py3-none-any.whl
Size 213.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71afc9e5713b06b07c306fdaf66447860e795a3fc3be63caaf05b332cbeb3632
BLAKE2b-256 checksum
How to use checksums
b092acdafddf2209b3cd8b20894294e4adba30cda88068e93f02b54bafe2a048
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for ivert 0.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ivert-0.7.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page