Tutorial 1 (ES): Ejecución de pyWaPOR para casos de prueba en Google Colab

Site: IHE DELFT OPENCOURSEWARE
Course: PyWaPOR OpenCourseWare
Book: Tutorial 1 (ES): Ejecución de pyWaPOR para casos de prueba en Google Colab
Printed by: Guest user
Date: Friday, 26 December 2025, 6:53 PM

Description

Las instrucciones proporcionadas aquí le ayudarán a configurar pyWaPOR para un caso de prueba usando Colab, a ejecutar el caso de prueba y a explorar el archivo de salida.

1. Crear cuentas de usuario

Para acceder a algunos de los datos de entrada, es necesario crear cuentas de usuario. Este tutorial muestra los pasos para ejecutar pyWaPOR en un caso de prueba. En clase aprenderá más sobre estas fuentes de datos.

Antes de comenzar a ejecutar pyWaPOR, cree cuentas de usuario en cada uno de estos sitios web:

¡IMPORTANTE!

  • Después de crear una cuenta de Earthdata, deberá autorizar las aplicaciones para que los scripts de Python puedan usar su cuenta para recopilar datos.
  • En el portal, vaya a Applications > Authorized Apps
  • Haga clic en "APPROVE MORE APPLICATIONS" al final de la página
  • Agregue "NASA GESDISC DATA ARCHIVE" y "LP DAAC OPeNDAP" a la lista

 

¡Asegúrese de guardar sus credenciales (nombre de usuario, dirección de correo electrónico de usuario, UID, clave API y contraseñas) en un lugar seguro!

2. Crear un script en Colab

Para crear un nuevo script con Colab, vaya primaro a https://colab.research.google.com/ y seleccione la pestaña "Google Drive". Haga clic en "New Notebook" para crear un nuevo cuaderno de Colab en su carpeta de Google Drive.

Cambie el nombre de este nuevo cuaderno haciendo doble clic en el título ubicado en la parte superior de la página (ver abajo). Por ejemplo, puede cambiarle el nombre a "pywapor_test_case_run0". Se recomienda utilizar siempre un nombre apropiado al cuaderno para facilitar el seguimiento al material y a los resultados.

 

Puede agregar una celda con la palabra "Código" o "Texto". Use las celdas con la palabra "Texto" para explicar el contexto del código que va a agregar.

  • Las celdas de Markdown (celdas de texto) contienen texto formateado escrito en Markdown, un lenguaje de marcado liviano para crear texto formateado usando un editor de texto simple.

  • Las celdas de código contienen código que será interpretado por el kernel (p. ej., Python, R, Julia, Octave/Matlab…). En este caso, estamos usando el kernel de Python.

En la siguiente página aprenderá a ejecutar pywapor para un caso de prueba usando Colab.

3. Ejecute el ejemplo de prueba PyWaPOR en Jupyter Notebook

En este paso creará nuevas celdas de código que ejecutarán cada paso en pywapor. Para el ejemplo de prueba, seleccionamos el área de Wad Helal, con la que debería estar familiarizado después de haber cursado el MOOC "Python para análisis geoespaciales utilizando datos de WaPOR".

En este ejercicio, se escribe el código para ejecutar este ejemplo. Copiará el código de cada paso, lo pegará en una nueva celda (de código), y lo ejecutará. Después de ejecutar cada celda, observe los resultados impresos. Después de cada paso, verifique que los resultados mostrados tengan sentido.

Para cada elemento numerado a continuación, cree una nueva celda de código en JupyterLab (atajo: B), copie el código en la celda y ejecútelo (atajo: MAYÚS + ENTER).

Paso 1: Instalar e importar el paquete de pywapor

!pip install pywapor
import pywapor

Este código instalará e importará el paquete pywapor al kernel de Python actual.

Paso 2: Configurar el proyecto para el caso de prueba

project_folder = r"Test_case" #Path to folder
bb = [33.1479429498060583, 14.2657100971198449, 33.2874918465625242, 14.3487734799492763] # [xmin, ymin, xmax, ymax] #Wad_Helal
period = ["2023-03-01", "2023-03-02"] 
# Set up a project.
project = pywapor.Project(project_folder, bb, period)


Este código crea una nueva carpeta de proyecto para el ejemplo, denominada "Test_case", define el cuadro delimitador (longitud mínima, latitud mínima, longitud máxima, latitud máxima) del caso (es decir, Wad Helal) y define el período de tiempo durante el cual se ejecutará el modelo. Para este caso , ejecutaremos el modelo sólo durante 2 días como ejemplo (es decir, los dos primeros días de marzo de 2023).

Paso 3: Configurar el conjunto de datos de entrada

summary = {
            '_ENHANCE_': {"lst": ["pywapor.enhancers.dms.thermal_sharpener.sharpen"],},
            '_EXAMPLE_': 'SENTINEL2.S2MSI2A_R20m',
            '_WHITTAKER_': {'SENTINEL2.S2MSI2A_R20m':{'method':'linear'},
                            'VIIRSL1.VNP02IMG':{'method':'linear'},                        },
            'elevation': {'COPERNICUS.GLO30'},
            'meteorological': {'GEOS5.inst3_2d_asm_Nx'},
            'optical': {'SENTINEL2.S2MSI2A_R20m'},
            'precipitation': {'CHIRPS.P05'},
            'soil moisture': {'FILE:{folder}{sep}se_root_out*.nc'},
            'solar radiation': {'MERRA2.M2T1NXRAD.5.12.4'},
            'statics': {'STATICS.WaPOR3'},
            'thermal': {'VIIRSL1.VNP02IMG'},            
            }
project.load_configuration(summary = summary)

Este código configurará el conjunto de datos de entrada para este proyecto de ejemplo. Toda la información sobre las fuentes de los conjuntos de datos de entrada y los métodos para preprocesar los datos de entrada está definida por la variable 'summary'.

También hay opciones para ejecutar pywapor con el conjunto de entradas predeterminado que se utiliza para los productos de datos de WaPOR. En clase, aprenderá más sobre las diferentes configuraciones predeterminadas y personalizadas de pywapor y lo que significa cada línea en este código.

Paso 4: Configurar las credenciales para descargar datos

project.set_passwords()

 

Este código le solicitará que ingrese las cuentas de usuario y las contraseñas que se requieren para descargar los conjuntos de datos de entrada configurados. Use la cuenta de usuario y la contraseña que creó anteriormente (sección Crear cuentas de usuario). Para este ejemplo, deberá ingresar el nombre de usuario y la contraseña de la cuenta de NASA Earthdata, y la dirección de correo electrónico y la contraseña de la cuenta de Copernicus. Se utilizarán otras cuentas para ejecutar pywapor con otros conjuntos de datos.

Paso 5: Descargar datos

datasets = project.download_data()


Este código iniciará el proceso de descarga de datos de entrada para pywapor. Dado que está ejecutando el Notebook en Google Colab, los datos se descargarán en su máquina virtual de Google Colab. El tiempo que lleva descargar los datos depende del período y del área (y se indica que, para el área de Wad Helal, se necesitan menos de 30 minutos para descargar 2 días de datos).

Después de este paso, si todos los datos se descargaron correctamente, debería encontrar estas carpetas de entrada en el panel Archivos a la izquierda (haga clic en el ícono de carpeta para abrir este panel):

Notas:

  • No es necesario descargar el archivo se_root_out*.nc en este paso, porque estamos usando un modelo para calcular la humedad del suelo en la zona de raíces. Por lo tanto, puede ignorar la advertencia, que traduce: "No se encontraron archivos (aún) en 'Test_case/se_root_out*.nc'".
  • Si no se encuentra ningún otro archivo o se muestran mensajes de error en este paso, significa que las entradas requeridas no se han descargado por completo (por ejemplo, debido a errores de conexión o del servidor). Deberá volver a ejecutar este paso.

Paso 6: Preprocesar los datos de entrada para el modelo de humedad del suelo en la zona de raíces

se_root_in = project.run_pre_se_root()

 

Este código preprocesará los datos descargados en un formato compatible con el modelo se_root.

Si este paso se completa correctamente, debería encontrar el archivo se_root_in.nc en la carpeta del proyecto:

Paso 7: Ejecutar el modelo de humedad del suelo de la zona de raíces

se_root = project.run_se_root()

 

Este código ejecutará el módulo se_root para calcular la humedad del suelo en la zona de raíces, que es una entrada para calcular la evapotranspiración.

Si este paso se completa correctamente, debería encontrar el archivo se_root_out.nc en la carpeta del proyecto:

Paso 8: Preprocesar los datos de entrada para el modelo etlook

et_look_in = project.run_pre_et_look()

 

Este código preprocesará los datos descargados y se_root_out.nc en un formato compatible con el modelo et_look.

Si este paso se completa correctamente, debería encontrar el archivo et_look_in.nc en la carpeta del proyecto:

Paso 9: Ejecutar el modelo etlook

et_look = project.run_et_look()

 

Este código ejecutará el módulo et_look para calcular la evaporación, la transpiración, la intercepción y la producción primaria neta.

Si este paso se completa correctamente, debería encontrar el archivo et_look_out.nc en la carpeta del proyecto:

Al finalizar este ejercicio, deberá poder crear un cuaderno Jupyter como este cuaderno de ejemplo, ejecutarlo y obtener el archivo de salida de pywapor et_look_out.nc. A continuación, investigaremos este archivo de salida y lo analizaremos en clase.

4. Investigando los resultados de pyWaPOR

Una vez que termine de ejecutar el script pyWaPOR, tendrá un archivo llamado et_look_out.nc en la carpeta del proyecto.

Este es un archivo de tipo NetCDF que contiene todos los archivos de salida. Los archivos NetCDF tienen la ventaja de comprimir los datos y son fáciles de usar para programadores. Descargue el archivo de salida a su computadora (esto es porque este archivo se sobrescribirá cuando ejecute pyWaPOR nuevamente). Abra el archivo en QGIS siguiendo el "Tutorial 4: NetCDF en QGIS".

Explore los resultados, los cuales discutiremos en clase. Piense en lo siguiente:

  • ¿Qué tipo de capas de salida se incluyen en el archivo de salida?
  • ¿Por qué los datos no cubren todo el cuadro delimitador?

Prepare cualquier otra pregunta o inquietud que tenga y pregúntela en clase.