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