gedih3.doctor.diagnoses.superseded_granules#
superseded_granules diagnosis — indexed granules whose source was re-released.
- Detects (read-only, no fix):
newer_release: the SOC tree holds a later release of a granule product (PPDS, PGE, generation or suffix,gedi_release_rank) than the one its rows were read from. NASA re-releases granules within one GEDI version to fix faulty data;gh3_build --replace-granulesre-indexes them (#47).older_release: only an older release than the one read is listed. It is never applied, but variables added and products filled later read the listed file.mixed_releases: a granule’s rows name more than one release of a product (a replacement left half done), as read from its rows and kept in the build log (mixed_releases) until it is re-indexed.
Compares the build log’s recorded releases (gh3_build >= 0.20.10) with
the file a listing picks now, by granule key (orbit, granule, track) within
the database’s GEDI version, leaving out the files the build excludes (the
log’s exclude, gh3_build –exclude). For granules indexed before releases
were recorded, the releases are read from the rows’ root_file_<prod>
columns first (releases_from_rows, #67), in memory only: gh3_build
records them on its next run. A granule with neither is counted, not reported.
Performance: one parallel SOC walk (soc_file_tree) and a log-only
comparison; on a database built before 0.20.10, also one worker task per
(cell, year) file reading only its source columns. No HDF5 is opened.
Functions#
|
Module Contents#
- gedih3.doctor.diagnoses.superseded_granules.superseded_granules_check(ctx: gedih3.doctor.report.DoctorContext) gedih3.doctor.report.Report[source]#