Acceso abierto, pero aún nada sencillo

Para Suecia, el comienzo parecía sencillo al principio: SMHI proporciona las observaciones sin registro y sin clave API. Los valores mensuales oficiales sólo existen para la temperatura media y las precipitaciones; todo lo demás aún debe calcularse. Más tarde se volvió exigente a través de redes de observación separadas, diferentes formatos CSV y una importación que alcanzaba el límite de memoria.

Bandera de Suecia
04.09.2026

mi comienzo

Datos abiertos sin clave y solo unos pocos valores mensuales reales

En el caso de Suecia, al principio pensé que la integración sería muy sencilla. SMHI proporciona las observaciones de forma abierta, sin registro ni clave API. Esto es realmente agradable: a través del Catálogo MetObs Puedo moverme de forma transparente desde parámetros a estaciones, períodos y archivos individuales.

Los valores mensuales oficiales existen sólo para la temperatura media y la precipitación. Eso ayuda, pero son sólo dos valores. Para los días máximos y mínimos, la insolación, la temperatura y los días de tormenta, todavía tengo que calcular yo mismo a partir de datos diarios o horarios, exactamente lo que ya ha creado mucha lógica adicional para otros países.

Redes de observación separadas

Una estación, varios identificadores

No todas las estaciones meteorológicas miden lo mismo. Por lo tanto, en la lista de estaciones cada estación tiene varios identificadores, dependiendo de si allí se miden, por ejemplo, la temperatura, las precipitaciones o las horas de sol. Primero tengo que mantener separados estos identificadores y asignarlos a los datos coincidentes.

Para las diferentes cantidades medidas, es necesario combinar los datos de diferentes estaciones. Esto es importante, porque de lo contrario es fácil tener la impresión de que los datos están igualmente bien distribuidos en todas partes. De hecho, el número de estaciones difiere según la cantidad medida.

Las horas de sol, en particular, se miden sólo en unos pocos lugares. Por lo tanto, la cobertura difiere según la métrica y no debe leerse como una red de estaciones uniforme.

Parámetros y calidad.

Valores mensuales oficiales, días completos y sin ceros silenciosos

La implementación del mapeador separa deliberadamente estos datos por su origen técnico. El parámetro 22 proporciona la temperatura media y el parámetro 23 la precipitación directamente como valores mensuales oficiales. A partir de los extremos diarios de los parámetros 20 y 19, la temperatura máxima, la temperatura mínima y los días de verano, tropicales, de heladas y de hielo se calculan solo cuando todos los días de un mes están presentes.

Los valores de insolación horaria del parámetro 10 se suman primero en días completos y luego en meses. Para los días de tormenta utilizo el parámetro 13; Describo la regla exacta en la siguiente sección.

Me gusta la información de calidad de SMHI. Los valores verdes se verifican, pero los valores amarillos no deben descartarse en todos los ámbitos: para los valores mensuales y los extremos diarios pueden significar valores agregados oficiales. Por lo tanto, el asignador acepta G e Y, pero no trata los valores faltantes o descartados como nulos.

No integro nieve nueva. SMHI proporciona la profundidad de la nieve, pero la profundidad de la nieve no es nieve nueva. Una diferencia entre dos espesores de nieve sería engañosa debido al derretimiento o la deriva. Prefiero una métrica abierta aquí a un número aparentemente completo pero incorrecto.

Esta distinción es importante porque un cero puede ser una medida real y un valor faltante simplemente no es una afirmación.

Parámetros SMHI 1 a 40

Las identificaciones provienen del catálogo oficial de parámetros MetObs. Se destacan los valores que utilizo para Crónica Climática.

identificaciónSignificado
1Temperatura del aire, valor horario.
2Temperatura del aire, media diaria
3Dirección del viento
4Velocidad del viento
5Precipitación, suma diaria a las 06 UTC
6Humedad relativa
7Precipitación, suma horaria
8Profundidad de nieve, valor diario
9Presión atmosférica reducida al nivel medio del mar.
10Duración del sol, suma horaria
11Radiación global
12Visibilidad
13Tiempo actual/fenómeno meteorológico
14Precipitación, suma de 15 minutos
15intensidad máxima de precipitación en 15 minutos
16Nubosidad total
17Precipitación / tipo de precipitación, valor de 12 horas
18Precipitación / tipo de precipitación, valor de 24 horas
19Temperatura mínima diaria
20Temperatura máxima diaria
21ráfaga de viento máxima
22Temperatura media mensual
23Suma de precipitación mensual
24radiación de onda larga
25media máxima del viento de 10 minutos en 3 horas
26Temperatura mínima, 12 horas.
27Temperatura máxima, 12 horas.
28Altura de la capa de nubes más baja.
29Cantidad de nubes de la capa de nubes más baja
30Altura de la segunda capa de nubes.
31Cantidad de nubes de la segunda capa de nubes.
32Altura de la tercera capa de nubes.
33Cantidad de nubes de la tercera capa de nubes.
34Altura de la cuarta capa de nubes.
35Cantidad de nubes de la cuarta capa de nubes.
36base de nubes más baja
37base mínima de la nube más baja en 15 minutos
38intensidad media máxima de precipitación en 15 minutos
39Temperatura del punto de rocío
40Estado de la superficie del terreno.

Nota sobre los días de tormenta

Caso especial: días de tormenta

Al principio deduje los días de tormenta del parámetro 13 de forma normal: sólo los códigos de tormenta claramente documentados cuentan como día de tormenta. Si falta una observación meteorológica válida, el valor permanece abierto. Si la serie diaria de un mes estaba completa y no aparecía ningún código de tormenta, almacenaba 0, que significa "observado, pero sin tormenta".

Más tarde observé en el gráfico que desde aproximadamente 1995/96 casi sólo quedaban ceros en casi todas las estaciones. Según las cifras, esto significaría que durante años no hubo ninguna tormenta en casi toda Suecia, lo que, por supuesto, sería completamente ilógico. Sin embargo, con el tiempo esta ilógica hizo coincidir el cambio con la red de estaciones automática OBS 2000.

en el Blog SMHI sobre la red de estaciones automáticas OBS 2000SMHI describe que la distribución oficial de las nuevas estaciones automáticas comenzó el 1 de agosto de 1995 y que la red fue modernizada en consecuencia en 1995/96. Después de eso se siguieron registrando las observaciones meteorológicas del parámetro 13, pero a menudo los códigos de tormenta ya no se pueden detectar de forma fiable. Muchas estaciones todavía entregan códigos meteorológicos válidos sin ninguna evidencia de tormenta, y así es exactamente como surgieron masas con valores aparentes de 0 = aparentemente no hay tormenta.


Por eso Suecia tiene ahora su propio gobierno:
Si una estación no tiene ningún día de tormenta positivo en un año, dejo abiertos todos los valores mensuales de tormentas de esa estación-año (null), en lugar de tratarlos como libres de tormentas (0). Sólo si en el mismo año de estación ocurre al menos un día de tormenta, quedan también meses cero reales.
Por lo tanto, la regla continúa siendo relativamente consistente con los años anteriores: mientras las tormentas se capturen de manera razonablemente confiable, las estaciones con evidencia real de tormentas, y con ellas sus meses cero, permanecen sin cambios. Sólo a partir de 1995, de repente, cada vez menos estaciones informaron sobre algún día de tormenta, a pesar de que la observación del tiempo en sí continuó. Ésa es exactamente la ruptura que la regla pretende detectar, en lugar de tirar erróneamente la curva del país hacia abajo después del cambio de red.

Idioma y formatos de archivo

Términos suecos y archivos CSV que no tienen el mismo aspecto

El idioma fue nuevamente un paso adicional en la investigación para mí. Los nombres de los campos SMHI, las descripciones de los parámetros y las notas de calidad están en sueco. Términos como tiempo actual, mes representativo o calidad primero tuvieron que estar seguros antes de poder asignarlos correctamente.

La descarga también trajo dificultades técnicas. Los archivos CSV comienzan con diferentes bloques de encabezado dependiendo de la cantidad medida: primero vienen los detalles sobre la estación y el período, y luego los valores reales. Las columnas de tiempo tampoco son uniformes. Los datos mensuales y diarios utilizan intervalos de tiempo, mientras que las horas de sol y las observaciones meteorológicas utilizan columnas de fecha y hora separadas.

Además, SMHI informa técnicamente algunos archivos CSV como text/plain en lugar de CSV. El programa de descarga aún debe reconocer estas variantes como archivos de datos; de lo contrario, se omitirían por error las mediciones existentes. Eso no es un defecto de SMHI, pero hace que la importación general sea más laboriosa.

Descarga y mapeador

Rápido de recuperar, pero demasiado grande para una sola pasada

Los dos períodos corrected-archive y latest-months aportan otro compromiso. El archivo conserva la historia bajo control de calidad, pero finaliza antes de los últimos meses. latest-months cierra esa brecha, pero es solo provisional. Fusiono ambos y siempre dejo que corrected-archive gane en las superposiciones. Los nuevos datos permanecen visibles sin que los valores provisionales sobrescriban los valores del archivo final.

La descarga masiva histórica también debería ejecutarse solo de forma secuencial. Especialmente los numerosos valores de insolación por hora hacen que la primera importación sea lenta. Esto es comprensible y justo para la fuente, pero menos conveniente para el procesamiento. En la práctica, Suecia todavía me parece agradablemente rápida a pesar del gran volumen. Para esta recuperación, SMHI no impone límites estrictos de solicitudes ni obstáculos de clave API. De esta manera puedo cargar los archivos sin tiempos de espera artificiales.

Sin embargo, en el mapeador de datos climáticos llegué a un límite de memoria.
El holding SE comprende varios miles de archivos CSV SMHI; en conjunto, eso es del orden de aproximadamente 50 a 80 millones de filas de datos. Los archivos horarios y meteorológicos pesan especialmente, y los archivos individuales ya contienen cientos de miles de filas. Siempre que el mapeador lea primero todas las filas sin procesar por completo y solo luego las agregue, se mantienen en la memoria decenas de millones de observaciones a la vez, e incluso con 128 GB de RAM que causaron fallas repetidamente, por lo que nunca terminé la serie completa de una sola vez.

La solución fue un caso especial para Suecia: una importación de streaming. Cada archivo se agrega inmediatamente y luego se descarta, en lugar de contener todo el contenido a la vez. Este principio puede ayudarme más adelante también en otros países, porque los valores por hora en particular pueden ser enormes y fue necesario por primera vez en Suecia.

Mi conclusión es mixta: la fuente SMHI abierta y bien documentada y los valores mensuales oficiales son una muy buena base. Al mismo tiempo, las redes de observación separadas, los diferentes formatos, los encabezados parcialmente diferentes por métrica y la observación limitada de tormentas requieren un manejo cuidadoso de la cobertura. Suecia era básicamente integrable, pero seguían apareciendo pequeños obstáculos que me parecían innecesarios, así que a pesar de esos pequeños obstáculos todavía tenía que adaptar mi mapeador y descargador bastante a Suecia.

Fuentes y material de trabajo.

SMHI MetObs y datos de estaciones

Estado:04.09.2026