Variable Presets Reference#
When you pass -l2a default or -l2a minimal on the command line, gedih3 expands that keyword into a concrete list of HDF5 variable names. This page documents exactly which variables each keyword selects, for every supported product and GEDI data version.
Preset Levels#
Keyword |
What it selects |
|---|---|
|
Smallest usable set per product/version — primary science variables and quality flag. Geolocation, time, elevation, and degrade flag always come from L2A essentials. Hardcoded in |
|
Expert-curated science-ready set, loaded from the bundled |
|
Every variable present in the HDF5 file for that product (all beams). Use with caution — there are 100+ variables per beam for each product. |
|
Plain-text file with one HDF5 variable name per line; |
explicit names |
One or more exact HDF5 variable names inline, e.g. |
wildcard pattern |
Shell-style pattern using |
L2A Essentials — Always Present#
Regardless of which products or presets you select, the build pipeline always includes L2A essentials. These variables are guaranteed to be in every database:
shot_number
delta_time
quality_flag
degrade_flag
sensitivity
lat_lowestmode
lon_lowestmode
elev_lowestmode
shot_number
delta_time
l2a_quality_flag_rel3
degrade_flag
sensitivity
lat_lowestmode
lon_lowestmode
elev_lowestmode
Because L2A provides coordinates, time, elevation, and quality context for all shots, downstream products (L2B, L4A, L4C) do not duplicate these variables in their preset lists.
Wildcard Patterns#
All tools that accept variable names also support shell-style wildcard patterns. This works across all stages — download, build, extract, and aggregate.
Pattern |
Matches |
|---|---|
|
All RH percentiles ( |
|
|
|
All algorithm a1/a2/a5 geolocation variables |
|
All WSCI variables |
|
|
# Build with only algorithm-a1 geolocation variables
gh3_build -r "-51,0,-50,1" -l2a "geolocation/*_a1" -l4a default -s3
# Extract all RH percentiles
gh3_extract -d /path/to/database -l2a "rh_*" -o output/
# Aggregate all AGBD variables
gh3_aggregate -d /path/to/database -h3 6 -l4a "agbd*" -o output/
# Use --list with suffixed wildcard
gh3_extract -d /path/to/database -l "rh_*_l2a" -o output/
Important
Quote wildcard patterns to prevent shell expansion: use -l2a "rh_*" or -l2a 'rh_*', not -l2a rh_*.
CLI Usage#
# Minimal set (fastest build, smallest files)
gh3_build -r "-51,0,-50,1" -l2a minimal -l4a minimal -s3
# Default science-ready set
gh3_build -r "-51,0,-50,1" -l2a default -l4a default
# Explicit variables
gh3_build -r "-51,0,-50,1" -l2a rh quality_flag lat_lowestmode lon_lowestmode -l2b cover -l4a agbd
# From a custom file (one variable per line, # comments allowed)
gh3_build -r "-51,0,-50,1" -l2a /path/to/my_l2a_vars.txt
# All variables (use with caution)
gh3_build -r "-51,0,-50,1" -l2a all
L1B — Geolocated Waveforms#
minimal#
shot_number
stale_return_flag
noise_mean_corrected
rx_sample_start_index
rx_sample_count
rxwaveform
geolocation/elevation_bin0
geolocation/elevation_lastbin
shot_number
stale_return_flag
rx_clipflag
noise_mean_corrected
rx_sample_start_index
rx_sample_count
rxwaveform
geolocation/elevation_bin0
geolocation/elevation_lastbin
default#
# Receive waveform (8)
shot_number
stale_return_flag
noise_mean_corrected
noise_stddev_corrected
rx_sample_start_index
rx_sample_count
rx_energy
rxwaveform
# Transmit pulse flag (1)
tx_pulseflag
# Geolocation (20) — position, elevation, errors, DEM, solar, beam angles
geolocation/degrade
geolocation/latitude_bin0
geolocation/longitude_bin0
geolocation/elevation_bin0
geolocation/latitude_lastbin
geolocation/longitude_lastbin
geolocation/elevation_lastbin
geolocation/latitude_bin0_error
geolocation/longitude_bin0_error
geolocation/elevation_bin0_error
geolocation/latitude_lastbin_error
geolocation/longitude_lastbin_error
geolocation/elevation_lastbin_error
geolocation/digital_elevation_model
geolocation/digital_elevation_model_srtm
geolocation/solar_elevation
geolocation/local_beam_elevation
geolocation/local_beam_elevation_error
geolocation/local_beam_azimuth
geolocation/local_beam_azimuth_error
# Receive waveform (12) — new: rx_clip*, mean_64kadjusted
shot_number
stale_return_flag
noise_mean_corrected
noise_stddev_corrected
mean_64kadjusted
rx_clipbin0
rx_clipbin_count
rx_clipflag
rx_sample_start_index
rx_sample_count
rx_energy
rxwaveform
# Transmit pulse flag (1)
tx_pulseflag
# Geolocation (20) — position, elevation, errors, DEM, solar, beam angles
geolocation/degrade
geolocation/latitude_bin0
geolocation/longitude_bin0
geolocation/elevation_bin0
geolocation/latitude_lastbin
geolocation/longitude_lastbin
geolocation/elevation_lastbin
geolocation/latitude_bin0_error
geolocation/longitude_bin0_error
geolocation/elevation_bin0_error
geolocation/latitude_lastbin_error
geolocation/longitude_lastbin_error
geolocation/elevation_lastbin_error
geolocation/digital_elevation_model
geolocation/digital_elevation_model_srtm
geolocation/solar_elevation
geolocation/local_beam_elevation
geolocation/local_beam_elevation_error
geolocation/local_beam_azimuth
geolocation/local_beam_azimuth_error
L2A — Elevation and Height Metrics#
minimal#
shot_number
delta_time
quality_flag
degrade_flag
sensitivity
lat_lowestmode
lon_lowestmode
elev_lowestmode
rh
shot_number
delta_time
l2a_quality_flag_rel3
degrade_flag
sensitivity
lat_lowestmode
lon_lowestmode
elev_lowestmode
rh
default#
# Core (20)
beam
channel
degrade_flag
delta_time
digital_elevation_model
digital_elevation_model_srtm
elevation_bias_flag
selected_algorithm
selected_mode
num_detectedmodes
shot_number
solar_azimuth
solar_elevation
surface_flag
lat_lowestmode
lon_lowestmode
elev_lowestmode
quality_flag
rh
sensitivity
# Geolocation — stale flag (1)
geolocation/stale_return_flag
# Geolocation — algorithm a1 (13)
geolocation/elev_highestreturn_a1
geolocation/elev_lowestmode_a1
geolocation/elev_lowestreturn_a1
geolocation/lat_highestreturn_a1
geolocation/lat_lowestmode_a1
geolocation/lat_lowestreturn_a1
geolocation/lon_highestreturn_a1
geolocation/lon_lowestmode_a1
geolocation/lon_lowestreturn_a1
geolocation/num_detectedmodes_a1
geolocation/quality_flag_a1
geolocation/rh_a1
geolocation/sensitivity_a1
# Geolocation — algorithm a2 (13)
geolocation/elev_highestreturn_a2
geolocation/elev_lowestmode_a2
geolocation/elev_lowestreturn_a2
geolocation/lat_highestreturn_a2
geolocation/lat_lowestmode_a2
geolocation/lat_lowestreturn_a2
geolocation/lon_highestreturn_a2
geolocation/lon_lowestmode_a2
geolocation/lon_lowestreturn_a2
geolocation/num_detectedmodes_a2
geolocation/quality_flag_a2
geolocation/rh_a2
geolocation/sensitivity_a2
# Geolocation — algorithm a5 (13)
geolocation/elev_highestreturn_a5
geolocation/elev_lowestmode_a5
geolocation/elev_lowestreturn_a5
geolocation/lat_highestreturn_a5
geolocation/lat_lowestmode_a5
geolocation/lat_lowestreturn_a5
geolocation/lon_highestreturn_a5
geolocation/lon_lowestmode_a5
geolocation/lon_lowestreturn_a5
geolocation/num_detectedmodes_a5
geolocation/quality_flag_a5
geolocation/rh_a5
geolocation/sensitivity_a5
# rx_assess (7)
rx_assess/mean_64kadjusted
rx_assess/mean
rx_assess/sd_corrected
rx_assess/quality_flag
rx_assess/rx_assess_flag
rx_assess/rx_maxamp
rx_assess/rx_energy
# rx_processing — algorithm a1 (5)
rx_processing_a1/zcross
rx_processing_a1/toploc
rx_processing_a1/botloc
rx_processing_a1/rx_algrunflag
rx_processing_a1/selected_mode_flag
# rx_processing — algorithm a2 (5)
rx_processing_a2/zcross
rx_processing_a2/toploc
rx_processing_a2/botloc
rx_processing_a2/rx_algrunflag
rx_processing_a2/selected_mode_flag
# rx_processing — algorithm a5 (5)
rx_processing_a5/zcross
rx_processing_a5/toploc
rx_processing_a5/botloc
rx_processing_a5/rx_algrunflag
rx_processing_a5/selected_mode_flag
# land_cover_data (6)
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/leaf_off_flag
land_cover_data/pft_class
land_cover_data/region_class
land_cover_data/urban_proportion
# Core (21) — dual quality flags; num_detectedmodes added
beam
channel
degrade_flag
delta_time
digital_elevation_model
digital_elevation_model_srtm
elevation_bias_flag
selected_algorithm
selected_mode
num_detectedmodes
shot_number
solar_azimuth
solar_elevation
surface_flag
lat_lowestmode
lon_lowestmode
elev_lowestmode
l2a_quality_flag_rel2
l2a_quality_flag_rel3
rh
sensitivity
# Geolocation — stale flag (1)
geolocation/stale_return_flag
# Geolocation — algorithm a1 (13)
geolocation/elev_highestreturn_a1
geolocation/elev_lowestmode_a1
geolocation/elev_lowestreturn_a1
geolocation/lat_highestreturn_a1
geolocation/lat_lowestmode_a1
geolocation/lat_lowestreturn_a1
geolocation/lon_highestreturn_a1
geolocation/lon_lowestmode_a1
geolocation/lon_lowestreturn_a1
geolocation/num_detectedmodes_a1
geolocation/l2a_quality_flag_rel3_a1
geolocation/rh_a1
geolocation/sensitivity_a1
# Geolocation — algorithm a2 (13)
geolocation/elev_highestreturn_a2
geolocation/elev_lowestmode_a2
geolocation/elev_lowestreturn_a2
geolocation/lat_highestreturn_a2
geolocation/lat_lowestmode_a2
geolocation/lat_lowestreturn_a2
geolocation/lon_highestreturn_a2
geolocation/lon_lowestmode_a2
geolocation/lon_lowestreturn_a2
geolocation/num_detectedmodes_a2
geolocation/l2a_quality_flag_rel3_a2
geolocation/rh_a2
geolocation/sensitivity_a2
# Geolocation — algorithm a5 (13)
geolocation/elev_highestreturn_a5
geolocation/elev_lowestmode_a5
geolocation/elev_lowestreturn_a5
geolocation/lat_highestreturn_a5
geolocation/lat_lowestmode_a5
geolocation/lat_lowestreturn_a5
geolocation/lon_highestreturn_a5
geolocation/lon_lowestmode_a5
geolocation/lon_lowestreturn_a5
geolocation/num_detectedmodes_a5
geolocation/l2a_quality_flag_rel3_a5
geolocation/rh_a5
geolocation/sensitivity_a5
# Geolocation — algorithm a10 (13) — new in v3
geolocation/elev_highestreturn_a10
geolocation/elev_lowestmode_a10
geolocation/elev_lowestreturn_a10
geolocation/lat_highestreturn_a10
geolocation/lat_lowestmode_a10
geolocation/lat_lowestreturn_a10
geolocation/lon_highestreturn_a10
geolocation/lon_lowestmode_a10
geolocation/lon_lowestreturn_a10
geolocation/num_detectedmodes_a10
geolocation/l2a_quality_flag_rel3_a10
geolocation/rh_a10
geolocation/sensitivity_a10
# rx_assess (7)
rx_assess/mean_64kadjusted
rx_assess/mean
rx_assess/sd_corrected
rx_assess/quality_flag
rx_assess/rx_assess_flag
rx_assess/rx_maxamp
rx_assess/rx_energy
# rx_processing — algorithm a1 (5)
rx_processing_a1/zcross
rx_processing_a1/toploc
rx_processing_a1/botloc
rx_processing_a1/rx_algrunflag
rx_processing_a1/selected_mode_flag
# rx_processing — algorithm a2 (5)
rx_processing_a2/zcross
rx_processing_a2/toploc
rx_processing_a2/botloc
rx_processing_a2/rx_algrunflag
rx_processing_a2/selected_mode_flag
# rx_processing — algorithm a5 (5)
rx_processing_a5/zcross
rx_processing_a5/toploc
rx_processing_a5/botloc
rx_processing_a5/rx_algrunflag
rx_processing_a5/selected_mode_flag
# rx_processing — algorithm a10 (5) — new in v3
rx_processing_a10/zcross
rx_processing_a10/toploc
rx_processing_a10/botloc
rx_processing_a10/rx_algrunflag
rx_processing_a10/selected_mode_flag
# land_cover_data (9) — adds phenology_phase, phenology_year, worldcover_class
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/leaf_off_flag
land_cover_data/pft_class
land_cover_data/region_class
land_cover_data/urban_proportion
land_cover_data/phenology_phase
land_cover_data/phenology_year
land_cover_data/worldcover_class
L2B — Canopy Cover and Vertical Structure#
minimal#
shot_number
l2b_quality_flag
cover_z
fhd_normal
pai_z
pavd_z
cover
pai
shot_number
l2b_quality_flag_rel3
cover_z
fhd_normal
pai_z
pavd_z
cover
pai
rch
default#
# Core (22) — includes total cover, pai, omega, pgap_theta
algorithmrun_flag
cover
cover_z
fhd_normal
l2b_quality_flag
omega
pai
pai_z
pavd_z
pgap_theta
pgap_theta_error
rg
rossg
rv
rh100
rx_range_highestreturn
selected_rg_algorithm
selected_l2a_algorithm
sensitivity
shot_number
stale_return_flag
surface_flag
# geolocation (6) — no L2A duplicates
geolocation/digital_elevation_model
geolocation/elev_highestreturn
geolocation/lat_highestreturn
geolocation/local_beam_elevation
geolocation/lon_highestreturn
geolocation/solar_elevation
# land_cover_data (6)
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/urban_proportion
land_cover_data/leaf_off_flag
land_cover_data/pft_class
land_cover_data/region_class
# rx_processing — algorithm a1 (6)
rx_processing/algorithmrun_flag_a1
rx_processing/pgap_theta_a1
rx_processing/rg_a1
rx_processing/rg_error_a1
rx_processing/rv_a1
rx_processing/rx_energy_a1
# rx_processing — algorithm a2 (6)
rx_processing/algorithmrun_flag_a2
rx_processing/pgap_theta_a2
rx_processing/rg_a2
rx_processing/rg_error_a2
rx_processing/rv_a2
rx_processing/rx_energy_a2
# rx_processing — algorithm a5 (6)
rx_processing/algorithmrun_flag_a5
rx_processing/pgap_theta_a5
rx_processing/rg_a5
rx_processing/rg_error_a5
rx_processing/rv_a5
rx_processing/rx_energy_a5
# Core (27) — dual quality flags; new metrics rch, rhov_rhog, rv_rg_r; sensitivity retained
cover
cover_z
fhd_normal
l2_algrunflag
l2b_quality_flag_rel2
l2b_quality_flag_rel3
omega
pai
pai_z
pavd_z
pgap_theta
pgap_theta_error
rch
rg
rhov_rhog
rhov_rhog_se
rossg
rv
rv_rg_r
rh100
rx_range_highestreturn
selected_rg_algorithm
selected_l2a_algorithm
sensitivity
shot_number
stale_return_flag
surface_flag
# geolocation (4) — v3 removes DEM and highestreturn fields; adds solar_azimuth
geolocation/local_beam_azimuth
geolocation/local_beam_elevation
geolocation/solar_azimuth
geolocation/solar_elevation
# land_cover_data (9) — adds phenology_phase, phenology_year, worldcover_class
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/urban_proportion
land_cover_data/leaf_off_flag
land_cover_data/phenology_phase
land_cover_data/phenology_year
land_cover_data/pft_class
land_cover_data/region_class
land_cover_data/worldcover_class
# rx_processing — algorithms a1, a2, a5, a10 (7 each) — adds fhd_normal, rch per algo
rx_processing/fhd_normal_a1
rx_processing/l2_algrunflag_a1
rx_processing/rch_a1
rx_processing/rg_a1
rx_processing/rg_error_a1
rx_processing/rv_a1
rx_processing/rx_energy_a1
rx_processing/fhd_normal_a2
rx_processing/l2_algrunflag_a2
rx_processing/rch_a2
rx_processing/rg_a2
rx_processing/rg_error_a2
rx_processing/rv_a2
rx_processing/rx_energy_a2
rx_processing/fhd_normal_a5
rx_processing/l2_algrunflag_a5
rx_processing/rch_a5
rx_processing/rg_a5
rx_processing/rg_error_a5
rx_processing/rv_a5
rx_processing/rx_energy_a5
rx_processing/fhd_normal_a10
rx_processing/l2_algrunflag_a10
rx_processing/rch_a10
rx_processing/rg_a10
rx_processing/rg_error_a10
rx_processing/rv_a10
rx_processing/rx_energy_a10
v3 adds dual quality flags (l2b_quality_flag_rel2/rel3), new metrics (rch, rhov_rhog, rv_rg_r),
restructures geolocation, expands land cover, and adds fhd_normal_aX/rch_aX to rx_processing.
L4A — Footprint-Level Aboveground Biomass#
minimal#
shot_number
agbd
agbd_se
l4_quality_flag
shot_number
agbd
agbd_se
l4a_quality_flag_rel3
elev_highestreturn_outlier_flag
default#
# Core (16) — no L2A duplicates (coords/time/degrade from L2A)
agbd
agbd_se
agbd_t
agbd_t_se
algorithm_run_flag
l2_quality_flag
l4_quality_flag
predict_stratum
predictor_limit_flag
response_limit_flag
selected_algorithm
sensitivity
shot_number
solar_elevation
surface_flag
xvar
# land_cover_data (6)
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/leaf_off_flag
land_cover_data/pft_class
land_cover_data/region_class
land_cover_data/urban_proportion
# geolocation — algorithms a1, a2, a5 (4 each)
geolocation/elev_lowestmode_a1
geolocation/lat_lowestmode_a1
geolocation/lon_lowestmode_a1
geolocation/sensitivity_a1
geolocation/elev_lowestmode_a2
geolocation/lat_lowestmode_a2
geolocation/lon_lowestmode_a2
geolocation/sensitivity_a2
geolocation/elev_lowestmode_a5
geolocation/lat_lowestmode_a5
geolocation/lon_lowestmode_a5
geolocation/sensitivity_a5
# agbd_prediction — algorithms a1, a2, a5 (12 each)
agbd_prediction/agbd_a1
agbd_prediction/agbd_se_a1
agbd_prediction/agbd_t_a1
agbd_prediction/agbd_t_se_a1
agbd_prediction/algorithm_run_flag_a1
agbd_prediction/l2_quality_flag_a1
agbd_prediction/l4_quality_flag_a1
agbd_prediction/predictor_limit_flag_a1
agbd_prediction/response_limit_flag_a1
agbd_prediction/selected_mode_a1
agbd_prediction/selected_mode_flag_a1
agbd_prediction/xvar_a1
agbd_prediction/agbd_a2
agbd_prediction/agbd_se_a2
agbd_prediction/agbd_t_a2
agbd_prediction/agbd_t_se_a2
agbd_prediction/algorithm_run_flag_a2
agbd_prediction/l2_quality_flag_a2
agbd_prediction/l4_quality_flag_a2
agbd_prediction/predictor_limit_flag_a2
agbd_prediction/response_limit_flag_a2
agbd_prediction/selected_mode_a2
agbd_prediction/selected_mode_flag_a2
agbd_prediction/xvar_a2
agbd_prediction/agbd_a5
agbd_prediction/agbd_se_a5
agbd_prediction/agbd_t_a5
agbd_prediction/agbd_t_se_a5
agbd_prediction/algorithm_run_flag_a5
agbd_prediction/l2_quality_flag_a5
agbd_prediction/l4_quality_flag_a5
agbd_prediction/predictor_limit_flag_a5
agbd_prediction/response_limit_flag_a5
agbd_prediction/selected_mode_a5
agbd_prediction/selected_mode_flag_a5
agbd_prediction/xvar_a5
# Core (20) — no L2A duplicates; new v3 flags and prediction intervals; sensitivity retained
agbd
agbd_pi_lower
agbd_pi_upper
agbd_se
agbd_t
agbd_t_se
degrade_include_flag
elev_highestreturn_outlier_flag
l2_algrunflag
l4a_quality_flag_rel3
predict_stratum
predictor_limit_flag
response_limit_flag
selected_algorithm
selected_mode_flag
sensitivity
shot_number
solar_elevation
surface_flag
xvar
# land_cover_data (10) — new: pft_infilled_class, worldcover_class, phenology
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/leaf_off_flag
land_cover_data/phenology_phase
land_cover_data/phenology_year
land_cover_data/pft_class
land_cover_data/pft_infilled_class
land_cover_data/region_class
land_cover_data/urban_proportion
land_cover_data/worldcover_class
# geolocation — algorithms a1, a2, a5, a10 (4 each)
geolocation/elev_lowestmode_a1
geolocation/lat_lowestmode_a1
geolocation/lon_lowestmode_a1
geolocation/sensitivity_a1
geolocation/elev_lowestmode_a2
geolocation/lat_lowestmode_a2
geolocation/lon_lowestmode_a2
geolocation/sensitivity_a2
geolocation/elev_lowestmode_a5
geolocation/lat_lowestmode_a5
geolocation/lon_lowestmode_a5
geolocation/sensitivity_a5
geolocation/elev_lowestmode_a10
geolocation/lat_lowestmode_a10
geolocation/lon_lowestmode_a10
geolocation/sensitivity_a10
# agbd_prediction — algorithms a1, a2, a5, a10 (11 each)
# v3: adds prediction intervals; removes algorithm_run_flag_a*, l2/l4_quality_flag_a*,
# selected_mode_a*; renames to l2_algrunflag_a*
agbd_prediction/agbd_a1
agbd_prediction/agbd_pi_lower_a1
agbd_prediction/agbd_pi_upper_a1
agbd_prediction/agbd_se_a1
agbd_prediction/agbd_t_a1
agbd_prediction/agbd_t_se_a1
agbd_prediction/l2_algrunflag_a1
agbd_prediction/predictor_limit_flag_a1
agbd_prediction/response_limit_flag_a1
agbd_prediction/selected_mode_flag_a1
agbd_prediction/xvar_a1
agbd_prediction/agbd_a2
agbd_prediction/agbd_pi_lower_a2
agbd_prediction/agbd_pi_upper_a2
agbd_prediction/agbd_se_a2
agbd_prediction/agbd_t_a2
agbd_prediction/agbd_t_se_a2
agbd_prediction/l2_algrunflag_a2
agbd_prediction/predictor_limit_flag_a2
agbd_prediction/response_limit_flag_a2
agbd_prediction/selected_mode_flag_a2
agbd_prediction/xvar_a2
agbd_prediction/agbd_a5
agbd_prediction/agbd_pi_lower_a5
agbd_prediction/agbd_pi_upper_a5
agbd_prediction/agbd_se_a5
agbd_prediction/agbd_t_a5
agbd_prediction/agbd_t_se_a5
agbd_prediction/l2_algrunflag_a5
agbd_prediction/predictor_limit_flag_a5
agbd_prediction/response_limit_flag_a5
agbd_prediction/selected_mode_flag_a5
agbd_prediction/xvar_a5
agbd_prediction/agbd_a10
agbd_prediction/agbd_pi_lower_a10
agbd_prediction/agbd_pi_upper_a10
agbd_prediction/agbd_se_a10
agbd_prediction/agbd_t_a10
agbd_prediction/agbd_t_se_a10
agbd_prediction/l2_algrunflag_a10
agbd_prediction/predictor_limit_flag_a10
agbd_prediction/response_limit_flag_a10
agbd_prediction/selected_mode_flag_a10
agbd_prediction/xvar_a10
v3 renames algorithm_run_flag → l2_algrunflag, adds prediction intervals (agbd_pi_lower/upper),
and expands land cover with phenology and PFT infilled class.
L4C — Footprint-Level Structural Complexity#
minimal#
shot_number
wsci
wsci_xy
wsci_z
wsci_pi_lower
wsci_pi_upper
wsci_quality_flag
land_cover_data/worldcover_class
shot_number
wsci
wsci_xy
wsci_z
wsci_pi_lower
wsci_pi_upper
l4c_quality_flag_rel3
land_cover_data/worldcover_class
elev_highestreturn_outlier_flag
default#
# Core (18)
shot_number
wsci
wsci_xy
wsci_z
wsci_pi_lower
wsci_pi_upper
wsci_xy_pi_lower
wsci_xy_pi_upper
wsci_z_pi_lower
wsci_z_pi_upper
wsci_quality_flag
l2_quality_flag
algorithm_run_flag
sensitivity
surface_flag
selected_algorithm
solar_elevation
fhd_normal
# Land cover (7)
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/leaf_off_flag
land_cover_data/pft_class
land_cover_data/region_class
land_cover_data/urban_proportion
land_cover_data/worldcover_class
# wsci_prediction — algorithms a1, a2, a5, a10 (11 each)
wsci_prediction/algorithm_run_flag_a1
wsci_prediction/wsci_quality_flag_a1
wsci_prediction/wsci_a1
wsci_prediction/wsci_pi_lower_a1
wsci_prediction/wsci_pi_upper_a1
wsci_prediction/wsci_xy_a1
wsci_prediction/wsci_xy_pi_lower_a1
wsci_prediction/wsci_xy_pi_upper_a1
wsci_prediction/wsci_z_a1
wsci_prediction/wsci_z_pi_lower_a1
wsci_prediction/wsci_z_pi_upper_a1
wsci_prediction/algorithm_run_flag_a2
wsci_prediction/wsci_quality_flag_a2
wsci_prediction/wsci_a2
wsci_prediction/wsci_pi_lower_a2
wsci_prediction/wsci_pi_upper_a2
wsci_prediction/wsci_xy_a2
wsci_prediction/wsci_xy_pi_lower_a2
wsci_prediction/wsci_xy_pi_upper_a2
wsci_prediction/wsci_z_a2
wsci_prediction/wsci_z_pi_lower_a2
wsci_prediction/wsci_z_pi_upper_a2
wsci_prediction/algorithm_run_flag_a5
wsci_prediction/wsci_quality_flag_a5
wsci_prediction/wsci_a5
wsci_prediction/wsci_pi_lower_a5
wsci_prediction/wsci_pi_upper_a5
wsci_prediction/wsci_xy_a5
wsci_prediction/wsci_xy_pi_lower_a5
wsci_prediction/wsci_xy_pi_upper_a5
wsci_prediction/wsci_z_a5
wsci_prediction/wsci_z_pi_lower_a5
wsci_prediction/wsci_z_pi_upper_a5
wsci_prediction/algorithm_run_flag_a10
wsci_prediction/wsci_quality_flag_a10
wsci_prediction/wsci_a10
wsci_prediction/wsci_pi_lower_a10
wsci_prediction/wsci_pi_upper_a10
wsci_prediction/wsci_xy_a10
wsci_prediction/wsci_xy_pi_lower_a10
wsci_prediction/wsci_xy_pi_upper_a10
wsci_prediction/wsci_z_a10
wsci_prediction/wsci_z_pi_lower_a10
wsci_prediction/wsci_z_pi_upper_a10
# Core (20) — dual quality flags; new v3-specific flags
shot_number
wsci
wsci_xy
wsci_z
wsci_pi_lower
wsci_pi_upper
wsci_xy_pi_lower
wsci_xy_pi_upper
wsci_z_pi_lower
wsci_z_pi_upper
l4c_quality_flag_rel2
l4c_quality_flag_rel3
l2_algrunflag
algorithm_run_flag
elev_highestreturn_outlier_flag
degrade_include_flag
surface_flag
selected_algorithm
solar_elevation
fhd_normal
# Land cover (9) — adds phenology_phase, phenology_year
land_cover_data/landsat_treecover
land_cover_data/landsat_water_persistence
land_cover_data/leaf_off_flag
land_cover_data/phenology_phase
land_cover_data/phenology_year
land_cover_data/pft_class
land_cover_data/region_class
land_cover_data/urban_proportion
land_cover_data/worldcover_class
# wsci_prediction — algorithms a1, a2, a5, a10 (11 each) — wsci_quality_flag_aX → l4c_quality_flag_rel3_aX
wsci_prediction/algorithm_run_flag_a1
wsci_prediction/l4c_quality_flag_rel3_a1
wsci_prediction/wsci_a1
wsci_prediction/wsci_pi_lower_a1
wsci_prediction/wsci_pi_upper_a1
wsci_prediction/wsci_xy_a1
wsci_prediction/wsci_xy_pi_lower_a1
wsci_prediction/wsci_xy_pi_upper_a1
wsci_prediction/wsci_z_a1
wsci_prediction/wsci_z_pi_lower_a1
wsci_prediction/wsci_z_pi_upper_a1
wsci_prediction/algorithm_run_flag_a2
wsci_prediction/l4c_quality_flag_rel3_a2
wsci_prediction/wsci_a2
wsci_prediction/wsci_pi_lower_a2
wsci_prediction/wsci_pi_upper_a2
wsci_prediction/wsci_xy_a2
wsci_prediction/wsci_xy_pi_lower_a2
wsci_prediction/wsci_xy_pi_upper_a2
wsci_prediction/wsci_z_a2
wsci_prediction/wsci_z_pi_lower_a2
wsci_prediction/wsci_z_pi_upper_a2
wsci_prediction/algorithm_run_flag_a5
wsci_prediction/l4c_quality_flag_rel3_a5
wsci_prediction/wsci_a5
wsci_prediction/wsci_pi_lower_a5
wsci_prediction/wsci_pi_upper_a5
wsci_prediction/wsci_xy_a5
wsci_prediction/wsci_xy_pi_lower_a5
wsci_prediction/wsci_xy_pi_upper_a5
wsci_prediction/wsci_z_a5
wsci_prediction/wsci_z_pi_lower_a5
wsci_prediction/wsci_z_pi_upper_a5
wsci_prediction/algorithm_run_flag_a10
wsci_prediction/l4c_quality_flag_rel3_a10
wsci_prediction/wsci_a10
wsci_prediction/wsci_pi_lower_a10
wsci_prediction/wsci_pi_upper_a10
wsci_prediction/wsci_xy_a10
wsci_prediction/wsci_xy_pi_lower_a10
wsci_prediction/wsci_xy_pi_upper_a10
wsci_prediction/wsci_z_a10
wsci_prediction/wsci_z_pi_lower_a10
wsci_prediction/wsci_z_pi_upper_a10
v3 adds dual quality flags, drops sensitivity (from L2A v3 essentials), expands land cover with phenology,
and renames wsci_quality_flag_aX → l4c_quality_flag_rel3_aX in wsci_prediction.
Quality Filtering#
The --quality / -y flag applies recommended quality conditions for each product
present in your query, all combined with AND. L2A conditions are always applied
since L2A data is present in every database (L2A alone when no product is detected).
The one exception is degrade_flag == 0 for a v3 query on L4A or L4C without an L2
product (see below).
Product |
Version |
Conditions Applied |
|---|---|---|
L1B |
v2 |
|
L1B |
v3 |
|
L2A (always) |
v2 |
|
L2A (always) |
v3 |
|
L2B |
v2 |
|
L2B |
v3 |
|
L4A |
v2 |
|
L4A |
v3 |
|
L4C |
v2 |
|
L4C |
v3 |
|
L4C v2’s wsci_quality_flag already encapsulates degrade, sensitivity, and surface
checks internally.
L4A and L4C v3 carry two flags meant to be applied together: degrade_include_flag
(1 = pointing and positioning quality acceptable for inclusion) and
elev_highestreturn_outlier_flag (1 = the shot lies on an orbit section whose canopy
elevation metrics are large outliers). degrade_include_flag is the products’ own
pointing and positioning filter, and it admits some shots that degrade_flag == 0
rejects. So when a v3 query selects L4A and/or L4C but neither L2A nor L2B (L1B does
not count), the always-applied L2A conditions leave out degrade_flag == 0 and keep
l2a_quality_flag_rel3 == 1. Selecting L2A or L2B as well keeps the full L2A
conditions alongside the L4 ones, degrade_flag == 0 included. Products are selected
with their product flags or, without them, from the suffixes of the columns the command
reads (-l names, a -l file or wildcard, gh3_aggregate’s dict-form -a keys):
Query (v3) |
Degrade conditions |
|---|---|
|
|
|
|
no product detected, L2A only, L2B only |
|
Every flag in this table is appended to the
product’s variable list at build time, whatever list you give (minimal, default,
a file or explicit names), so a database always stores the columns --quality reads.
Note
A v3 database built with an earlier gedih3 may lack degrade_include_flag. --quality
then applies the remaining conditions and logs a warning, and it keeps degrade_flag == 0
unless a selected L4 product does have the column. Updates and --replace-granules keep
writing new rows without it, so every file keeps one column set. Add it to the whole
database with a variable update, naming only the L4 products your database holds:
-l4a degrade_include_flag and/or -l4c degrade_include_flag, e.g.
gh3_build -i <soc> -o <database> -l4a degrade_include_flag. The warning gedih3 logs
names the command for your database.
Source Files#
The default preset for each product/version is loaded directly from a plain-text file shipped with the package. You can inspect or copy these as a starting point for custom variable lists:
Product |
Version |
Source file |
|---|---|---|
L1B |
v2 |
|
L1B |
v3 |
|
L2A |
v2 |
|
L2A |
v3 |
|
L2B |
v2 |
|
L2B |
v3 |
|
L4A |
v2 |
|
L4A |
v3 |
|
L4C |
v2 |
|
L4C |
v3 |
|
The minimal preset is hardcoded in src/gedih3/config.py under _GEDI_MIN_VARS.