Calculadora de classificação climática Köppen
A calculadora de classificação climática Köppen transforma doze temperaturas médias mensais e doze totais mensais de precipitação em um código Köppen-Geiger conhecido, como Af, Cfb, BWh ou ET.
Executar grátis
Primeiro, ela aplica o teste de aridez; depois, avalia limites térmicos e a sazonalidade da chuva para climas tropicais, temperados, continentais ou polares. Selecione o hemisfério correto para que os testes de verão e inverno considerem os semestres adequados. O resultado inclui o nome da classe e diagnósticos anuais e mensais úteis, permitindo que você confira a decisão em vez de receber apenas um código sem explicação.
Prepare as normais climáticas mensais em ordem de calendário
Informe exatamente doze temperaturas médias mensais em graus Celsius e doze totais mensais de precipitação em milímetros. As duas listas devem seguir de janeiro a dezembro. Normais climáticas calculadas ao longo de várias décadas são as entradas mais significativas, pois Köppen-Geiger descreve o clima, não o tempo de um ano excepcional. A precipitação não pode ser negativa, embora a temperatura possa ficar abaixo de zero. Defina o hemisfério como norte ou sul para atribuir abril a setembro e outubro a março aos semestres corretos de verão e inverno. Essa distinção interfere nas letras de verão seco e inverno seco e na distribuição da precipitação usada pelo limite de aridez. A calculadora rejeita listas com meses faltando ou excedentes, em vez de tentar adivinhar qual mês está ausente. Também rejeita valores não numéricos ou não finitos. Antes de enviar dados copiados de uma planilha, confirme que os totais de precipitação estão em milímetros e que as temperaturas são médias mensais, não máximas diárias. Unidades consistentes e ordem correta são indispensáveis para todos os limites seguintes.
Entenda a sequência dos limites
A classificação segue uma árvore de decisão. Os climas secos B são testados primeiro porque a aridez depende tanto da temperatura média anual quanto da concentração da chuva no verão, no inverno ou em nenhum dos semestres. Precipitação anual abaixo da metade do limite de aridez indica deserto BW; entre a metade e o limite completo indica clima semiárido BS. A temperatura média anual fornece então o sufixo quente h ou frio k. Se o local não for seco, todos os meses com pelo menos dezoito graus Celsius produzem um clima tropical A. A chuva tropical distingue floresta f, monção m ou estação seca w ou s. Climas polares E não possuem mês acima de dez graus: máxima mensal abaixo de zero indica calota de gelo EF; caso contrário, tundra ET. Os demais locais entram em temperado C quando o mês mais frio fica acima de zero ou continental D quando chega a zero ou menos. A seca de verão, a seca de inverno e a umidade durante todo o ano definem a segunda letra. O mês mais quente e a quantidade de meses acima de dez graus determinam a última letra.
Interprete e compare o resultado com cuidado
Use o código retornado como um resumo reproduzível da série mensal informada. O nome do clima torna o código legível, enquanto a temperatura média anual, a precipitação anual, o limite de aridez calculado e as médias do mês mais frio e mais quente mostram por que os principais caminhos foram escolhidos. Um resultado próximo de uma fronteira exige cautela: pequenas diferenças no período da normal, na altitude da estação, no tratamento de dados ausentes ou na interpolação espacial podem deslocar o local para uma classe vizinha. Alguns mapas publicados também usam menos três graus como fronteira entre C e D; esta calculadora usa a fronteira amplamente adotada de zero grau e deixa essa escolha explícita. Ela não deduz localização, corrige medições, ajusta altitude nem avalia projeções climáticas futuras. Para comparar resultados, use conjuntos com o mesmo período, resolução, unidades e método de dados ausentes. O cálculo é determinístico, portanto listas e hemisfério idênticos sempre geram o mesmo resultado. O uso no navegador é gratuito, e cada solicitação automatizada via API custa US$ 0,002, atendendo tanto à verificação de estações quanto a fluxos repetíveis.
Casos de uso
Classificar uma estação meteorológica
Converta normais climáticas publicadas em um código Köppen-Geiger documentado, com os limites que justificam o resultado.
Conferir uma classe no mapa
Compare valores mensais de estação ou grade com a classe exibida em um mapa e investigue diferenças de fronteira.
Padronizar uma rotina de pesquisa
Aplique um conjunto determinístico de regras a muitos locais preparados e mantenha campos de saída consistentes.
Perguntas frequentes
Qual limite de temperatura separa os climas C e D?
A calculadora usa zero grau Celsius no mês mais frio: acima de zero é C; zero ou menos é D quando os demais requisitos são atendidos.
Por que preciso escolher um hemisfério?
As regras de verão seco e inverno seco comparam semestres opostos. O hemisfério determina quais meses do calendário pertencem ao verão.
Posso usar dados de apenas um ano?
O cálculo funciona, mas uma normal climática de várias décadas é preferível porque o sistema descreve o clima de longo prazo, não o tempo de um ano.
Por que o clima seco é testado antes do tropical ou temperado?
Essa é a ordem de decisão de Köppen-Geiger. Um local que atende ao limite de aridez pertence ao grupo B, mesmo que suas temperaturas também caibam em outro grupo.
O que acontece se uma lista não tiver doze valores?
A solicitação falha com um erro de entrada inválida que identifica a lista que precisa conter exatamente doze valores mensais.
Quanto custa uma classificação pela API?
Cada solicitação pela API custa US$ 0,002. O mesmo cálculo determinístico também pode ser usado gratuitamente no navegador.
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/koppen-classification \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"temperatures_c":[26.5,26.8,27.1,27.3,27.1,26.6,26.2,26.3,26.5,26.7,26.6,26.4],"precipitation_mm":[220,210,240,260,250,190,170,160,180,210,230,240]}'const res = await fetch("https://api.kit.forhosting.com/earth/koppen-classification", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"temperatures_c": [
26.5,
26.8,
27.1,
27.3,
27.1,
26.6,
26.2,
26.3,
26.5,
26.7,
26.6,
26.4
],
"precipitation_mm": [
220,
210,
240,
260,
250,
190,
170,
160,
180,
210,
230,
240
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/koppen-classification",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"temperatures_c": [
26.5,
26.8,
27.1,
27.3,
27.1,
26.6,
26.2,
26.3,
26.5,
26.7,
26.6,
26.4
],
"precipitation_mm": [
220,
210,
240,
260,
250,
190,
170,
160,
180,
210,
230,
240
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/koppen-classification", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"temperatures_c":[26.5,26.8,27.1,27.3,27.1,26.6,26.2,26.3,26.5,26.7,26.6,26.4],"precipitation_mm":[220,210,240,260,250,190,170,160,180,210,230,240]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"temperatures_c":[26.5,26.8,27.1,27.3,27.1,26.6,26.2,26.3,26.5,26.7,26.6,26.4],"precipitation_mm":[220,210,240,260,250,190,170,160,180,210,230,240]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/koppen-classification", 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
{
"temperatures_c": [
26.5,
26.8,
27.1,
27.3,
27.1,
26.6,
26.2,
26.3,
26.5,
26.7,
26.6,
26.4
],
"precipitation_mm": [
220,
210,
240,
260,
250,
190,
170,
160,
180,
210,
230,
240
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.koppen_classification",
"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.
Limites
max_items | 12 |
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. |