libera_utils.footprint_matching.readers.flashflux#
CERES FLASHFlux footprint reader plugin.
Data source: CERES Fast Longwave And SHortwave Radiative Fluxes (FLASHFlux), the rapid-release TOA/surface fluxes and clouds that RBSP produces for NOAA-20, in the CERES Single Scanner Footprint (SSF) file layout (FLASH_SSF).
Format: NetCDF4, organized by CERES footprint (a 1-D
Footprintsdimension), grouped into thematic groups (Time_and_Position, Scene_Type, Auxillary_Properties, …). The groups, variables and dimensions this reader checks were taken from CER_SSF_NOAA20-FM6-VIIRS alpha4 granules, whose layout FLASHFlux shares.Geolocation: per-footprint, in
Time_and_Position/instrument_fov_latitudeandinstrument_fov_longitude(longitude stored 0..360 — normalized here).Native footprint scale: ~20 km at nadir.
This reader feeds the products its fields name in modes: FMATCH-IMAGER and
FMATCH-IMAGER-CAMTIME (see Variable set).
Native footprints, matched by time#
FLASHFlux is footprint (point) data, not a regular grid. Each CERES footprint is served
at its own position and observation time as a
PointSamples point, so the Libera
PSF weigher is the first place a value is weighted. A day of FLASHFlux sees a ground
location on more than one pass, so the reader serves the pass nearest the Libera
footprint time (TIME_MATCH = NEAREST_PASS): every footprint within
PASS_WINDOW of the observation time of the footprint nearest in time, and none
beyond MAX_TIME_OFFSET.
Granules are hourly; only those whose time_coverage_start/time_coverage_end
lie within MAX_TIME_OFFSET of the current footprint time are held in memory.
Variable set#
Two sets, read in this order:
The base FLASHFlux fields (
_FLASHFLUX_BASE_FIELDS): aerosol optical depth, clear coverage, the lower-layer cloud optical depth and water / ice particle radii, and the scene and ADM type codes. Carried by every product FLASHFlux feeds: FMATCH-IMAGER and FMATCH-IMAGER-CAMTIME.The FMATCH-IMAGER-only FLASHFlux fields (
_FLASHFLUX_IMAGER_ONLY_FIELDS): the extended cloud-layer, aerosol, surface-albedo and TOA-insolation fields, carried by FMATCH-IMAGER alone.
Surface-type variables in the Surface_Map group (surface_igbp_type,
surface_igbp_type_coverage, snow_ice_coverage) are intentionally NOT
extracted. The pipeline uses the dedicated IGBPReader and NISEReader as
authoritative sources for land-cover and ice/snow classification. FLASHFlux surface
type values are derived from IGBP and NISE anyway; extracting them here would
duplicate data that the dedicated readers already supply at higher resolution.
Note on encoded scene/ADM codes#
cloud_classification, shortwave_adm_type and longwave_adm_type are
encoded CERES identifiers spanning hundreds of values (not a small category
set). Each footprint’s raw code is served as read, and the codes are declared
weighted_mode, the PSF aggregation that keeps the most common code over a
Libera footprint. Downstream consumers will likely need to decode them; an exact
decode is deferred (TODO[LIBSDC-785]).
References
FLASHFlux: https://ceres.larc.nasa.gov/data/#fast-longwave-and-shortwave-flux-flashflux CERES SSF file layout: https://ceres.larc.nasa.gov/data/#ssf-level-2
Classes
|
Read CERES FLASHFlux footprints as time-stamped native points. |