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.
  • 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).


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, export, 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ivert-0.6.10.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ivert-0.6.10-py3-none-any.whl (147.1 kB view details)

Uploaded Python 3

File details

Details for the file ivert-0.6.10.tar.gz.

File metadata

  • Download URL: ivert-0.6.10.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ivert-0.6.10.tar.gz
Algorithm Hash digest
SHA256 7cd102ea4e3274cc82235a52ba17062ffe7006af7fe8e76857ed85c264a6f0cf
MD5 c2e9bbac61bb704965bab71c0c14b5dc
BLAKE2b-256 c5647af3fdc3e6affe567e7d3977772f28b7303c7e784e5d25f18271c1b80727

See more details on using hashes here.

Provenance

The following attestation bundles were made for ivert-0.6.10.tar.gz:

Publisher: publish-to-pypi.yml on continuous-dems/ivert

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ivert-0.6.10-py3-none-any.whl.

File metadata

  • Download URL: ivert-0.6.10-py3-none-any.whl
  • Upload date:
  • Size: 147.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ivert-0.6.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e192e199f06e8592e41050263f117b2568672ea9405850423fc858f72fb7121d
MD5 3286f74f06211ecc0b0b8620cab05095
BLAKE2b-256 4e7f8d5e6aa8057d05ef8d0a508d5ca68d9e9a117f4e9b7c9034529c71ef762c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ivert-0.6.10-py3-none-any.whl:

Publisher: publish-to-pypi.yml on continuous-dems/ivert

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.10 This release

2 files

0.6.9

2 files

0.6.8

2 files

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

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