:orphan: | ☷ :doc:`return to Workflows <../../../4_workflows/workflows>` | ☷ :doc:`go to CWatM Monitoring tools ` .. admonition:: Under refactoring... :class: hint *This documentation is not valid anymore and is being updated* Guide de préparation des données CWatM pour la France ******************************************************* .. contents:: Table des matières : :local: :depth: 2 :backlinks: entry .. sectnum:: :suffix: . Installations de la boîte à outils =================================== Cette boîte à outils permettra de préparer les données requises de manière automatique. Installer l’environnement Python ------------------------------------- Cette installation est nécessaire à la fois pour pouvoir **lancer le modèle CWatM**, mais également pour pouvoir exécuter les **scripts python de formatage des données** cités dans la suite et qui permettent le formatage automatique des données d’entrée du modèle. Après avoir cloné le dossier Git (voir :doc:`installation <../../../8_contributing/installation_dev>` **1]**), l'environnement virtuel peut être installé comme suit : 1. Ouvrir une console **Anaconda Prompt** (en mode administrateur de préférence) 2. Rentrer les commandes suivantes .. code-block:: python # Si geop4th a été cloné sur un autre disque que le C:, il est d'abord nécessaire de rentrer le nom du disque : # d: (par exemple) cd "chemin/vers/dossier/geop4th/install" conda env create -f environment_cwatm.yml -n cwatenv Corriger l'environnement Python ---------------------------------- La compatibilité entre les version des différents modules n'est malheureusement pas évidente à gérer. Afin de bénéficier des versions récentes de *numpy*, *pandas*, *xarray*... tout en maintenant le bon fonctionnement de **pysheds**, il est nécessaire d'apporter une correction manuelle à ce dernier (dans l'attente qu'elle soit intégrée directement dans `pysheds `_). Pour cela, il est nécessaire d'ouvrir en mode administrateur les scripts **sview.py** et **sgrid.py** de *pysheds*. Ces 2 scripts se trouvent dans le dossier *\\envs\\wtrajenv\\Lib\\site-packages\\pysheds\\* .. tip:: Souvent Miniconda est installé dans *C:\\ProgramData\\Miniconda3\\* Il est possible de les ouvrir en mode administrateur avec Notepad++ ou bien dans Spyder (après avoir ouvert la console *Anaconda Prompt* en mode administrateur : *clic droit* > *Exécuter en tant qu'administrateur*). #. Dans le script **sview.py**, L332 : - remplacer ``nodata=0`` par ``nodata=np.int32(0)`` #. Dans le script **sgrid.py** L602 : - remplacer ``nodata_out = 0`` par ``nodata_out = np.int32(0)`` #. Toujours dans le script **sgrid.py** L2375 : - remplacer ``'nodata' : False`` par ``'nodata' : np.False_`` #. Relancer Spyder Comment exécuter les scripts geop4th -------------------------------------- L'interface d'exécution des scripts python pourra être lancée de la manière suivante : 1. Dans la console *Anaconda Prompt*, rentrer la commande : ``conda activate cwatenv`` afin d'activer l'environnement 2. Puis rentrer la commande : ``spyder`` , afin de lancer l’interface **Spyder** .. important:: Lors de la 1\ :sup:`re` ouverture de *Spyder* il est nécessaire d'ajouter le dossier contenant *geop4th* dans le **PYTHONPATH** (logo python jaune et bleu) Une fois dans *Spyder*, Les commandes permettant le formatage des données sont listées dans les sections correspondantes ci-dessous, et commencent généralement par :meth:`PAGAIE_interface.formater`. 3. Afin de pouvoir exécuter ces fonctionnalités, il est nécessaire d’importer au préalable les modules requis : .. code:: python import geop4th as geo 4. Une fois ces étapes exécutées il est possible de lancer dans *Spyder* les commandes :meth:`~.formater` détaillées ci-dessous. Choix préliminaires ====================== Délimiter la zone d'étude ------------------------------------- Limites de la zone d’étude ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pour simplifier les procédures suivantes et pour limiter la consommation inutile d’espace sur disque, il est recommandé de définir au tout début un masque qui englobe, avec une certaine marge, la zone d’étude. Toutes les données formatées seront découpées et stockées selon ce masque. .. tip:: il est généralement suffisant de considérer autour de la zone d’étude une marge de **20-25**\ × la résolution Limites du bassin versant ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pour délimiter une zone d’étude qui permette d'obtenir un bilan du cycle de l'eau qui soit cohérent et bouclé, il est recommandé de choisir sa zone d'étude à partir des délimitations des bassins versants (|BV|) d’intérêt. En première approximation, il est considéré que les limites du bassin hydrogéologique sont équivalentes à celles du bassin topographique. Ces dernières peuvent être trouvées dans les fichiers *shapefile* en accès public généralement recensés par les collectivités, ou alors dans les bases de données `CARTHAGE `_ ou `TOPAGE `_. .. tip:: sur QGIS, il est possible d’extraire plusieurs polygones (plusieurs |BV|), les fusionner, et rajouter une zone tampon grâce aux outils de ``Géotraitement des Vecteurs`` Pour faciliter le fonctionnement de CWatM, il est recommandé ensuite de redélimiter les |BV| et la zone d'étude en utilisant les données d'entrée de CWatM (voir `Masque de la zone d'étude`_). .. tip:: sur QGIS, il est possible d’afficher la superficie des polygones d’un shapefile, ici des |BV| (dans les ``informations dérivées``) Choisir la résolution et le Système de Coordonnées de Référence ------------------------------------------------------------------ Deux résolutions doivent être définies : 1. la résolution des processus de surface 2. la résolution des processus souterrains Pour une étude sur un territoire de 500 km² nous considérons généralement 1 km² pour la 1\ :sup:`re`, et 200×200 m² pour la 2\ :sup:`de`. Concernant le Système de coordonnées de référence (|SCR|), il est conseillé d’opter pour **celui des données climatiques** car ce sont généralement les données les plus lourdes et longues à traiter, et ce sont également l’une des seules à être nativement à une résolution plus large que la résolution du projet. En effet, à la différence des données climatiques, les données disponibles à résolution plus fine que celle du projet devront dans tous les cas être agrégées à une résolution plus grossière, qu’on change leurs |SCR| ou non. .. note:: Le |SCR| des données MétéoFrance (SIM2, EXPLORE2, ...) est ``epsg:27572`` (LambertZone II) Données topographiques ===================================== Modèle numérique de terrain -------------------------------- Téléchargement ~~~~~~~~~~~~~~~~~~~~~ Pour obtenir le |MNT| sur la zone d’étude, il est nécessaire de télécharger les données IGN de la base de donnés « ALTI » sur https://geoservices.ign.fr/bdalti .. tip:: disponibles à une résolution de 25 m. Il n’est pas utile dans CWatM de récupérer les données IGN à une résolution de 1 m (« RGE ALTI ») Ces données sont téléchargeables par département et sont décomposées en **tuiles rectangulaires**. Il est d’abord nécessaire **d’identifier** les départements touchés par la zone d’étude puis **télécharger** les |MNT| pour ces départements. On peut utiliser la carte :download:`departements-20220101-shp.zip` pour visualiser les départements concernés. Formatage ~~~~~~~~~~~~~ Une fois les |MNT| départementaux téléchargés, il est nécessaire de **sélectionner**, **fusionner** et **découper** les tuiles d’intérêt sur la zone voulue. Avec la boîte à outils, cela peut être fait automatiquement : 1. Il faut au préalable **regrouper** tous les fichiers dans un **même dossier** .. note:: il est normal qu’un certain nombre de tuiles soient ignorées/remplacées, du fait des doublons 2. Exécuter dans *Spyder* : .. code:: python pgi.formater(r"", 'ALTI', mask = r"", resolution = [200, 1000], dst_crs = , # 27572 par exemple (LambertZone II) x0 = 0, y0 = 0, # coordonnées d'alignement, au choix ) 3. Ce script génère : - un MNT fusionné et découpé selon le masque, dans la résolution et le |SCR| d'origine des données IGN - des MNT reprojetés dans le |SCR| et les résolutions spécifiées - des cartes de direction d'écoulement (|LDD|) - des cartes d'écart-type des altitudes (utilisées pour le calcul sous-maille du ruissellement de surface selon la formule d'Arno) .. admonition:: Développement futur Il est envisagé de rajouter la génération d'une carte représentant les aires des pixels. En effet, pour les **systèmes de projection conformes**, les aires ne sont pas conservées et peuvent ainsi varier d'un pixel à l'autre. Il est alors nécessaire d'indiquer cette donnée dans les paramètres de CWatM. À noter que pour des systèmes de projection conformes comme le Lambert 93 (epsg:2154), cet écart est minime (< 1%). Une fonction existe déjà (:func:`geohydroconvert.cell_area`) mais ne permet pas encore de fournir l'aire réelle. Ces fichiers seront générés dans le dossier des fichiers source sous les noms *ALTI_CWATM_<...>.tif*, *LDD_CWATM_<...>.tif* et *ElevationStD_CWATM_<...>.tif*. .. tip:: Classiquement, les fichiers de |MNT| sont à placer dans le dossier *landsurface\topo\\* tandis que les fichiers de |LDD| sont à placer dans le dossier *routing\\*. Ils correspondent respectivement aux paramètres ``Elevation`` et ``Ldd`` de CWatM. Masque de la zone d'étude ---------------------------- Il est nécessaire de fournir à CWatM un masque de la zone d'étude, dans la résolution et le |SCR| choisis pour le projet. La fonction :func:`geohydroconvert.extract_watershed` facilite la chose en permettant d'extraire automatiquement les délimitations d'un |BV| topographique à partir des coordonnées de son exutoire. Pour cela : .. code:: python shed = ghc.extract_watershed( ldd = r"", outlet = (290500, 1840500) ) ghc.export(shed, r"", first_year = , last_year = , mask = r"", filetype = 'nc', ) Formatage ~~~~~~~~~~ Exécuter : .. code:: python ttbox.formater(data = r'', data_type = 'SIM2', mask = [r'', r''], # dst_crs = , resolution = , resampling = 5, ) Projections DRIAS --------------------- Téléchargement manuel ~~~~~~~~~~~~~~~~~~~~~~~ Les projections (passées et futures) des données climatiques françaises sont en accès libre sur le site `https://www.drias-climat.fr `_ > ``DONNÉES ET PRODUITS`` : 1. Il est d’abord nécessaire de se créer un compte. 2. Une fois sur l’espace de téléchargement : - aller dans l’onglet ``Accès simplifié (domaine complet)`` - dans le répertoire ``📁 EXPLORE2-Climat 2022`` - sélectionner le jeu de données ``📄 Données corrigées EXPLORE2-Climat par ADAMONT`` - en cliquant sur la 1\ :sup:`re` ligne, cela sélectionne les données pour les 17 modèles - parmi les ``Scénarios``, sélectionner : ``Hist.``, ``RCP4.5``, ``RCP8.5`` - parmi les ``Paramètres``, sélectionner : ``prtot``, ``prsn``, ``tas`` et ``etp Hg`` .. important:: Pour la suite il est requis de regrouper ces téléchargements par modèle : - 📁 *Model1\\* - 📁 *Model2\\* - ... Formatage ~~~~~~~~~~~~~ Exécuter : .. code:: python ttbox.formater(data = r'', data_type = 'DRIAS-Climat 2022', # ou 'DRIAS-Eau 2024' mask = [r'', r''], # dst_crs = , resolution = , resampling = 5, ) .. note:: les 3 derniers paramètres sont nécessaires seulement si l’on veut reprojeter les données climatiques Cette étape permet de **raccourcir le nom** des fichiers NetCDF DRIAS, de les **corriger** (notamment conversion des unités mm/s → m/j), de les **géoréférencer** (notamment en les standardisant pour une lecture automatique dans QGIS), de les **découper** selon les masques renseignés et éventuellement de les **reprojeter**. De plus, un fichier sur-compressé est généré (les données DRIAS sont déjà compressées sans pertes avec l’encodage gzip, mais une sur-compression avec pertes (packing float32 bits → int16 bits) est appliquée), de manière à avoir une version très compacte et rapide à charger dans QGIS des données à l’échelle de la France. .. note:: Cette étape de formatage peut prendre plus de 1 min 1/2 en moyenne par fichier de données climatiques, donc plusieurs heures pour l’ensemble des projections DRIAS. Données de sol ================= Notions importantes ---------------------- CWatM schématise le sol en le découpant en 3 couches : 1. une fine couche **superficielle** de 5 cm 2. une couche **racinaire** dans laquelle les plantes puiseront l’eau qu’elles transpirent 3. une couche **profonde** dans laquelle la présence de racines est négligée Pour chacune de ces couches, il est nécessaire de renseigner plusieurs paramètres : - la **teneur volumétrique en eau à saturation**, ainsi que **résiduelle**, qui serviront à définir la capacité de stockage du sol [1]_, c’est-à-dire le volume d’eau pouvant varier dans le sol - la **conductivité à saturation** (:math:`K_{sat}`), le paramètre lié à la pression d’entrée d’air :math:`\alpha` et l’\ **indice de répartition des tailles des pores** (:math:`\lambda`), qui serviront à estimer la courbe de rétention [2]_, c’est-à-dire la relation qui lie la teneur volumétrique en eau et le potentiel hydrique - NB : il n’y a pas de relation directe entre l’indice de répartition des tailles des pores et la porosité - cette courbe de rétention va permettre ensuite d’estimer : 1. les teneurs en eau à la capacité au champ [3]_ (:math:`pF=2` dans la version originale de CWatM, :math:`pF=2.5` dans la version PAGAIE) ainsi qu’au point de flétrissement permanent [4]_ (:math:`pF=4.2`) 2. la conductivité non-saturée du sol à chaque instant en fonction de la teneur en eau Les données de ces 3 couches serviront à la modélisation des prairies *(et cultures non-irriguées?)*, rizières et cultures irriguées. Dans un but de simplification, une profondeur de couche racinaire de **25 cm** (30 cm moins les 5 premiers cm) est appliquée uniformément au bassin versant. Cette valeur est une profondeur assez généraliste pour décrire la zone où se situent la majorité des racines des plantes de prairies et de cultures. Il reste néanmoins possible d’augmenter la profondeur de cette couche pour les rizières et les cultures irriguées grâce aux données ``maxRootDepth``. Dans ce cas, les valeurs des paramètres du sol indiquées pour la couche racinaire initiale seront appliquées à la couche racinaire approfondie. .. note:: Dans le cas des forêts, il est possible de définir une ``maxRootDepth`` ainsi que des paramètres de sol **spécifiques** aux forêts, de manière à ajuster avec plus de précision la couche racinaire des forêts. Données de couvertures des sols =================================== Données de prélèvements ========================== Pour les usages, il est possible d’utiliser les données recensées dans la Banque Nationale des Prélèvements en Eau (|BNPE|). .. code:: python # Download BNPE data dl.bnpe(dst_folder = r"", years = [y for y in range(2008, 2023)], departments = [73, 74], filetype = ['csv', 'geojson'], ) # Combine, merge, clip, reproject and rasterize data pgi.formater(r"\originaux", data_type = "BNPE", mask = [r"path\to\catchment.shp", r"path\to\others\masks.shp"], resolution = [200, 1000], x0 = 0, y0 = 0, # for NetCDF conversion dst_crs = 27572, ) Lancer CWatM ================ Simuler les limites du BV [obsolète] --------------------------------------------- Pour générer automatiquement le masque du |BV| il est possible d'utiliser CWatM : 1. ouvrir le fichier *current.txt* 2. remplacer le contenu par : ``maskmap`` 3. lancer *run.bat* Le masque ainsi généré se trouvera dans le dossier Notes de bas de page ====================== .. [1] La capacité de stockage du sol est la différence entre la teneur en eau à saturation, c’est-à-dire lorsque toute la porosité du sol est saturée, et la teneur en eau résiduelle, qui correspond à une teneur en eau en-dessous de laquelle le sol ne descend quasiment jamais .. [2] La courbe de rétention de l’eau du sol relie la teneur en eau du sol, exprimée en rapport de volume d’eau sur le volume apparent de sol, et le potentiel matriciel du sol qui correspond à l’énergie potentielle liée aux forces de capillarité et d’adsorption entre l’eau et les particules de sol. .. [3] La capacité au champ correspond à la quantité d’eau d’un sol préalablement saturé après son réessuyage, c’est-à-dire après avoir laissé s’égoutter complètement le sol, de sorte que seule l’eau retenue par capillarité reste dans le sol. .. [4] Le point de flétrissement permanent correspond à une quantité d’eau qui ne peut plus être extraite par les plantes. .. |BNPE| raw:: html BNPE .. |BV| raw:: html BV .. |LDD| raw:: html LDD .. |MNT| raw:: html MNT .. |SCR| raw:: html SCR .. |IDE| raw:: html IDE .. # define a hard line break for HTML .. |br| raw:: html
.. |nbsp| unicode:: 0xA0 :trim: