Clima abierto: 2 contribuciones a proyectos climáticos de código abierto (y un tercer proyecto que nos encanta)

Jueves, Junio 11, 2020

De Ubuntu a Inkscape, pasando por herramientas más específicas de Big Data y climatología, en Predictia confiamos en proyectos de código abierto día a día. ¿Por qué? las razones son múltiples:

  • Mantener el control sobre lo que hace el software y cómo se ejecuta es vital para nuestros proyectos. Normalmente ejecutamos proyectos que tratan con varios TBs de datos climáticos o bases de datos complejas relacionadas con datos sanitarios, por lo que este control es fundamental para garantizar unos resultados fiables y seguros.
  • Emplear proyectos de código abierto aporta un valor añadido de responsabilidad y transparencia para nuestros clientes, que de esta manera pueden analizar de forma independiente la solución que hemos desarrollado para ellos.
  • Lo que es más importante, estamos orgullosos de formar parte de múltiples comunidades de código abierto. Además de basar nuestro día a día en estos proyectos, también contribuimos a su esfuerzo conjunto, ayudando a que crezcan paso a paso.

Por eso hoy queremos hablaros de tres proyectos de código abierto relacionados con el clima, y contar un par de contribuciones que hemos hecho.

Una nueva funcionalidad para una herramienta de validación

En el seno de un contrato con Copernicus que trata con la evaluación y control de calidad de Climate Data Store, buscábamos herramientas que pudieran ejecutar el control de calidad de conjuntos de datos regionales. Investigando, nos encontramos con ESMValTool, una herramienta de Código Abierto para evaluar modelos de sistemas terrestres en CMIP. Este proyecto cuenta con una amplia variedad de herramientas para la evaluación de modelos empleando observaciones, otros modelos o incluso comparar diferentes versiones del mismo modelo.

Fue una decisión fácil de tomar. Esta herramienta encajaba perfectamente con nuestra necesidad de evaluar datos climáticos de una forma sistemática. Sin embargo, sí que había una pequeña desventaja: ESMValTool no estaba preparada para procesar conjntos de regionales de datos. Así que abrimos un pull request y empezamos a trabajar en diversos aspectos:

  • Condiciones de contorno: dado que el modelo es regional, tiene que encajar en el marco de los modelos globales. Por eso, antes de procesar nada, los sets de datos necesitan ser ajustados, para tener en cuenta las condiciones que se dan en los bordes de la región a considerar.
  • Regridding: al manejar conjuntos de datos que manejan diferentes resoluciones y comparar los modelos con datos como los de ERA5, los datos deben interpolarse de una resolución a otra.

Por el momento hemos probado este enfoque con datos de CORDEX , pero en principio cualquier conjunto de datos regionales podría evaluarse con esta nueva funcionalidad, adaptando un poco el código.

Corrigiendo los pasos intermedios

Otro de nuestros proyectos hace uso de los datos de radar que ofrece AEMET. Nuestro objetivo es ofrecer un servicio de predicción a muy corto plazo (¡permanece atento a nuestro Twitter para no perderte las novedades!). Pero, para ser capaces de ofrecer predicciones fiables, es crucial tener conjuntos de datos consistentes, sin huecos en el tiempo.La realidad, sin embargo, nunca es tan bonita y las estaciones de radar a veces no son capaces de ofrecer los datos por multitud de razones: podría ser que la conexión ha fallado y las mediciones no se han podido subir; o que los sensores han fallado; o esa estación en conceto se encontraba en mantenimiento. De cualquier forma, al final el resultado es un set de datos que tiene algunos huecos (aunque no muchos).

Llegados a este punto, optamos por recurrir a pySTEPS: un sistema en python de código abierto, modular y gratuito que trabaja con conjuntos de sistema de predicción meteorológica a corto plazo. uno de sus módulos nos permite rellenar los huecos en nuestros datos, empleando un algoritmo para la corrección de la advección. Sien embargo, cuando analizábamos los resultados de nuestro caso particular, algo no andaba bien. Indagando un poco en el código, encontramos el error (en el Slack de pySTEPS tienes todos los detalles), así que abrimos una petición y rápidamente el problema fue resuelto.

Visualizando datos climáticos

Y por último, aunque no por ello menos importante, queremos detacar un proyecto que empezó en 2009 y que a día de hoy sigue creciendo: ADAGUC. Se trata de nuestro servidor de mapas de cabecera a la hora de visualizar datos en la web, especialmente cuando trabajamos con datos climáticos.

Several examples of climate visualisations using ADAGUC

Esta herramienta la hemos empleado en multitud de proyectos: el visor de datos para AdaptECCa, el proyecto europeo PRIMAVERA, con Metro Madrid... nos permite visualizar datos climáticos de una forma comprensible y atractiva, y además cuenta con una increíble comunidad de desarrolladores y usuarios, que llevan manteniendo y expandiendo el proyecto más de 10 años.