Dies ist eine experimentelle, außerhalb der Stichprobe geprüfte Mais-Wärmezeitprognose für 2024 und keine agronomische Beratung. Das Dashboard fragt, wann landesweite Stadien 50 % überschreiten würden, wenn die Entwicklung der Wärmesumme einer CFS-Zelle folgt.
Das Dashboard nutzt CFS FLXF von NOAA mit sechsstündlichen Ausgaben für bis zu etwa 215 Tage sowie ein Modell modifizierter Growing Degree Days (GDD), das anhand der USDA-Berichte zum Pflanzenfortschritt kalibriert und geprüft wurde. So entsteht eine saisonlange Wärmezeitprognose mit nachvollziehbaren Annahmen und Schwellenwerten.
Der Fall ist auf den 1. Juli 2024, 00 UTC, eingefroren. Vor diesem Zeitpunkt wird CFS-Historie mit exakt sechs Stunden Vorlauf verwendet, danach genau ein archivierter Lauf. Die Historie bleibt Modellführung, keine Beobachtung; spätere Läufe werden nicht beigemischt.
Wegen der groben CFS-Auflösung verwendet jede Reihe eine native Koordinate des Gauß-Gitters, keine Stadt und keinen Landesmittelwert:
| Bundesstaat | Breitengrad | Längengrad |
|---|---|---|
| Iowa | 42.047066 | -93.750371 |
| Nebraska | 41.102190 | -99.375363 |
| Kansas | 38.267561 | -100.312862 |
| Indiana | 40.157314 | -86.250381 |
| Missouri | 39.212437 | -92.812872 |
| Ohio | 40.157314 | -82.500386 |
| North Dakota | 46.771444 | -98.437864 |
Für jedes Intervall werden TMAX und TMIN in Fahrenheit umgerechnet, auf 50–86 °F begrenzt, gemittelt, um die Basis 50 °F vermindert und mit einem Vierteltag multipliziert:
Tmax_F = (TMAX_K - 273.15) × 9 / 5 + 32
Tmin_F = (TMIN_K - 273.15) × 9 / 5 + 32
GDD50_6h = (
(clamp(Tmax_F, 50, 86) + clamp(Tmin_F, 50, 86)) / 2 - 50
) × 6 / 24
Basis und Obergrenze folgen der modifizierten Mais-GDD-Methode der Iowa State University Extension. Die Anwendung je Intervall entspricht nicht exakt täglichen Extremwerten; deshalb wurden die Schwellen direkt in derselben Sechs-Stunden-Metrik kalibriert.
Die Ziele stammen aus USDA NASS Crop Progress and Condition. Wir interpolieren linear den Zeitpunkt, an dem der wöchentliche Landesanteil 50 % überschreitet. 50 % Aussaat startet die Summe; Auflaufen, Narbenschieben, Teigreife, Zahnreife und Reife sind die Ziele.
Für Land, Jahr und Stadium ist der implizite Schwellenwert die zwischen beiden Daten angesammelte GDD-Summe. Damit 2024 nicht auf sich selbst kalibriert wird, sind die Dashboard-Konstanten die Mediane aus 2020–2023. Das ist eine kleine historische Kalibrierung, kein Machine-Learning-Training:
| Bundesstaat | Auflaufen | Narbenschieben | Teigreife | Zahnreife | Reife |
|---|---|---|---|---|---|
| Iowa | 113.475 | 1332.409 | 1739.139 | 2163.247 | 2563.627 |
| Nebraska | 142.086 | 1388.037 | 1898.494 | 2357.720 | 2892.070 |
| Kansas | 166.002 | 1557.522 | 2111.445 | 2664.386 | 3290.921 |
| Indiana | 115.466 | 1275.090 | 1766.812 | 2228.159 | 2632.039 |
| Missouri | 72.729 | 1389.516 | 1874.276 | 2365.314 | 2910.735 |
| Ohio | 127.756 | 1277.139 | 1677.836 | 2173.649 | 2538.914 |
| North Dakota | 177.123 | 1116.568 | 1623.371 | 1963.759 | 2248.754 |
Die Unterschiede zwischen den Ländern sind beabsichtigt: Ein nationaler Reifeschwellenwert funktionierte schlecht. Die Konstanten nehmen Sortenmix, relative Reife, Aussaatmuster und den Unterschied zwischen Zelle und Land auf.
Wir wiederholten die Anpassung mit Leave-one-year-out-Validierung für 2020–2024. Für denselben Historie-Prognose-Schnitt am 1. Juli ergaben sich:
| Stadium | Prognostiziert / geeignet | Abdeckung | Bias | Mittlerer absoluter Fehler | Median absoluter Fehler |
|---|---|---|---|---|---|
| Narbenschieben | 35 / 35 | 100% | -0.9 Tage | 2.5 Tage | 1.7 Tage |
| Teigreife | 35 / 35 | 100% | -0.9 Tage | 3.3 Tage | 1.9 Tage |
| Zahnreife | 34 / 35 | 97% | +0.8 Tage | 4.7 Tage | 3.6 Tage |
| Reife | 32 / 35 | 91% | +2.9 Tage | 6.5 Tage | 4.2 Tage |
Abdeckung ist der Anteil berechtigter Saisons, die das Stadium vor Prognoseende erreichten. Bias ist Prognosedatum minus USDA-Datum. Die Werte machen eine Reifeschätzung mit etwa einer Woche Unsicherheit im Juli als Demo plausibel; sie garantieren weder ein Feld noch die nächste Prognose.
Das Dashboard bündelt sieben Koordinaten; diese zwei minimalen Iowa-Anfragen zeigen die vollständige Berechnung. Grafana verbindet die Beiträge, zieht GDD vor der Aussaat ab und berechnet die kumulative Summe.
curl -X POST 'https://gribstream.com/api/v2/cfsflxf/timeseries' \
-H "Content-Type: application/json" \
-H "Accept: text/csv" \
-H "Authorization: Bearer [API_TOKEN]" \
-d '{
"fromTime": "2024-04-15T06:00:00Z",
"untilTime": "2024-07-01T06:00:00Z",
"asOf": "2024-11-02T00:00:00Z",
"minLeadTime": "6h",
"maxLeadTime": "6h",
"coordinates": [
{"name": "Iowa", "lat": 42.047066, "lon": -93.750371}
],
"variables": [
{"name": "TMAX", "level": "2 m above ground", "info": "", "alias": "temperature_max_k", "hidden": true},
{"name": "TMIN", "level": "2 m above ground", "info": "", "alias": "temperature_min_k", "hidden": true}
],
"expressions": [
{"expression": "(temperature_max_k - 273.15) * 9 / 5 + 32", "alias": "temperature_max_f"},
{"expression": "(temperature_min_k - 273.15) * 9 / 5 + 32", "alias": "temperature_min_f"},
{"expression": "((func.Min(86.0, func.Max(50.0, temperature_max_f)) + func.Min(86.0, func.Max(50.0, temperature_min_f))) / 2 - 50.0) * 0.25", "alias": "gdd50_f_degree_days_6h"}
]
}'
curl -X POST 'https://gribstream.com/api/v2/cfsflxf/runs' \
-H "Content-Type: application/json" \
-H "Accept: text/csv" \
-H "Authorization: Bearer [API_TOKEN]" \
-d '{
"forecastedFrom": "2024-07-01T00:00:00Z",
"forecastedUntil": "2024-07-01T00:00:00Z",
"minLeadTime": "6h",
"maxLeadTime": "2952h",
"coordinates": [
{"name": "Iowa", "lat": 42.047066, "lon": -93.750371}
],
"variables": [
{"name": "TMAX", "level": "2 m above ground", "info": "", "alias": "temperature_max_k", "hidden": true},
{"name": "TMIN", "level": "2 m above ground", "info": "", "alias": "temperature_min_k", "hidden": true}
],
"expressions": [
{"expression": "(temperature_max_k - 273.15) * 9 / 5 + 32", "alias": "temperature_max_f"},
{"expression": "(temperature_min_k - 273.15) * 9 / 5 + 32", "alias": "temperature_min_f"},
{"expression": "((func.Min(86.0, func.Max(50.0, temperature_max_f)) + func.Min(86.0, func.Max(50.0, temperature_min_f))) / 2 - 50.0) * 0.25", "alias": "gdd50_f_degree_days_6h"}
]
}'
Beispielzeilen am Übergang von Historie zu Prognose:
forecasted_at,forecasted_time,lat,lon,name,member,gdd50_f_degree_days_6h,temperature_max_f,temperature_min_f
2024-06-30T18:00:00Z,2024-07-01T00:00:00Z,42.0471,-93.7504,Iowa,0,4.7475,70.2500,67.7300
2024-07-01T00:00:00Z,2024-07-01T06:00:00Z,42.0471,-93.7504,Iowa,0,3.3300,69.5300,57.1100
Primärquellen: NOAA-CFSv2-Dokumentation · CFS-FLXF-Modell und Inventar · USDA-NASS-Methodik · offizielles Crop-Progress-Archiv · Iowa-State-GDD-Methode.