Tutoriel 1 (FR): Exécuter un cas test PyWaPOR dans Colab

Site: IHE DELFT OPENCOURSEWARE
Course: PyWaPOR OpenCourseWare
Book: Tutoriel 1 (FR): Exécuter un cas test PyWaPOR dans Colab
Printed by: Guest user
Date: Friday, 26 December 2025, 6:55 PM

Description

Les instructions fournies ici vous aideront à configurer pyWaPOR pour un cas de test en utilisant Colab et à exécuter ce cas de test ainsi qu'à examiner le fichier de sortie.

 

1. Créer des comptes utilisateurs

Pour accéder à certaines des données d'entrée, vous devez créer des comptes utilisateurs. Pendant le cours, vous en apprendrez plus sur ces sources de données. Ce tutoriel montre les étapes pour exécuter pyWaPOR pour un cas test.

 Avant de commencer à exécuter pyWaPOR, créez des comptes utilisateurs sur ces sites web :

  • NASA Earthdata pour télécharger les données  MODIS, SRTM, CHIRPS, MERRA2, and VIIRS : https://urs.earthdata.nasa.gov 
    • Après avoir créé un compte, vous devrez autoriser des applications pour que les scripts Python puissent utiliser votre compte pour collecter des données. 
    • Dans le portail, allez à Applications > Authorized Apps
      • Cliquez 'APPROVE MORE APPLICATIONS" à la fin de la page
      • Cliquez sur  'NASA GESDISC DATA ARCHIVE' et'LP DAAC OPeNDAP' à la liste.
  • Portail Copernicus pour télécharger les données Sentinelhttps://dataspace.copernicus.eu/ 
  • Portail Climate Data Store (CDS) pour télécharger les données ERA5 et AgERA5https://cds.climate.copernicus.eu
    • Après vous être connecté, allez sur la page de votre compte utilisateur 
    • Sous API Key, copiez et enregistrez les informations pour UID et API 
  • Portail USGS Earthexplorer pour télécharger les données Landsathttps://earthexplorer.usgs.gov 
  • Portail TerraScope pour télécharger les données PROBA-Vhttps://viewer.terrascope.be 

Enregistrez vos identifiants (nom d'utilisateur, adresse e-mail, UID, clé API et mots de passe) dans un endroit sûr !

2. Créer un script dans Colab

Pour créer un nouveau script en utilisant Colab, allez d'abord sur https://colab.research.google.com/ et ouvrez "Bienvenue sur Colab". Allez dans "Fichier" (File)et sélectionnez "Nouveau notebook dans le Drive" (New notebook in Drive). 


Cela créera un modèle vide dans Colab. Vous pouvez ajouter une "Cellule de code" ou une "Cellule de texte". Utilisez les cellules de texte pour fournir un contexte au code que vous allez ajouter.



  • Les cellules Markdown (cellules de texte) contiennent du texte formaté écrit en Markdown, un langage de balisage léger pour créer du texte formaté à l'aide d'un éditeur de texte brut. 
  • Les cellules de code contiennent du code à interpréter par le noyau (par exemple, Python, R, Julia, Octave/Matlab…). Dans ce cas, nous utilisons le noyau Python. 
À la page suivante, vous apprendrez comment exécuter pyWaPOR pour un cas d’étude en utilisant Colab.

3. Exécuter un cas test PyWaPOR dans Jupyter Notebook

Dans cette étape, vous allez créer de nouvelles cellules de code qui exécutent chaque étape de pyWaPOR. Pour le cas d’étude, nous avons sélectionné la zone de Wad Helal, que vous devriez connaître grâce au MOOC. Dans cet exercice, le code pour exécuter ce cas test est écrit. Vous pouvez copier le code de chaque étape, le coller dans une nouvelle cellule de code et l'exécuter. 


Pour chaque élément numéroté ci-dessous, créez une nouvelle cellule de code dans JupyterLab (raccourci : B), copiez le code dans la cellule et exécutez-le (raccourci : SHIFT + ENTER).

1. Installer et importer le package pywapor

!pip install pywapor
import pywapor

  1. Ce code importera le package pywapor dans le noyau Python actuel.

2. Configurer le projet pour le cas test

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)

 

  1. Ce code crée un nouveau dossier de projet pour le cas test, nommé "Test_case", définit le cadre géographique (longitude minimale, latitude minimale, longitude maximale, latitude maximale) du cas test (c'est-à-dire, Wad Helal), et définit la période de temps que le modèle va exécuter. Pour ce cas, nous allons exécuter le modèle pour seulement 2 jours à titre d'exemple (c'est-à-dire les deux premiers jours de mars 2023).

3. Configurer l'ensemble de données d'entrée

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)

  1. Ce code configure les ensembles de données d'entrée pour ce projet test. Toutes les informations sur les sources des ensembles de données d'entrée et les méthodes pour prétraiter les données sont définies par la variable 'summary'. Il existe également des options pour exécuter pywapor avec l'ensemble d'entrées par défaut utilisé pour les produits de données WaPOR. En cours, vous apprendrez plus sur les différentes configurations par défaut et personnalisées de pywapor et ce que chaque ligne de ce code signifie.

4. Configurer les identifiants pour télécharger les données

project.set_passwords()

  1. Ce code vous demandera de saisir les identifiants et mots de passe requis pour télécharger les ensembles de données d'entrée configurés. Utilisez le compte utilisateur et le mot de passe que vous avez créés dans l'étape précédente :

Créer des comptes utilisateurs

  1. . Pour ce cas test, vous devrez entrer le nom d'utilisateur et le mot de passe du compte

NASA Earthdata

  1. , ainsi que l'adresse e-mail et le mot de passe du compte

Copernicus

  1. . D'autres comptes sont utilisés lorsque vous souhaitez exécuter pywapor avec d'autres ensembles de données.

5. Télécharger les données

datasets = project.download_data()

Ce code démarrera le processus de téléchargement des données d'entrée pour pywapor. Lorsque le noyau Python exécute la cellule, assurez-vous d'avoir une connexion internet. Le temps de téléchargement des données dépend de la période et de la zone, ainsi que de la connexion internet (une indication est que pour la zone de Wad Helal, cela prend moins de 30 minutes pour télécharger les données de 2 jours).

Après cette étape, si toutes les données sont téléchargées avec succès, vous devriez trouver ces dossiers d'entrée dans le panneau Fichiers sur la gauche (pour ouvrir ce panneau, cliquez sur l'icône du dossier ) :

Remarque :

  • Il n'est pas nécessaire de télécharger le fichier se_root_out*.nc à cette étape, car nous utilisons un modèle pour calculer l'humidité du sol dans la zone racinaire. Par conséquent, vous pouvez ignorer l'avertissement « Aucun fichier n'a été trouvé (pour l'instant) dans 'Test_case/se_root_out*.nc' ».
  • Si un autre fichier n'a pas été trouvé ou si des messages d'erreur s'affichent à cette étape, cela signifie que les entrées requises n'ont pas été complètement téléchargées (en raison d'erreurs de connexion ou de serveur). Vous devrez réexécuter cette cellule.

 

6. Exécuter le modèle d'humidité du sol dans la zone racinaire

se_root_in = project.run_pre_se_root()
se_root = project.run_se_root()

  1. Ce code exécutera le module se_root pour calculer l'humidité du sol dans la zone racinaire, ce qui est une entrée pour calculer l'évapotranspiration

7. Exécuter le modèle etlook

et_look_in = project.run_pre_et_look()
et_look = project.run_et_look()
Ce code exécutera le module et_look pour calculer l'évaporation, la transpiration, l'interception et la production primaire nette. 


Lors de l'exécution de chaque cellule, observez les sorties affichées.

À la fin de cet exercice, vous devriez être en mesure de créer un notebook Jupyter comme cet exemple de notebook, d'exécuter ce notebook et d'obtenir le fichier de sortie pywapor et_look_out.nc. Ensuite, nous examinerons ce fichier de sortie et en discuterons en classe.

4. Investigation des résultats de pyWaPOR

Une fois que vous avez terminé l'exécution du script pyWaPOR, vous disposez désormais d'un fichier appelé et_look_out.nc dans le dossier du projet.

Il s'agit d'un fichier netCDF qui contient tous les fichiers de sortie. Les fichiers netCDF ont l'avantage de compresser les données et sont faciles à utiliser pour les programmeurs. Sauvegardez le fichier de sortie ailleurs (il sera écrasé lorsque vous exécuterez à nouveau pyWaPOR). Ouvrez le fichier dans QGIS en sélectionnant "ajouter une couche" puis "ajouter un fichier de maillage".

Examinez les résultats, nous discuterons des sorties en classe. Réfléchissez aux questions suivantes 

  • Quels types de couches de sortie sont inclus dans le fichier de sortie ? 
  • Pourquoi les données ne couvrent-elles pas l'ensemble du cadre géographique ?

Vous pouvez discuter de toutes autres questions ou préoccupations avec nous en classe.