curso-reproducibilidad-team4 / zonificacion-climatica-cte

Zonificación climática localidades españolas según severidades del Código Técnico de la Edificación
MIT License
0 stars 2 forks source link

Script de descarga de archivos climáticos en formato TMY #3

Closed pachi closed 2 years ago

pachi commented 2 years ago

Hacer un script en python para descargar los TMY del JRC usando el MUNICIPIOS.csv

En el workflow: para cada municipio, descargar (src/download_TMY.py), si no existe ya, el archivo TMY del JRC y guardarlo en 'data/output/tmy/${COD_INE}.tmy'

MJmaolu commented 2 years ago

Perfecto Pachi, me basaré en el tuyo.

El script ('download_TMY.csv') aceptará como parámetros de entrada la longitud y latitud del municipio, generará la query y descargará el .csv con los datos.

Si te parece podemos generar un directorio /scripts en el que ir alojando el código que generemos.

pachi commented 2 years ago

He dejado un script en src/download_TMY.py que recorre una lista de urls para descargar, pero me parece mejor idea lo que planteas, aunque añadiría además como parámetro un nombre (creo que deberíamos usar el código INE del municipio) para usar en el archivo generado.

pachi commented 2 years ago

@MJmaolu he añadido en #11 un script select_input.py que genera un data/output/Municipios.csv que podría servir de entrada para la descarga de los archivos TMY. Tiene los datos de latitud, longitud y nombre de archivo tmy deseado.

MJmaolu commented 2 years ago

Gracias @pachi, durante el finde lo dejo acabado. Haré la versión con el código del INE como argumento de entrada y luego ya nos planteamos si queremos que sea más interactivo (mostrar al usuario todos los códigos y que elija uno). Buen finde;)

MJmaolu commented 2 years ago

Hola @pachi, ya he hecho un push de la versión al repositorio general. Te parece bien que vayamos metiendo los {}_tmy.csv generados en /data/tmy? 'download_TMY.py' revisará que no exista ya el fichero {}_TMY.csv en ese directorio antes de descargar.

He visto que habías escrito en el fichero de MUNICIPIOS.csv el nombre del fichero tmy, pero yo no he añadido el nombre del municipio por no tener que generar el pd.DataFrame si ya existe el fichero, es una tontería y si prefieres lo añado. Lo vamos hablando;)

pachi commented 2 years ago

Genial, María José. Creo que estaría bien usar el nombre propuesto en el Municipios.csv y también que el script hiciese la descarga de todos los archivos sin necesidad de pasarle el dato como parámetro por dos motivos:

Cambié el formato del nombre a {codigoine}_{nombreactual}.csv para que fuese un poco más amigable a la hora de hacer la depuración del cálculo de indicadores y a la hora de inspeccionar manualmente los datos (es más fácil buscar el archivo con un nombre de municipio que acordarse de su código ine).

El script de cálculo de indicadores usa directamente el nombre del archivo TMY del Municipios.csv en lugar de recorrer el directorio.

Con esos cambios podríamos probar a hacer la descarga de todos los datos y podemos trabajar el script de representación.

Dime qué te parecen los cambios propuestos y vemos con qué seguimos.

MJmaolu commented 2 years ago

Perfecto @pachi, lo había entendido como un script de uso regular (donde el usuario elegía el municipio). Sabiendo entonces que es para descargar todos los datos a la vez me pongo con los cambios;)

pachi commented 2 years ago

Habría sido una opción interesante si no hubiese limitación de descargas ya que podríamos paralelizar la descarga, pero con la limitación de descargas creo que es mejor que sea directamente secuencial.

Lo mismo nos pasa con los cálculos de los indicadores. Tenía dudas de si dejar la paralelización al workflow, pero al final necesitamos un csv único con los resultados para poder hacer las gráficas y el análisis... así que creo que es mejor que sea el propio script el que haga la paralelización.

MJmaolu commented 2 years ago

Ok, voy a revisarlo todo para seguir las rutas que habías dejado indicadas.

MJmaolu commented 2 years ago

He hecho el push de la nueva versión, para escribir el tmy.csv usa el nombre que indicas en Municipios.csv pero cambiando los casos en los que hay '/' por '__' para evitar problemas. He comprobado que los pasos 1 y 2 del workflow funcionan en la versión actual, puedo echarle un ojo a lo siguiente pero tiene sentido lo que dices en el comentario anterior.

pachi commented 2 years ago

Perfecto. Igual hago esa normalización de los nombres de archivo (cambiar "/" por "__") en el script que genera el Municipios, que es el que se usa luego para acceder a los archivos y así está ahí centralizado el cambio en una sola parte del código.

Tampoco me había lanzado a ir haciendo más cosas para ver si se animan mañana con alguna cosa más @ChibaneNadia o @pastorpflores !

pachi commented 2 years ago

Esta tarea está ya finalizada