Tutorial 1 (ES): Ejecución de pyWaPOR para casos de prueba en Google 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.