Esta simulação oferece uma forma prática de prever estágios de desenvolvimento do milho e avaliar condições de estresse no crescimento usando dados meteorológicos horários detalhados. Ela usa dados de entrada precisos do modelo HRRR da NOAA, incluindo temperatura, radiação solar, velocidade do vento, umidade e umidade do solo, para estimar o crescimento do milho com métodos agrometeorológicos avançados.
A simulação usa Photothermal Units (PTU), uma métrica que combina temperaturas horárias acima de uma base, normalmente 10 °C para milho, com radiação solar em MJ/m² por hora. Diferente dos Growing Degree Days (GDD) tradicionais, PTU incorpora condições térmicas e de radiação, refletindo melhor o crescimento real da cultura. O cálculo bruto de PTU é refinado com fatores de estresse para simular condições realistas ao longo da safra.
Várias premissas importantes sustentam este modelo. São usados valores horários de temperatura e radiação, ajustados por um fator empírico de 0.55 para alinhar as previsões com calendários típicos de desenvolvimento do milho observados historicamente em Iowa. Os cálculos de estresse de umidade do solo usam um ponto de murcha (wilting point) de 0.15 e uma capacidade de campo (field capacity) de 0.30, valores típicos para solos agrícolas do Meio-Oeste dos EUA. Velocidades de vento medidas a 10 m são ajustadas para aproximar condições a 2 m, melhorando os cálculos de evapotranspiração (ET₀).
ET₀ é calculado com a equação Penman-Monteith, produzindo estimativas horárias da demanda de água da cultura, essenciais para prever estresse por seca. Um coeficiente de cultura (crop coefficient, Kc) constante de 1.05 representa a demanda típica de água do milho ao longo da safra. O limite de estresse de ET₀ é definido em 0.35 mm/hora, identificando períodos em que a falta de água poderia limitar significativamente o crescimento.
O estresse por frio é avaliado comparando temperaturas horárias com limites definidos pelo usuário, ajudando a destacar períodos em que temperaturas baixas podem prejudicar a saúde e o desenvolvimento da cultura. O estresse por radiação identifica de forma semelhante momentos de radiação solar insuficiente, algo crítico para entender limitações de crescimento em condições nubladas ou encobertas.
O painel permite interpretar esses resultados visualmente com gráficos claros. A temperatura aparece junto a limites importantes, deixando possíveis eventos de estresse por frio fáceis de identificar. A umidade do solo é comparada com ponto de murcha e capacidade de campo, indicando rapidamente possíveis condições de seca. O gráfico de ET₀, acompanhado de umidade, destaca períodos de estresse hídrico elevado.
Além disso, o painel visualiza PTU acumulado ao longo da safra, permitindo comparar diretamente crescimento potencial e crescimento real ajustado por estresse. Os valores finais de PTU ajustado correspondem a estágios estabelecidos do milho, da emergência e do pendoamento até grão leitoso, dentado e maturidade, dando uma leitura imediata do progresso esperado da cultura.
Esta simulação oferece a produtores rurais, agrônomos e pesquisadores uma ferramenta confiável e direta para prever o desenvolvimento do milho. Ela ajuda decisões de plantio, irrigação e colheita ao identificar cedo condições de estresse, contribuindo para melhor produtividade e uma gestão agrícola mais informada.
Os gráficos abaixo mostram o ciclo completo, do plantio em 1º de maio até a maturidade nos primeiros dias de setembro. Use o zoom para observar melhor as correlações entre variáveis meteorológicas, fatores de estresse e crescimento.
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" }
]
}'
Resultado:
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
...