GribStream

HRRR-basierte Maiswachstumssimulation

Diese Simulation bietet eine praktische Möglichkeit, Mais-Entwicklungsstadien vorherzusagen und Wachstumsstress mit detaillierten stündlichen Wetterdaten zu bewerten. Sie nutzt präzise Wetterdaten aus dem NOAA HRRR-Modell, darunter Temperatur, Solarstrahlung, Windgeschwindigkeit, Feuchte und Bodenfeuchte, um Maiswachstum mit fortgeschrittenen agrometeorologischen Methoden realistisch zu schätzen.

Die Simulation verwendet Photothermal Units (PTU), eine Metrik, die stündliche Temperaturen oberhalb einer Basis, üblicherweise 10 °C für Mais, mit Solarstrahlung in MJ/m² pro Stunde kombiniert. Anders als klassische Growing Degree Days (GDD) integriert PTU sowohl thermische Bedingungen als auch Strahlungsbedingungen und bildet reales Pflanzenwachstum dadurch besser ab. Die rohe PTU-Berechnung wird zusätzlich durch Stressfaktoren verfeinert, um realistische Bedingungen während der Saison zu simulieren.

Mehrere zentrale Annahmen liegen diesem Modell zugrunde. Stündliche Werte für Temperatur und Strahlung werden verwendet und mit einem empirischen Skalierungsfaktor von 0.55 angepasst, um die Vorhersagen an typische Mais-Entwicklungsverläufe anzunähern, wie sie historisch in Iowa beobachtet wurden. Berechnungen für Bodenfeuchtestress basieren auf einem permanenten Welkepunkt (wilting point) von 0.15 und einer Feldkapazität (field capacity) von 0.30, typische Werte für landwirtschaftliche Böden im Midwest. Windgeschwindigkeiten in 10 m Höhe werden auf Bedingungen in 2 m Höhe angepasst, um die Evapotranspiration (ET₀) genauer zu berechnen.

ET₀ wird mit der Penman-Monteith-Gleichung berechnet und liefert stündliche Schätzungen des Wasserbedarfs des Maisbestands, entscheidend für die Vorhersage von Trockenstress. Ein konstanter Pflanzenkoeffizient (crop coefficient, Kc) von 1.05 repräsentiert den typischen Wasserbedarf von Mais während der Saison. Der ET₀-Stressschwellenwert liegt bei 0.35 mm/Stunde und markiert Perioden, in denen Wasserstress das Wachstum deutlich begrenzen könnte.

Kältestress wird bewertet, indem stündliche Temperaturen mit benutzerdefinierten Schwellenwerten verglichen werden. So werden Perioden sichtbar, in denen niedrige Temperaturen Gesundheit und Entwicklung des Maisbestands beeinträchtigen könnten. Strahlungsstress identifiziert analog Zeiten mit unzureichender Solarstrahlung, wichtig für das Verständnis von Wachstumsgrenzen bei bewölkten oder bedeckten Bedingungen.

Das Dashboard macht diese Ergebnisse in klaren Diagrammen interpretierbar. Temperaturdaten werden zusammen mit wichtigen Schwellenwerten dargestellt, sodass potenzielle Kältestress-Ereignisse sofort sichtbar sind. Bodenfeuchte wird mit Welkepunkt und Feldkapazität verglichen, um mögliche Trockenbedingungen schnell zu erkennen. Das ET₀-Diagramm hebt zusammen mit Feuchtedaten Perioden mit erhöhtem Wasserstress hervor.

Zusätzlich visualisiert das Dashboard kumulative PTU über die Saison, sodass potenzielles Wachstum direkt mit dem stressbereinigten Wachstum verglichen werden kann. Finale kumulierte stressbereinigte PTU-Werte entsprechen etablierten Maisstadien, vom Auflaufen und der Fahnenbildung bis zu Milchreife, Zahnmaisstadium und Reife, wodurch der erwartete Fortschritt unmittelbar verständlich wird.

Diese Simulation gibt Landwirten, Agronomen und Forschungsteams ein zuverlässiges und direktes Werkzeug zur Vorhersage der Maisentwicklung. Sie unterstützt Entscheidungen zu Aussaat, Bewässerung und Ernte, indem Stressbedingungen früh erkannt werden, und trägt so zu besseren Erträgen und informierterem landwirtschaftlichem Management bei.

Die Diagramme unten zeigen den gesamten Zyklus von der Aussaat am 1. Mai bis zur Reife in den ersten Septembertagen. Zoomen Sie hinein, um die Korrelationen zwischen Wettervariablen, Stressoren und Wachstum besser zu erkennen.

Beispiel-Anfrage in GribStream, die das Dashboard unten befüllt:

curl -X POST 'https://gribstream.com/api/v2/hrrr/timeseries' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer [API_TOKEN]" \
    -d '{
    "fromTime": "2024-05-01T00:00:00Z",
    "untilTime": "2024-05-05T00:00:00Z",
    "minHorizon": 0,
    "maxHorizon": 48,
    "coordinates": [
        {
            "name": "Iowa",
            "lat": 42.0347,
            "lon": -93.6200
        }
    ],
    "variables": [
        { "name": "TMP", "level": "2 m above ground", "info": "", "alias": "temperature" },
        { "name": "SOILW", "level": "0.3-0.3 m below ground", "info": "", "alias": "soil_moisture" },
        { "name": "WIND", "level": "10 m above ground", "info": "", "alias": "wind" },
        { "name": "RH", "level": "2 m above ground", "info": "", "alias": "humidity" },
        { "name": "DSWRF", "level": "surface", "info": "", "alias": "dsw_radiation" },
        { "name": "ULWRF", "level": "surface", "info": "", "alias": "ulw_radiation" },
        { "name": "GFLUX", "level": "surface", "info": "", "alias": "ground_heat_flux" }
    ],
    "expressions": [
        { "expression": "120", "alias": "emergence_threshold"},
        { "expression": "1300", "alias": "tasseling_threshold"},
        { "expression": "1500", "alias": "silking_threshold"},
        { "expression": "1800", "alias": "blister_threshold"},
        { "expression": "2100", "alias": "milk_threshold"},
        { "expression": "2400", "alias": "dough_threshold"},
        { "expression": "2700", "alias": "dent_threshold"},
        { "expression": "2900", "alias": "maturity_threshold"},
        { "expression": "wind * 0.748", "alias": "wind"},
        { "expression": "dsw_radiation * 0.0036", "alias": "dsw_radiation"},
        { "expression": "ulw_radiation * 0.0036", "alias": "ulw_radiation"},
        { "expression": "temperature - 273.15", "alias": "temperature"},
        { "expression": "humidity / 100", "alias": "humidity"},
        { "expression": "10", "alias": "base_temperature"},
        { "expression": "0", "alias": "cold_stress_threshold"},
        { "expression": "5", "alias": "cold_stress_recovery_temperature"},
        { "expression": "0.15", "alias": "wilting_point"},
        { "expression": "0.3", "alias": "field_capacity"},
        { "expression": "0.35", "alias": "max_et0_threshold"},
        { "expression": "0.25", "alias": "useful_radiation_cutoff"},
        { "expression": "ground_heat_flux * 0.0036", "alias": "ground_heat_flux"},
        { "expression": "0.066", "alias": "gamma"},
        { "expression": "dsw_radiation * 0.77 - ulw_radiation", "alias": "net_radiation"},
        { "expression": "0.6108 * 2.718281828 ^ (17.27 * temperature / (temperature + 237.3))", "alias": "es"},
        { "expression": "es * (1 - humidity)", "alias": "vpd"},
        { "expression": "(4098 * (0.6108 * 2.718281828 ^ (17.27 * temperature / (temperature + 237.3)))) / ((temperature + 237.3) ^ 2)", "alias": "delta"},
        { "expression": "(0.6108 * 2.718281828 ^ (17.27 * temperature / (temperature + 237.3))) * humidity", "alias": "ea"},
        { "expression": "max((0.408 * delta * (net_radiation - ground_heat_flux) + gamma * (37 * wind * vpd / (temperature + 273))) / (delta + gamma * (1 + 0.34 * wind)), 0)", "alias": "et0"},
        { "expression": "max(0, min(1, 1 - 1.05 * et0 / max_et0_threshold))", "alias": "et0_stress"},
        { "expression": "(max((temperature - base_temperature), 0) * dsw_radiation) * 0.55", "alias": "PTU" },
        { "expression": "dsw_radiation >= useful_radiation_cutoff ? 1 : dsw_radiation / useful_radiation_cutoff", "alias": "radiation_stress"},
        { "expression": "min(max(0, (temperature - cold_stress_threshold) / (cold_stress_recovery_temperature - cold_stress_threshold)), 1)", "alias": "cold_stress"},
        { "expression": "min(max(0, (soil_moisture - wilting_point)/(field_capacity - wilting_point)), 1)", "alias": "water_stress" },
        { "expression": "PTU * water_stress * cold_stress * radiation_stress * et0_stress", "alias": "PTU_adjusted" }
    ]
}'

Ergebnis:

forecasted_at,forecasted_time,lat,lon,name,PTU,PTU_adjusted,base_temperature,blister_threshold,cold_stress,cold_stress_recovery_temperature,cold_stress_threshold,delta,dent_threshold,dough_threshold,dsw_radiation,ea,emergence_threshold,es,et0,et0_stress,field_capacity,gamma,ground_heat_flux,humidity,maturity_threshold,max_et0_threshold,milk_threshold,net_radiation,radiation_stress,silking_threshold,soil_moisture,tasseling_threshold,temperature,ulw_radiation,useful_radiation_cutoff,vpd,water_stress,wilting_point,wind
2024-05-01T02:00:00Z,2024-05-01T02:00:00Z,42.0347,-93.6200,Iowa,0.0000,0.0000,10,1800,1,5,0,0.1177,2700,2400,0.0000,1.5558,120,1.8455,0,1,0.3000,0.0660,0.1440,0.8430,2900,0.3500,2100,-1.3260,0.0000,1500,0.2490,1300,16.2332,1.3260,0.2500,0.2898,0.6600,0.1500,1.9666
2024-05-01T03:00:00Z,2024-05-01T03:00:00Z,42.0347,-93.6200,Iowa,0.0000,0.0000,10,1800,1,5,0,0.1138,2700,2400,0.0000,1.5708,120,1.7769,0,1,0.3000,0.0660,0.0360,0.8840,2900,0.3500,2100,-1.3156,0.0000,1500,0.2490,1300,15.6400,1.3156,0.2500,0.2061,0.6600,0.1500,2.9006
2024-05-01T00:00:00Z,2024-05-01T00:00:00Z,42.0347,-93.6200,Iowa,0.0641,0.0026,10,1800,1,5,0,0.1265,2700,2400,0.0155,1.5834,120,2.0043,0,1,0.3000,0.0660,0.0720,0.7900,2900,0.3500,2100,-1.3388,0.0619,1500,0.2500,1300,17.5343,1.3508,0.2500,0.4209,0.6667,0.1500,1.6368
2024-05-01T04:00:00Z,2024-05-01T04:00:00Z,42.0347,-93.6200,Iowa,0.0000,0.0000,10,1800,1,5,0,0.1130,2700,2400,0.0000,1.6018,120,1.7622,0,1,0.3000,0.0660,0.2160,0.9090,2900,0.3500,2100,-1.3189,0.0000,1500,0.2490,1300,15.5103,1.3189,0.2500,0.1604,0.6600,0.1500,4.0706
2024-05-01T06:00:00Z,2024-05-01T06:00:00Z,42.0347,-93.6200,Iowa,0.0000,0.0000,10,1800,1,5,0,0.1031,2700,2400,0.0000,1.3385,120,1.5878,0,1,0.3000,0.0660,0.2880,0.8430,2900,0.3500,2100,-1.2832,0.0000,1500,0.2480,1300,13.8959,1.2832,0.2500,0.2493,0.6533,0.1500,4.6756
2024-05-01T07:00:00Z,2024-05-01T07:00:00Z,42.0347,-93.6200,Iowa,0.0000,0.0000,10,1800,1,5,0,0.0965,2700,2400,0.0000,1.1602,120,1.4724,0,1,0.3000,0.0660,0.3240,0.7880,2900,0.3500,2100,-1.2630,0.0000,1500,0.2480,1300,12.7389,1.2630,0.2500,0.3121,0.6533,0.1500,4.0216
2024-05-01T09:00:00Z,2024-05-01T09:00:00Z,42.0347,-93.6200,Iowa,0.0000,0.0000,10,1800,1,5,0,0.0839,2700,2400,0.0000,1.0344,120,1.2554,0,1,0.3000,0.0660,0.2520,0.8240,2900,0.3500,2100,-1.2218,0.0000,1500,0.2480,1300,10.3302,1.2218,0.2500,0.2210,0.6533,0.1500,2.1057
2024-05-01T05:00:00Z,2024-05-01T05:00:00Z,42.0347,-93.6200,Iowa,0.0000,0.0000,10,1800,1,5,0,0.1050,2700,2400,0.0000,1.4488,120,1.6205,0,1,0.3000,0.0660,0.2520,0.8940,2900,0.3500,2100,-1.2927,0.0000,1500,0.2490,1300,14.2103,1.2927,0.2500,0.1718,0.6600,0.1500,3.7411
...