Arko007 / weathergpt-models

huggingface.co
Total runs: 0
24-hour runs: 0
7-day runs: 0
30-day runs: 0
Model's Last Updated: September 10 2026

Introduction of weathergpt-models

Model Details of weathergpt-models

WeatherGPT model bundle

Five models for the WeatherGPT meteorological interoperability layer. Every number below was produced by a training script and copied from a metrics.json ; none was typed by hand.

Install
pip install weathergpt-models  # or: pip install -e . from the repo's
                                # weathergpt_models/ directory if the
                                # package isn't on PyPI yet

The package depends only on numpy , torch , transformers , lightgbm and scikit-learn — it does not import FastAPI or anything from the serving app, so it can be used standalone.

Quickstart
from weathergpt_models import ModelRegistry

registry = ModelRegistry.from_hub("Arko007/weathergpt-models")
print(registry.status())  # what loaded, and why anything didn't

Every model attribute is None if its admission gate failed — always check for None before calling it and fall back to a deterministic path. This bundle's gate results: field_mapper PASS, mos PASS, intent PASS, calibration PASS, trust_ranker PASS.

Usage — one real call per model

These are the actual method signatures, not illustrative pseudocode — copied from modal_jobs/verify_package.py and modal_jobs/realworld_check.py , which exercise every one of them against live data before each release.

# M1 -- map a raw provider field name to a canonical variable
mapping = registry.field_mapper.map_field(
    "APCP", unit="kg m-2", description="Total precipitation")
if mapping.is_usable:
    print(mapping.canonical_variable, mapping.confidence)
else:
    print("abstained -- do not fabricate a mapping")


# M2 -- bias-correct a multi-model forecast
corrected = registry.mos.correct(
    "temperature_2m",
    forecasts={"gfs_seamless": 31.2, "ecmwf_ifs025": 30.4,
              "icon_seamless": 30.9, "gem_seamless": 31.8},
    context={"lead_hours": 30, "lead_age_days": 1, "hour_utc": 6,
            "doy": 245, "elevation_m": 303.0, "lat": 21.15, "lon": 79.09})
print(corrected.value, corrected.interval_low, corrected.interval_high)


# M3 -- parse intent + LOC/TIME/CROP slots from a natural-language query
parsed = registry.intent.parse("kal Bhandara me baarish hogi kya?")
print(parsed.intent, parsed.intent_confidence)
print(parsed.slot_text("LOC"), parsed.slot_text("TIME"))
# do NOT use parsed.variables -- that head is still weak
# (variable macro-F1 0.12 on held-out data); intent confidence also
# runs low (0.15-0.19) on real casual phrasing -- treat it as a weak
# signal alongside a rule-based parser, not a standalone decision.


# M4 -- calibrated exceedance probability from the same multi-model spread
curve = registry.calibration.probability_curve(
    "precipitation",
    forecasts={"gfs_seamless": 4.2, "ecmwf_ifs025": 1.1,
              "icon_seamless": 6.8, "gem_seamless": 0.0},
    context={"lead_hours": 30, "lead_age_days": 1, "hour_utc": 6,
            "doy": 245, "elevation_m": 303.0, "lat": 21.15, "lon": 79.09})
for point in curve:
    print(f"P(precip > {point.threshold}mm) = {point.probability:.3f}")


# M5 -- rank candidate NWP sources by learned trust for this context
ranked = registry.trust_ranker.rank(
    "temperature_2m",
    candidates={"gfs_seamless": 31.2, "ecmwf_ifs025": 30.4,
               "icon_seamless": 30.9, "gem_seamless": 31.8},
    context={"lead_hours": 30, "season": "autumn", "elevation_m": 303.0,
            "lat": 21.15, "lon": 79.09})
print([r.source for r in ranked])  # best source first

Full integration guidance for wiring this into a FastAPI service (which site in the codebase to touch, what NOT to change, live-tested caveats for each model) is in docs/MODEL_REGISTRY_INTEGRATION.md and docs/REAL_WORLD_READINESS.md in the source repo, not duplicated here since those get updated as real query traffic accumulates.

Each model is gated on beating the baseline it replaces. An artifact that cannot prove its provenance, or that does not beat its baseline, is refused at load time and the caller falls back to a deterministic path.

field_mapper — m1_field_mapper_v1

label-embedding bi-encoder + multitask heads

  • dataset: d3_authoritative_parameter_tables
  • dataset sha256: e5d3562cedf16d653f75d84adf51868d
  • split: by source table — train: CF+GRIB2+CAP; dev_zeroshot: BUFR+OpenMeteo+IMD (threshold calibration only); test_zeroshot: WRF+NCEP (never touched until the final measurement)
  • trained: 2026-09-03T16:33:08.084847Z
  • admission gate: PASS — zero-shot macro-F1 0.743 vs dict registry 0.142
metric model dict registry majority
zero-shot macro-F1 0.7432 0.1416 0.0217
zero-shot accuracy 0.8319 0.4907 0.4356
statistic accuracy 0.9792 — —
misassignment rate 0.0016 — —

The test set is parameter tables the model never trained on (WRF Registry, NCEP GFS inventories, the WMO BUFR element table, Open-Meteo and IMD product fields), so this measures generalisation to a schema nobody has mapped.

mos — m2_mos_v1

monotone quantile network (pinball) + LightGBM quantile forest, blended at a validation-chosen weight, with conformalised intervals

  • dataset: d1_multi_model_nwp_vs_era5_seamless
  • dataset sha256: a3888e44c7a6bd09b8282f214b68b1e6
  • split: chronological 70% cutoff AND 20% spatially held-out locations
  • trained: 2026-09-04T06:29:10.987471Z
  • admission gate: PASS — positive CRPS skill against the raw ensemble on the spatial holdout for every variable
variable CRPS raw ensemble CRPS CRPS skill
temperature_2m 0.6162 0.6469 0.047
precipitation 0.2190 0.2523 0.132
wind_speed_10m 1.6000 1.7570 0.089
intent — m3_intent_v1

JointBERT: intent + BIO slots + multi-label variables on a shared encoder

  • dataset: d4_multilingual_templated_queries_with_exact_slot_spans
  • dataset sha256: cb2ee6c4e1d8d9857975d3362957d90c
  • split: held-out template families {sow,heat,storm} AND 20% held-out districts
  • trained: 2026-09-04T08:43:34.868234Z
  • admission gate: PASS — intent macro-F1 0.746 vs rule parser 0.166, slot F1 0.988
metric model rule parser
intent macro-F1 0.7459 0.1664
intent accuracy 0.8361 0.5129
slot F1 (seqeval) 0.9878 not supported
variable micro-F1 0.1704 not supported

Held out: whole template families and whole districts, so neither a memorised sentence pattern nor a memorised place name can inflate this.

language n intent macro-F1 slot F1
as 91 0.7046 0.9819
bn 91 0.7486 0.9922
bn_latn 91 0.7774 0.9688
en 94 0.7477 0.9824
gu 91 0.7242 0.9948
hi 91 0.7475 0.9870
hi_latn 91 0.7508 0.9691
kn 91 0.7679 0.9948
ml 89 0.7538 1.0000
mr 91 0.7475 0.9948
or 91 0.7644 0.9923
pa 91 0.7475 0.9819
ta 91 0.7750 0.9948
te 91 0.7475 0.9948
calibration — m4_calibration_v1

hurdle CSGD (precipitation: P(wet) x censored shifted gamma) + Gaussian EMOS (temperature, wind), CRPS-fitted, with isotonic-refined exceedance probabilities

  • dataset: d1_multi_model_nwp_vs_era5_seamless
  • dataset sha256: a3888e44c7a6bd09b8282f214b68b1e6
  • split: chronological 70% cutoff AND 20% spatially held-out locations
  • trained: 2026-09-04T06:00:18.494934Z
  • admission gate: PASS — calibrated Brier beats raw ensemble frequency at every threshold
variable CRPS raw ensemble CRPS CRPS skill
precipitation 0.2491 0.2315 -0.076

Precipitation exceedance, Brier score (lower is better):

threshold base rate raw member count calibrated climatology
>0.1 mm 0.3161 0.16660 0.14883 0.21616
>1.0 mm 0.0932 0.08376 0.07243 0.08455
>5.0 mm 0.0083 0.00909 0.00807 0.00822
>10.0 mm 0.0012 0.00155 0.00124 0.00124
>25.0 mm 0.0001 0.00014 0.00010 0.00010
>50.0 mm 0.0000 0.00000 0.00000 0.00000

Transfer assumption. Trained on a 4-member multi-model ensemble; served against the 31-member GFS ensemble. Only summary statistics cross the boundary, so the interface is identical, but the spread mapping is assumed rather than measured: the ensemble API serves members only for ~the last 4 days while ERA5 truth lags ~6, so the two windows never overlap and the transfer could not be verified.

trust_ranker — m5_trust_ranker_v1

LightGBM LambdaMART over candidate NWP sources per (location, valid time, lead) group

  • dataset: d1_multi_model_nwp_vs_era5_seamless
  • dataset sha256: 99fd37b00135687f2c1085d0e32fb99c
  • split: chronological 70% cutoff AND 20% spatially held-out locations
  • trained: 2026-09-03T16:25:33.240955Z
  • admission gate: PASS — beats the fixed authority order on 3/3 variables
variable NDCG@1 picks the best source fixed authority does RMSE following ranker RMSE following fixed order
temperature_2m 0.6876 0.383 0.346 1.308 1.443
precipitation 0.8506 0.237 0.170 1.056 1.124
wind_speed_10m 0.6777 0.377 0.317 3.993 4.582
Provenance

Bundle built 2026-09-04T09:46:12.951091Z from the weathergpt-models Modal volume.

Training corpora were built from Open-Meteo (multi-model NWP archives and ERA5 reanalysis), the CF standard name table, the ECMWF eccodes GRIB2 definitions, NOAA NCEP GRIB2 code tables and GFS inventories, the WRF Registry, the WMO BUFR element table, and the live SACHET/NDMA CAP feed.

Runs of Arko007 weathergpt-models on huggingface.co

0
Total runs
0
24-hour runs
0
3-day runs
0
7-day runs
0
30-day runs

More Information About weathergpt-models huggingface.co Model

More weathergpt-models license Visit here:

https://choosealicense.com/licenses/apache-2.0

weathergpt-models huggingface.co

weathergpt-models huggingface.co is an AI model on huggingface.co that provides weathergpt-models's model effect (), which can be used instantly with this Arko007 weathergpt-models model. huggingface.co supports a free trial of the weathergpt-models model, and also provides paid use of the weathergpt-models. Support call weathergpt-models model through api, including Node.js, Python, http.

weathergpt-models huggingface.co Url

https://huggingface.co/Arko007/weathergpt-models

Arko007 weathergpt-models online free

weathergpt-models huggingface.co is an online trial and call api platform, which integrates weathergpt-models's modeling effects, including api services, and provides a free online trial of weathergpt-models, you can try weathergpt-models online for free by clicking the link below.

Arko007 weathergpt-models online free url in huggingface.co:

https://huggingface.co/Arko007/weathergpt-models

weathergpt-models install

weathergpt-models is an open source model from GitHub that offers a free installation service, and any user can find weathergpt-models on GitHub to install. At the same time, huggingface.co provides the effect of weathergpt-models install, users can directly use weathergpt-models installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

weathergpt-models install url in huggingface.co:

https://huggingface.co/Arko007/weathergpt-models

Url of weathergpt-models

weathergpt-models huggingface.co Url

Provider of weathergpt-models huggingface.co

Arko007
ORGANIZATIONS

Other API from Arko007

huggingface.co

Total runs: 33
Run Growth: 27
Growth Rate: 81.82%
Updated:October 04 2025
huggingface.co

Total runs: 0
Run Growth: 0
Growth Rate: 0.00%
Updated:March 30 2026
huggingface.co

Total runs: 0
Run Growth: 0
Growth Rate: 0.00%
Updated:October 08 2025