API reference¶
Mission operations¶
#
SpaceAltimetry.ICESat.Quality — Type.
Filter: keep only high-quality ICESat (GLAH06/GLAH14) returns following Smith et al. (2020). The product-specific attitude column is selected by dispatch (:sigma_att_flg for GLAH06, :attitude for GLAH14). See icesat_quality.
#
SpaceAltimetry.ICESat.SaturationCorrect — Type.
Transform: add :saturation_correction to :height (ICESat). Equivalent to icesat_saturation_correct!.
#
SpaceAltimetry.ICESat.TopexToWGS84 — Type.
Transform: convert ICESat (GLAH06/GLAH14) TOPEX/Poseidon ellipsoid :height (and :height_reference if present) to WGS84. Equivalent to topex_to_wgs84!.
#
SpaceAltimetry.ICESat2.Quality — Type.
Filter ICESat-2 rows using the quality field exposed by the point methods. ATL03 keeps nominal photons (quality_ph == 0); ATL06 and ATL08 keep rows whose product quality summary is true.
#
SpaceAltimetry.GEDI.Quality — Type.
Filter GEDI L2A rows using the criteria by 1, except for the sensitivity field, which can be manually filtered to be above 0.9 and below or equal to 1.0 to match1.
The filter auto-loads the following datasets:
| Dataset | Required value | Purpose |
|---|---|---|
rx_assess/quality_flag |
nonzero | Receive waveform passed basic assessment |
surface_flag |
nonzero | Lowest detected mode is within 300 m of the reference surface |
geolocation/stale_return_flag |
zero | Geolocation does not use a stale return |
rx_assess/rx_maxamp / rx_assess/sd_corrected |
at least 8 | Return amplitude is sufficiently above noise |
degrade_flag |
zero | Instrument was not in a degraded state |
selected_algorithm |
an algorithm setting group in the granule | Identifies the waveform algorithm used for this shot |
rx_processing_aN/rx_algrunflag |
nonzero | The selected algorithm ran successfully |
rx_processing_aN/zcross |
greater than zero | The selected algorithm found a valid lower threshold crossing |
rx_processing_aN/toploc |
greater than zero | The selected algorithm found a valid waveform top |
For the final three checks, N is chosen independently for each row from selected_algorithm; fields for all algorithm setting groups of the granule are loaded so mixed algorithm selections can be filtered in one pass. Missing values, algorithms without columns, and failed criteria reject the row.
For version 3 granules the last four rows are replaced by l2_algrunflag (nonzero), which combines the same checks for the selected algorithm and adds 0 < sensitivity < 1 (GEDI Level 2 User Guide V3.0). Version 3 has algorithm setting groups 1, 2, 5 and 10 instead of 1–6 (see gedi_algorithms).
Quality does not include the sensitivity thresholds of the version 3 l2a_quality_flag_rel3 (the quality column of version 3 tables). Sensitivity is intentionally separate; compose this filter with Sensitivity when needed.
#
SpaceAltimetry.GEDI.Sensitivity — Type.
Filter GEDI L2A rows to gt < sensitivity <= 1.0. GEDI sensitivity is stored on a 0-1 scale; values outside that range and missing values are rejected.
ICESat helpers¶
#
SpaceAltimetry.topex_to_wgs84! — Function.
Convert ICESat coordinates from the TOPEX/Poseidon ellipsoid to WGS84. Transforms :height (and :height_reference if present). Latitude/longitude differences are below instrument precision (~1e-6°) and are not modified.
If t carries "GEOINTERFACE:crs" metadata equal to EPSG(4979) (or already in EGM2008), the projection is skipped — applying it twice would corrupt heights. After a successful projection, the new CRS is written to t's metadata if writable.
Only meaningful for ICESat granules (GLAH06/GLAH14). Rows with missing inputs are left untouched.
#
SpaceAltimetry.icesat_saturation_correct! — Function.
Add :saturation_correction to :height. Missing corrections (the original ICESat fill sentinel, mapped to missing by table()) leave the height untouched. Missing heights stay missing because missing + x === missing.
Only meaningful for ICESat granules (GLAH06/GLAH14). Call before topex_to_wgs84!.
#
SpaceAltimetry.icesat_quality — Function.
icesat_quality(t) -> BitVector
icesat_quality(elev_use_flg, sigma_att_flg_or_nothing, i_numPk_or_nothing, saturation_correction_or_nothing) -> BitVector
Compute the ICESat quality mask following Smith et al. (2020)2:
elev_use_flg == "valid"(HDF5 flag value 0)sigma_att_flg == "good"(or:attitudefor GLAH14)i_numPk == 1saturation_correction < 3
Missing values map to false. Returns a fresh BitVector suitable for filtering (e.g. t.height[icesat_quality(t)]). Pass nothing for any optional column to skip that predicate.
SpaceAltimetry.GEDI.QualitySpaceAltimetry.GEDI.SensitivitySpaceAltimetry.GEDI_GranuleSpaceAltimetry.ICESat.QualitySpaceAltimetry.ICESat.SaturationCorrectSpaceAltimetry.ICESat.TopexToWGS84SpaceAltimetry.ICESat2.QualitySpaceAltimetry.ICESat2_GranuleSpaceAltimetry.ICESat_GranuleSpaceAltimetry.ToEGM2008Base.Filesystem.rmBase.convertSpaceAltimetry.angle!SpaceAltimetry.atl08_canopy_variablesSpaceAltimetry.boundsSpaceAltimetry.boundsSpaceAltimetry.classifySpaceAltimetry.downloadSpaceAltimetry.downloadSpaceAltimetry.download!SpaceAltimetry.download!SpaceAltimetry.exploreSpaceAltimetry.gedi_algorithmsSpaceAltimetry.gedi_l2a_canopy_variablesSpaceAltimetry.gedi_quality_pathSpaceAltimetry.gedi_versionSpaceAltimetry.granuleSpaceAltimetry.granulesSpaceAltimetry.icesat_qualitySpaceAltimetry.icesat_qualitySpaceAltimetry.icesat_saturation_correctSpaceAltimetry.icesat_saturation_correct!SpaceAltimetry.icesat_saturation_correct!SpaceAltimetry.in_bboxSpaceAltimetry.infoSpaceAltimetry.infoSpaceAltimetry.infoSpaceAltimetry.instantiateSpaceAltimetry.isvalidSpaceAltimetry.linesSpaceAltimetry.netrc!SpaceAltimetry.pointsSpaceAltimetry.pointsSpaceAltimetry.pointsSpaceAltimetry.pointsSpaceAltimetry.pointsSpaceAltimetry.pointsSpaceAltimetry.searchSpaceAltimetry.shiftSpaceAltimetry.syncSpaceAltimetry.tableSpaceAltimetry.to_egm2008SpaceAltimetry.to_egm2008!SpaceAltimetry.topex_to_wgs84SpaceAltimetry.topex_to_wgs84!SpaceAltimetry.topex_to_wgs84!SpaceAltimetry.track_angle
-
Dubayah, R. O., S. B. Luthcke, T. J. Sabaka, J. B. Nicholas, S. Preaux, and M. A. Hofton. 2021. “GEDI L3 Gridded Land Surface Metrics, Version 2.” ORNL DAAC, November. https://doi.org/10.3334/ORNLDAAC/1952. ↩↩
-
Smith, B., et al. (2020). Pervasive ice sheet mass loss reflects competing ocean and atmosphere processes. Science, 368(6496), 1239-1242. ↩