mostlyright.core.schemas.forecast_nwp
mostlyright.core.schemas.forecast_nwp
Section titled “mostlyright.core.schemas.forecast_nwp”NWP forecast schema (schema.forecast_nwp.v1) — Phase 3.2.
Distinct from mostlyright.core.schemas.forecast (which describes
IEM MOS forecasts on a per-station-cycle basis). NWP forecasts come from
gridded numerical models (HRRR / GFS / NBM in v0.1.0; ECMWF Tier-2
predeclared in the enum for v0.2) and carry model-native units (Kelvin
for temperature, m/s for wind, mm for precip, Pa for pressure) per
Phase 3.2 lock #4 in 03.2-RESEARCH.md.
mirror records which NOAA Big Data Program mirror served the bytes
that produced this row — quants auditing “why does this forecast
disagree?” can trace bytes back to the mirror they came from.
Module Attributes
Section titled “Module Attributes”NWP_MODEL_VALUES | Models that ship in v0.1.0 + Phase 17 catalog expansion. |
|---|---|
NWP_MIRROR_VALUES | Mirrors that may appear in the mirror column. |
NWP_QC_STATUS_VALUES | QC status values populated by the inline physics-bounds check in mostlyright.weather.forecast_nwp. |
Classes
Section titled “Classes”NwpForecastSchema() | schema.forecast_nwp.v1 — gridded NWP forecast rows. |
|---|
mostlyright.core.schemas.forecast_nwp.NWP_MIRROR_VALUES : tuple[str, …] = (‘aws_bdp’, ‘gcp_bdp’, ‘azure_bdp’, ‘nomads’, ‘ecmwf_data_portal’, ‘ecmwf_aws’, ‘ecmwf_azure’, ‘ecmwf_gcp’, ‘msc’)
Section titled “mostlyright.core.schemas.forecast_nwp.NWP_MIRROR_VALUES : tuple[str, …] = (‘aws_bdp’, ‘gcp_bdp’, ‘azure_bdp’, ‘nomads’, ‘ecmwf_data_portal’, ‘ecmwf_aws’, ‘ecmwf_azure’, ‘ecmwf_gcp’, ‘msc’)”Mirrors that may appear in the mirror column. Reserves the four
ECMWF mirrors so a v0.2 ECMWF lift can add rows without bumping
schema_id. Phase 17 PLAN-05 adds "msc" for Canadian Datamart.
mostlyright.core.schemas.forecast_nwp.NWP_MODEL_VALUES : tuple[str, …] = (‘hrrr’, ‘gfs’, ‘nbm’, ‘ecmwf_ifs_hres’, ‘ecmwf_ifs_ens’, ‘ecmwf_aifs_single’, ‘ecmwf_aifs_ens’, ‘hrrrak’, ‘gefs’, ‘gdas’, ‘rap’, ‘rrfs’, ‘rtma’, ‘urma’, ‘cfs’, ‘hrdps’, ‘rdps’, ‘gdps’, ‘geps’, ‘reps’, ‘hafs’, ‘nam’, ‘href’, ‘hiresw’)
Section titled “mostlyright.core.schemas.forecast_nwp.NWP_MODEL_VALUES : tuple[str, …] = (‘hrrr’, ‘gfs’, ‘nbm’, ‘ecmwf_ifs_hres’, ‘ecmwf_ifs_ens’, ‘ecmwf_aifs_single’, ‘ecmwf_aifs_ens’, ‘hrrrak’, ‘gefs’, ‘gdas’, ‘rap’, ‘rrfs’, ‘rtma’, ‘urma’, ‘cfs’, ‘hrdps’, ‘rdps’, ‘gdps’, ‘geps’, ‘reps’, ‘hafs’, ‘nam’, ‘href’, ‘hiresw’)”Models that ship in v0.1.0 + Phase 17 catalog expansion. Reserving
the enum day-one (and adding Phase 17 entries additively) keeps
schema_id stable while the catalog grows. Length 24 after Phase 17.
mostlyright.core.schemas.forecast_nwp.NWP_QC_STATUS_VALUES : tuple[str, …] = (‘clean’, ‘flagged’, ‘suspect’)
Section titled “mostlyright.core.schemas.forecast_nwp.NWP_QC_STATUS_VALUES : tuple[str, …] = (‘clean’, ‘flagged’, ‘suspect’)”QC status values populated by the inline physics-bounds check in
mostlyright.weather.forecast_nwp. "clean" passed all rules;
"flagged" tripped one or more; "suspect" tripped a hard
physics violation (e.g. negative absolute temperature) that warrants
dropping for most use cases.
class mostlyright.core.schemas.forecast_nwp.NwpForecastSchema
Section titled “class mostlyright.core.schemas.forecast_nwp.NwpForecastSchema”Bases: Schema
schema.forecast_nwp.v1 — gridded NWP forecast rows.
One row per (station, model, cycle, fxx, variable_column) — the
variable column itself is encoded as separate float columns rather
than long-form rows so quants can do model arithmetic without a
pivot.
The mirror column lets a downstream auditor link a row back to
the bytes that produced it (NOAA BDP mirror chain).