Skip to content

mostlyright.core.schemas.forecast_nwp

NWP forecast schema (schema.forecast.nwp.v1).

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).

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.

NWP_MODEL_VALUESModels that ship in v0.1.0 plus the catalog expansion.
NWP_MIRROR_VALUESMirrors that may appear in the mirror column.
NWP_QC_STATUS_VALUESQC status values populated by the inline physics-bounds check in mostlyright.weather.forecast_nwp.
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. The MSC lift 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 plus the catalog expansion. Reserving the enum day-one (and adding entries additively) keeps schema_id stable while the catalog grows.

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).