GDAS Conventional Observation DataFrameSource#795
GDAS Conventional Observation DataFrameSource#795NickGeneva wants to merge 2 commits intoNVIDIA:mainfrom
Conversation
Greptile SummaryThis PR adds
|
| Filename | Overview |
|---|---|
| earth2studio/data/gdas.py | New NomadsGDASObsConv DataFrameSource; all previously-flagged P1 bugs (quality-marker mis-assignment, zero-length BUFR infinite loop, Table D parsing) are confirmed resolved; decode pipeline and parallel worker init are correct |
| earth2studio/lexicon/gdas.py | New GDASObsConvLexicon with correct unit conversions: TOB→K, QOB→kg/kg, POB→Pa, UOB/VOB identity (already in m s⁻¹) |
| earth2studio/lexicon/base.py | Added nullable uint16 'quality' field to E2STUDIO_SCHEMA; correct type and range for 4-bit PrepBUFR QC markers |
| test/data/test_gdas.py | Comprehensive offline suite (schema, exceptions, URL builder, lexicon modifiers, cache, mock end-to-end); network tests correctly marked xfail |
| earth2studio/data/init.py | Registered NomadsGDASObsConv export |
| earth2studio/lexicon/init.py | Registered GDASObsConvLexicon export |
Reviews (2): Last reviewed commit: "Greptile fixes" | Re-trigger Greptile









Summary
Add
NomadsGDASObsConvDataFrameSource that fetches conventional (in-situ) observations from NOAA's NOMADS GDAS PrepBUFR files in real time (within past 6 hours).This is public domain data. https://www.weather.gov/disclaimer
pybufrkitwith parallel process-pool decodingChanges
New files
earth2studio/data/gdas.pyNomadsGDASObsConvDataFrameSource (~1580 lines)earth2studio/lexicon/gdas.pyGDASObsConvLexiconwith PrepBUFR mnemonic mappings and unit conversions (TOB→K, QOB→kg/kg, POB→Pa)test/data/test_gdas.pyModified files
earth2studio/lexicon/base.pyquality(uint16) field toE2STUDIO_SCHEMAfor QC markersearth2studio/lexicon/__init__.pyGDASObsConvLexiconexportearth2studio/data/__init__.pyNomadsGDASObsConvexportdocs/modules/datasources_dataframe.rstdata.NomadsGDASObsConvto autosummaryCHANGELOG.mdUsage