Calculadora de clasificación climática Köppen
La calculadora de clasificación climática Köppen convierte doce temperaturas medias mensuales y doce totales mensuales de precipitación en un código Köppen-Geiger conocido, como Af, Cfb, BWh o ET.
Ejecutar — gratis
Primero aplica la prueba de aridez y después evalúa los límites térmicos y la estacionalidad de las precipitaciones de los climas tropicales, templados, continentales o polares. Seleccione el hemisferio correcto para que las pruebas de verano e invierno utilicen los semestres adecuados. El resultado incluye el nombre de la clase y diagnósticos útiles, de modo que usted pueda revisar la decisión.
Prepare las normales climáticas mensuales en orden calendario
Introduzca exactamente doce temperaturas medias mensuales en grados Celsius y doce totales mensuales de precipitación en milímetros. Ambas listas deben ir de enero a diciembre. Las normales calculadas durante varias décadas son las entradas más representativas, pues Köppen-Geiger describe el clima y no el tiempo de un año excepcional. La precipitación no puede ser negativa, aunque la temperatura sí puede bajar de cero. Indique el hemisferio norte o sur para asignar abril-septiembre y octubre-marzo a los semestres correctos de verano e invierno. Esta distinción afecta a las letras de verano seco e invierno seco y a la distribución de lluvia usada en el umbral de aridez. La calculadora rechaza listas con meses de más o de menos en vez de adivinar cuál falta. También rechaza valores no numéricos o no finitos. Antes de enviar datos copiados de una hoja de cálculo, compruebe que la precipitación esté en milímetros y que las temperaturas sean medias mensuales, no máximas diarias. Las unidades coherentes y el orden calendario son esenciales para todos los umbrales posteriores.
Comprenda la secuencia de umbrales
La clasificación sigue un árbol de decisión. Primero se comprueban los climas secos B, ya que la aridez depende tanto de la temperatura media anual como de si la lluvia se concentra en verano, en invierno o en ninguno de los dos semestres. Una precipitación anual inferior a la mitad del umbral de aridez produce desierto BW; entre la mitad y el umbral completo produce estepa BS. La temperatura media anual aporta después el sufijo cálido h o frío k. Si el lugar no es seco, todos los meses con al menos dieciocho grados Celsius definen un clima tropical A. La lluvia tropical distingue selva f, monzón m o estación seca w o s. Los climas polares E no tienen ningún mes por encima de diez grados: una máxima mensual inferior a cero es casquete glaciar EF; de lo contrario, tundra ET. Los demás lugares son templados C si el mes más frío supera cero o continentales D si alcanza cero o menos. La sequedad estival, la sequedad invernal y la humedad anual fijan la segunda letra; el mes más cálido y los meses por encima de diez grados fijan la última.
Interprete y compare el resultado con criterio
Use el código devuelto como resumen reproducible de la serie mensual suministrada. El nombre del clima facilita su lectura, mientras que la temperatura media anual, la precipitación anual, el umbral de aridez calculado y las medias del mes más frío y más cálido muestran por qué se eligieron las ramas principales. Un resultado fronterizo requiere cautela: una pequeña diferencia debida al periodo normal, la altitud de la estación, el tratamiento de datos ausentes o la interpolación puede trasladar el lugar a una clase vecina. Algunos mapas publicados usan además menos tres grados como frontera entre C y D; esta calculadora adopta la frontera ampliamente utilizada de cero grados y declara esa elección. No deduce ubicaciones, corrige mediciones, ajusta por altitud ni evalúa proyecciones futuras. Para comparar, emplee conjuntos con el mismo periodo normal, resolución, unidades y método para valores ausentes. El cálculo es determinista: listas y hemisferio idénticos siempre producen el mismo resultado. El navegador es gratuito y cada solicitud automatizada por API cuesta $0.002, por lo que sirve tanto para revisar una estación como para crear procesos repetibles.
Qué puede hacer con ella
Clasificar una estación meteorológica
Convierta normales climáticas publicadas en un código Köppen-Geiger documentado y acompañado de sus umbrales.
Comprobar una clase cartográfica
Compare valores mensuales de una estación o cuadrícula con la clase mostrada en un mapa e investigue diferencias fronterizas.
Estandarizar un flujo de investigación
Aplique un único conjunto determinista de reglas a muchos lugares preparados y conserve campos de salida uniformes.
Preguntas frecuentes
¿Qué límite térmico separa los climas C y D?
La calculadora usa cero grados Celsius en el mes más frío: por encima de cero corresponde C; cero o menos corresponde D si se cumplen los demás requisitos.
¿Por qué debo seleccionar un hemisferio?
Las reglas de verano seco e invierno seco comparan semestres opuestos. El hemisferio determina qué meses calendario pertenecen al verano.
¿Puedo utilizar datos de un solo año?
El cálculo funcionará, pero es preferible una normal climática de varias décadas porque el sistema describe el clima a largo plazo, no el tiempo de un año.
¿Por qué se comprueba un clima seco antes que uno tropical o templado?
Ese es el orden de decisión de Köppen-Geiger. Un lugar que cumple el umbral de aridez pertenece al grupo B aunque sus temperaturas encajen también en otro grupo.
¿Qué sucede si alguna lista no contiene doce valores?
La solicitud falla con un error de entrada no válida que identifica la lista que debe contener exactamente doce valores mensuales.
¿Cuánto cuesta una clasificación por API?
Cada solicitud por API cuesta $0.002. El mismo cálculo determinista también está disponible gratis en el navegador.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"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
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.koppen_classification",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_items | 12 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |