Skip to content

Data

ICESat

# SpaceLiDAR.pointsMethod.

points(g::ICESat_Granule{:GLAH06})

Retrieve the points for a given ICESat GLAH06 (Land Ice) granule as a list of namedtuples The names of the tuples are based on the following fields:

Variable Original Field Description Units
longitude Data_40HZ/Geolocation/d_lon Longitude of segment center, WGS84, East=+ decimal degrees
latitude Data_40HZ/Geolocation/d_lat Latitude of segment center, WGS84, North=+ decimal degrees
height Data_40HZ/Elevation_Surfaces/d_elev + Data_40HZ/Elevation_Corrections/d_satElevCorr m above WGS84 ellipsoid
datetime Data_40HZ/DS_UTCTime_40 Precise time of aquisiton date-time
quality 1 Data_40HZ/Quality/elev_use_flg & Data_40HZ/Quality/sigma_att_flg = 0
& Data_40HZ/Waveform/i_numPk = 1 & Data_40HZ/Elevation_Corrections/d_satElevCorr < 3 1 = high quality
height_reference land_ice_segments/dem/dem_h Height of the (best available) DEM height above WGS84

You can get the output in a DataFrame with DataFrame(points(g)).

source

# SpaceLiDAR.pointsMethod.

points(g::ICESat_Granule{:GLAH14})

Retrieve the points for a given ICESat GLAH14 (Land Surface) granule as a list of namedtuples The names of the tuples are based on the following fields:

Variable Original Field (in Data_40HZ) Description Units
longitude /Geolocation/d_lon Longitude of segment center, WGS84, East=+ decimal degrees
latitude Geolocation/d_lat Latitude of segment center, WGS84, North=+ decimal degrees
height Elevation_Surfaces/d_elev + Elevation_Corrections/d_satElevCorr m above WGS84 ellipsoid
datetime DS_UTCTime_40 Precise time of aquisiton date-time
quality 1 Quality/elev_use_flg & Quality/sigma_att_flg = 0
& Waveform/i_numPk = 1 & Elevation_Corrections/d_satElevCorr < 3 1=high quality
clouds Elevation_Flags/elv_cloud_flg Cloud contamination -
height_reference Geophysical/d_DEM_elv Height of the (best available) DEM height above WGS84
gain Waveform/i_gval_rcv Gain value used for received pulse. -
reflectivity Reflectivity/d_reflctUC Reflectivity, not corrected -
attitude Quality/sigma_att_flg Attitude quality indicator 0=good; 50=warning; 100=bad;
saturation Quality/sat_corr_flg Saturation Correction Flag 0=not_saturated;

You can get the output in a DataFrame with DataFrame(points(g)).

source

ICESat-2

# SpaceLiDAR.classifyFunction.

classify(granule::ICESat2_Granule{:ATL03}, atl08::Union{ICESat2_Granule{:ATL08},Nothing} = nothing, tracks = icesat2_tracks)

Like points(::ICESat2_Granule{:ATL03}) but with the classification from the ATL08 dataset. If an ATL08 granule is not provided, we try to find it based on the ATL03 name using convert.

source

# SpaceLiDAR.pointsMethod.

points(g::ICESat2_Granule{:ATL03}, tracks=icesat2_tracks, step=1)

Retrieve the points for a given ICESat-2 ATL03 (Global Geolocated Photon Data) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:

Column Field Description Units
longitude heights/lon_ph Longitude of photon, WGS84, East=+ decimal degrees
latitude heights/lat_ph Latitude of photon, WGS84, North=+ decimal degrees
height heights/h_ph Photon WGS84 Height m above the WGS 84 ellipsoid
quality heights/quality_ph Indicates the quality of the associated photon 0 = nominal
uncertainty geolocation/sigma_h Estimated height uncertainty m
datetime heights/delta_time + ancillary_data/atlas_sdp_gps_epoch + gps_offset date-time
confidence heights/signal_conf_ph Photon Signal Confidence 2=low; 3=med; 4=high
segment geolocation/segment_id Along-track segment ID number -
track gt1l - gt3r groups - -
strong_beam - "strong" (true) or "weak" (false) laser power -
sun_angle geolocation/solar_elevation Sun angle ° above horizon
detector_id atlas_spot_number attribute - -
height_reference heights/dem/dem_h Height of the (best available) DEM m above the WGS 84 ellipsoid

You can combine the output in a DataFrame with reduce(vcat, DataFrame.(points(g))) if you want to change the default arguments or DataFrame(g) with the default options.

source

# SpaceLiDAR.pointsMethod.

points(g::ICESat2_Granule{:ATL06}, tracks=icesat2_tracks, step=1)

Retrieve the points for a given ICESat-2 ATL06 (Land Ice) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:

Column Field Description Units
longitude land_ice_segments/longitude Longitude of segment center, WGS84, East=+ decimal degrees
latitude land_ice_segments/latitude Latitude of segment center, WGS84, North=+ decimal degrees
height land_ice_segments/h_li Standard land-ice segment height m above the WGS 84 ellipsoid
height_error √(land_ice_segments/sigma_geo_h² + Total vertical geolocation error m above the WGS 84 ellipsoid
land_ice_segments/h_li_sigma²)
datetime land_ice_segments/delta_time + ancillary_data/atlas_sdp_gps_epoch + gps_offset date-time
quality land_ice_segments/atl06_quality_summary Boolean flag indicating the best-quality subset 1 = high quality
track gt1l - gt3r groups - -
strong_beam - "strong" (true) or "weak" (false) laser power -
detector_id atlas_spot_number attribute - -
height_reference land_ice_segments/dem/dem_h Height of the (best available) DEM -

You can combine the output in a DataFrame with reduce(vcat, DataFrame.(points(g))) if you want to change the default arguments or DataFrame(g) with the default options.

source

# SpaceLiDAR.pointsMethod.

points(g::ICESat2_Granule{:ATL08}; tracks=icesat2_tracks, step=1, canopy=false, ground=true))

Retrieve the points for a given ICESat-2 ATL08 (Land and Vegetation Height) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:

Column Field Description Units
longitude land_segments/longitude Longitude of segment center, WGS84, East=+ decimal degrees
latitude land_segments/latitude Latitude of segment center, WGS84, North=+ decimal degrees
height land_segments/terrain/h_te_mean Standard land-ice segment height m above the WGS 84 ellipsoid
height_error land_segments/terrain/h_te_uncertainty Total vertical geolocation error m
datetime land_segments/delta_time + ancillary_data/atlas_sdp_gps_epoch + gps_offset date-time
quality land_segments/terrain_flg Boolean flag indicating the best-quality subset 1 = high quality
phr land_segments/ph_removal_flag More than 50% of photons removed -
sensitivity land_segments/snr The signal to noise ratio -
scattered land_segments/msw_flag Multiple Scattering warning flag -1=unknown; 0=none
saturated land_segments/sat_flag Saturation detected -
clouds land_segments/layer_flag Clouds or blowing snow are likely present -
track gt1l - gt3r groups - -
strong_beam - "strong" (true) or "weak" (false) laser power -
classification - "ground", "high_canopy" -
height_reference land_segments/dem_h Height of the (best available) DEM m above the WGS 84 ellipsoid
detector_id atlas_spot_number attribute - -

You can combine the output in a DataFrame with reduce(vcat, DataFrame.(points(g))) if you want to change the default arguments or DataFrame(g) with the default options.

source

# SpaceLiDAR.pointsFunction.

points(g::ICESat2_Granule{:ATL12}, tracks=icesat2_tracks)

Retrieve the points for a given ICESat-2 ATL12 (Ocean Surface Height) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:

Column Field Description Units
longitude ssh_segments/longitude Longitude of segment center, WGS84, East=+ decimal degrees
latitude ssh_segments/latitude Latitude of segment center, WGS84, North=+ decimal degrees
height ssh_segments/heights/h Standard land-ice segment height m above the WGS 84 ellipsoid
datetime ssh_segments/delta_time + ancillary_data/atlas_sdp_gps_epoch + gps_offset date-time
track gt1l - gt3r groups - -
strong_beam - "strong" (true) or "weak" (false) laser power -
detector_id atlas_spot_number attribute - -

You can combine the output in a DataFrame with reduce(vcat, DataFrame.(points(g))) if you want to change the default arguments or DataFrame(g) with the default options.

source

GEDI

# SpaceLiDAR.pointsMethod.

points(g::GEDI_Granule{:GEDI02_A}; tracks=gedi_tracks, step=1, canopy=false, ground=true, filtered=true)

Retrieve the points for a given GEDI Level 2A (Geolocated Elevation and Height Metrics) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:

Column Field Description Units
longitude lon_lowestmode Longitude of center, WGS84, East=+ decimal degrees
latitude lat_lowestmode Latitude of center, WGS84, North=+ decimal degrees
height elev_lowestmode Standard land-ice segment height m above the WGS 84 ellipsoid
height_error elevation_bin0_error Error in elevation of bin 0 m
datetime delta_time + ancillary_data/atlas_sdp_gps_epoch + gps_offset date-time
quality quality_flag Flag simpilfying selection of most useful data 1 = high quality
surface surface_flag Indicates elev_lowestmode is within 300m of DEM or MSS 1 = high quality
nmodes num_detectedmodes Number of detected modes in rxwaveform -
intensity energy_total Integrated counts in the return waveform -
sensitivity sensitivity Maxmimum canopy cover that can be penetrated -
track BEAM0000 - BEAM1011 groups - -
strong_beam - "strong" (true) or "weak" (false) laser power -
classification - "ground", "high_canopy" -
sun_angle solar_elevation Sun angle ° above horizon
height_reference digital_elevation_model TanDEM-X elevation at GEDI footprint location m above the WGS 84 ellipsoid

You can combine the output in a DataFrame with reduce(vcat, DataFrame.(points(g))) if you want to change the default arguments or DataFrame(g) with the default options.

Data is filtered by default based on2, except for the sensitivity field, which can be manually filtered to be above 0.9 and below or equal to 1.0 to match2.

source


  1. Smith, B., Fricker, H. A., Gardner, A. S., Medley, B., Nilsson, J., Paolo, F. S., ... & Zwally, H. J. (2020). Pervasive ice sheet mass loss reflects competing ocean and atmosphere processes. Science, 368(6496), 1239-1242. 

  2. 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.