Calculadora de graus-dia efetivos
Conte só o calor que as culturas aproveitam: com base 10 e teto 30, três dias de 28/12, 32/18 e 22/8 somam 30 graus-dia efetivos. Antes, máximas acima do teto são cortadas e mínimas abaixo da base, elevadas. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Temperatura base
- 10
- Temperatura limite superior
- 30
- Dias por ano
- 3
- GDD total
- 30
- GDD médio
- 10
- GDD mínimo
- 6
Os graus-dia de crescimento acumulam o calor disponível para o desenvolvimento de culturas e insetos medindo quanto as temperaturas diárias ficam acima de uma base específica da cultura. Quando as tardes ultrapassam um limite fisiológico superior, as médias brutas superestimam o calor útil, por isso agrônomos aplicam um corte superior de temperatura ao máximo e ao mínimo diários antes de calcular os graus-dia. Esta calculadora de graus-dia efetivos aceita uma série de pares diários Tmax e Tmin mais uma temperatura base e um limite superior, restringe cada extremo a esse intervalo fechado e devolve o GDD efetivo por dia e o total com a identidade clássica média das temperaturas limitadas menos a base.
O que medem os graus-dia efetivos com limite superior
Os graus-dia de crescimento simples de um dia costumam ser escritos como a média do máximo e do mínimo da temperatura do ar menos um limiar base, com piso em zero quando a média fica em ou abaixo da base. Essa forma funciona bem em clima ameno, mas muitas culturas e pragas deixam de acelerar o desenvolvimento quando as temperaturas excedem um limiar superior de desenvolvimento—classicamente cerca de trinta graus Celsius ou oitenta e seis Fahrenheit nas unidades de calor do milho.
Os graus-dia efetivos ou modificados, portanto, forçam primeiro ambos os extremos diários ao intervalo fechado da base até o limite superior, tomam a média desses valores limitados e subtraem a base. Como ambas as temperaturas limitadas ficam em ou acima da base, a contribuição diária é sempre não negativa e nunca maior que o superior menos a base. Em uma série de vários dias o GDD efetivo total é a soma dessas contribuições diárias, e a média por dia é um resumo conveniente para painéis.
Você mantém controle total das unidades: forneça cada temperatura—incluindo base e superior—na mesma escala, tipicamente Celsius na agronomia operacional ou Fahrenheit em tabelas de extensão legadas. Quando o limite superior está abaixo da base, o intervalo colapsa e o manipulador rejeita a solicitação em vez de trocar limites em silêncio ou devolver zero todos os dias.
Quem usa graus-dia com limite superior
Modelos de fenologia de culturas e calendários de plantio precisam de acumulação de calor reproduzível que respeite limiares base e superior de desenvolvimento quando as estações publicam apenas máximo e mínimo diários. Laboratórios de ensino e geradores de provas precisam de um oráculo determinístico que rejeite pares max/min invertidos e configurações impossíveis de superior abaixo da base em vez de devolver NaN de planilha em silêncio.
Cadernos de pesquisa que reprocessam extremos diários históricos podem avaliar em lote o GDD efetivo em estudos clima-cultura sem levantar um kit completo de agrometeorologia. Sites de conteúdo que competem por calculadora de graus-dia de crescimento efetivos ou GDD com limite superior de temperatura se beneficiam de uma ferramenta ao vivo cujo contrato é documentado em OpenAPI e MCP a partir do mesmo params.json.
Mantenha o superior em ou acima da base, cada máximo diário pelo menos igual ao seu mínimo, fixe os totais arredondados nos testes e você obtém graus-dia de crescimento efetivos reproduzíveis para cursos, documentação e workers na borda sem enviar uma biblioteca de fenologia a cada cliente.
Casos de uso
Fenologia de culturas e calendários de plantio
Acumule GDD efetivo a partir de Tmax/Tmin diários com base e limite superior da cultura para programar estágios de crescimento e janelas de colheita.
Rastreamento de graus-dia de pragas
Aplique o mesmo modelo de limitar e média a limiares de desenvolvimento de insetos quando só há extremos diários de estação.
Laboratórios de ensino e testes de automação
Forneça um oráculo determinístico que rejeite superior abaixo da base e pares max/min invertidos em exercícios, checagens LMS e goldens de CI.
Perguntas frequentes
Como se calculam os graus-dia efetivos com limite superior?
O GDD efetivo total é a soma de todos os dias.
O que acontece num dia mais quente que o limite superior?
A máxima é cortada no limite antes da média. Com base 10 e teto 30, um dia de 32 e 18 conta como 30 e 18, média de 24, e soma 14 graus-dia.
E se a mínima do dia ficar abaixo da base?
Ela é elevada até a base primeiro. Um dia de 22 e 8 com base 10 conta como 22 e 10, média de 16, e soma 6 graus-dia. Nenhum dia contribui com valor negativo.
Posso informar temperaturas em Fahrenheit?
Sim, desde que todos os valores usem a mesma escala: máximas, mínimas, base e limite superior. A calculadora não converte escalas, então misturar Celsius e Fahrenheit gera totais errados.
Quantos dias posso calcular de uma vez?
De 1 a 366 dias numa só vez, o suficiente para um ano bissexto inteiro de máximas e mínimas diárias. A máxima de cada dia precisa ser pelo menos igual à mínima; caso contrário, a série é recusada.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/earth/degree-days-effective \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"days":[{"t_max":28,"t_min":12},{"t_max":32,"t_min":18},{"t_max":22,"t_min":8}],"base_temp":10,"upper_temp":30}'const res = await fetch("https://api.kit.forhosting.com/earth/degree-days-effective", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"days": [
{
"t_max": 28,
"t_min": 12
},
{
"t_max": 32,
"t_min": 18
},
{
"t_max": 22,
"t_min": 8
}
],
"base_temp": 10,
"upper_temp": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/degree-days-effective",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"days": [
{
"t_max": 28,
"t_min": 12
},
{
"t_max": 32,
"t_min": 18
},
{
"t_max": 22,
"t_min": 8
}
],
"base_temp": 10,
"upper_temp": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/degree-days-effective", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"days":[{"t_max":28,"t_min":12},{"t_max":32,"t_min":18},{"t_max":22,"t_min":8}],"base_temp":10,"upper_temp":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"days":[{"t_max":28,"t_min":12},{"t_max":32,"t_min":18},{"t_max":22,"t_min":8}],"base_temp":10,"upper_temp":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/degree-days-effective", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"days": [
{
"t_max": 28,
"t_min": 12
},
{
"t_max": 32,
"t_min": 18
},
{
"t_max": 22,
"t_min": 8
}
],
"base_temp": 10,
"upper_temp": 30
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.degree_days_effective",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Se o limite superior ficar abaixo da temperatura base, a tarefa falha com invalid_input em vez de inventar uma janela negativa sem sentido.
O que medem os graus-dia efetivos com limite superior
A capacidade trata os números como temperaturas puras e informa resultados em degree_days sem converter escalas.
Contrato de entrada, formato da resposta e erros
Cadeias numéricas são convertidas quando interpretadas como decimais finitos. Todas as saídas numéricas são arredondadas a doze casas decimais para goldens estáveis entre runtimes. Exemplo: com base dez e superior trinta, um dia a vinte e oito e doze limita-se a vinte e oito e doze, média vinte, GDD dez; um dia mais quente a trinta e dois e dezoito limita o máximo a trinta e mantém dezoito, média vinte e quatro, GDD quatorze; um dia mais fresco a vinte e dois e oito eleva o mínimo a dez, média dezesseis, GDD seis—total trinta graus-dia em três dias. Envie por POST um corpo JSON com três campos obrigatórios. days é um array não vazio de objetos, cada um com t_max e t_min como números finitos, pelo menos um dia e no máximo trezentos e sessenta e seis para pontuar um ano bissexto completo de extremos diários em uma chamada. base_temp é o limiar inferior de desenvolvimento; upper_temp é o limite superior aplicado ao máximo e ao mínimo diários. Cada objeto de dia também pode usar aliases comuns como tmax, temp_max ou max para o máximo e tmin, temp_min ou min para o mínimo; base e upper aceitam aliases como base, t_base, lower e upper, cutoff, cap_temp. Campos ausentes, séries vazias, itens de dia que não são objeto, valores não finitos, magnitudes acima de um milhão, qualquer dia em que t_max seja estritamente menor que t_min, e o caso crítico de upper_temp abaixo de base_temp falham com invalid_input nomeando o problema. Em sucesso o corpo inclui day_count; base_temp e upper_temp ecoados; total_gdd como soma dos graus-dia efetivos diários; mean_gdd, min_gdd e max_gdd da série; days_with_positive_gdd; unit degree_days; cadeias formula e equation; um array daily ecoando cada temperatura bruta e efetiva arredondada, a média efetiva e o gdd daquele dia; e steps para interfaces didáticas. Validação falha não é cobrada; chamadas analíticas bem-sucedidas usam o preço base publicado US$ 0,002 sem tokens de modelo nem rede de saída.
Onde uma API de GDD efetivo com limite agrega valor
Rastreadores de graus-dia de pragas em pomares e culturas em linha costumam compartilhar a mesma fórmula de limitar e média com bases e tetos específicos da cultura; um endpoint parse pequeno evita reimplementar a lógica de limitação em cada linguagem que toca o arquivo meteorológico. Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa US$ 0,002 sem latência de IA.
Perguntas técnicas
O que acontece se upper_temp estiver abaixo de base_temp?
A tarefa falha com invalid_input. O limite superior deve ser maior ou igual à temperatura base; uma janela invertida não é trocada nem zerada em silêncio.
E se o máximo de um dia estiver abaixo do seu mínimo?
Toda a solicitação é rejeitada com invalid_input nomeando o índice do dia. Corrija o par invertido antes de recalcular; a API nunca media um intervalo negativo sem sentido.
Qual unidade de temperatura deve ser usada?
Qualquer escala coerente—tipicamente °C ou °F—para days, base_temp e upper_temp juntos. A calculadora não converte unidades; os resultados são informados como degree_days nessa mesma escala.
Quanto custa a calculadora de graus-dia de crescimento efetivos?
A ferramenta do navegador é gratuita. Solicitações API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.