GENERATION DU MAILLAGE ET DE LA BATHYMETRIE¶
La génération de la grille se fait avec le logiciel BMGTOOLS
http://wwz.ifremer.fr/mars3d/Les-outils/BathyMeshGridTOOLS
Il est composé de deux modules java distincts :
- CreateBMG pour la construction du maillage
- CheckBMG pour la retouche de la bathymétrie
Construction d’un maillage avec le module CreateBMG¶
En entrée du module CreateBMG il faut un fichier de traît de côte au format compatible (extension .line). Un exemple est fourni à cet endroit
/home11/caparmor/mars/BMGTOOLS_Data/france.line
Pour lancer le logciel se placer dans le répertoire create_bmg-5.0.0/ via un terminal et lancer l’exécutable java
./CreateBMG.sh
Etapes de création du maillage¶
- Définir un nouvea projet (Fichier => nouveau projet)
- Choisir un nom de projet et un acronyme pour le modèle
- Chosir son traît de côte (france.line)
- Rester en mode de création de grilles en Coordonnées géographiques(degrés)
- Construire une nouvelle grille à l’aide du bouton création de nouvelle grille situé dans la barre d’outil au dessus de la carte
La grille peut être définie par son nombre de mailles (selon i et j) ou par la taille des mailles
Note
Pour une taille de maille de grille en mètre choisir dans le menu déroulant Grille définie par choisir Taille de maille curviligne(mètres)
- La grille peut ensuite être modifiée de deux manières :
- En étirant interactivement les bords de la grille à l’aide du bouton Modifier la grille dans la barre d’outil. .. note :: attention au mode de modification qui permet de conserver soit la taille de la maille (donc augmenter ou diminuer le nombre de mailles) soit conserver le nombre de mailles. Dans ce cas c’est la taille des mailles qui est ajustée.
- En modifiant dans la fenêtre de gauche les caractéristiques de la grille :
- Sélectionner sa grille parmi les couches (fenêtre en haut à gauche)
- Choisir dans le menu déroulant du haut Dimensions curvilignes
- Modifier les limites Est/Ouest/Nord/Sud à la main si besoin
- Choisir le mode de modification Conserver le nombre de mailles ou Conserver la taille des mailles
- Cliquer sur le bouton Redimensionner
- Modifier si besoin la taille des mailles
- Cliquer sur le bouton Redimensionner
- Enregistrer le projet
Après l’enregistrement un répertoire avec le nom du projet est crée et contient les fichiers suivants :
- head.TEST : fichier head décrivant l’emprise et la résolution des grilles et qui sera lu par le modèle MARS
- TEST.glo : fichier utilisé par BMGTOOLS pour retrouver la projection, l’emprise et la taille des grilles
- RootGrid_Test.nc : fichier de grille au format Netcdf contenant les variables H0,HX,HY vides ie avant interpolation de la bathymétrie
See also
Pour plus d’info sur le module CreateBMG voir la documentation complete dans le répertoire create_bmg-5.0.0/documentation/IFR-BMGV5-D1B-Create-User-Manual-V5.0.0.pdf
Note
Exemple : voir exercice de formation Formation MARS3D
Interpolation de sondes bathymétriques sur la grille¶
L’étape suivant est de remplir le fichier Netcdf en interpolant des données de bathymétrie sur la grille du modèle. Ces interpolations sont gérées à l’aide de programmes en fortran et sont pilotés par un fichier namelist en entrée.
Plusieurs types d’interpolations existent :
- Le programme communément appelé INTERP_BATHY.exe qui permet de produire deux types d’interpolation :
- Interpolation d’un semi de point (lon,lat,z) vers la grille. C’est une interpolation de type nuage de points vers grille structurée. Dans la namelist ce module est appelé interp_sounding2grid. Il est utilisé typiquement à partir de sondes bathymétriques ou de relevés LIDAR qui ne sont pas déjà grillés.
- Interpolation grille à grille à partir d’un MNT (modèle numérique de terrain) vers la grille. Comme son nom l’indique, cette interpolation est utilisée quand le jeu de données est déjà grillé (ETOPO,GEBCO,MNT IFREMER ou bathy déjà existante)
- Un autre programme d’interpolation de sondes sur la grille existe. C’est un programme fortran mais qui utilise un algorithme de Krigeage et la notion de qualité de jeu de sondes. Il est nommé interpolation_sondes.exe et utilise une namelist différente du programme vu en 1.
Utilisation de INTERP_BATHY.exe¶
En entrée
/home1/caparmor/mcaillau/TOOLS/libs/marmo/Bathymetry/interp_bathy/trunk/INTERP_BATHY.exe
/home1/caparmor/mcaillau/TOOLS/libs/marmo/Bathymetry/interp_bathy/trunk/namelist
paramétrisation de la namelist¶
Choix du mode d’interpolation (sondes vers grille ou grille à grille)
Selon le choix remplir la section de la namelist correspondant et laisser les autres valeurs par défaut :
interp_soundings2grid
data_catalog : catalogue de sondes contenant la liste des fichiers de sondes au format sdg. Exemple
cat sondes.cat /home1/caparmor/spetton/MARS/FORMATION/BATHY/SONDES/MNT_100m_SHOM_IFREMER_ZH.sdg /home1/caparmor/spetton/MARS/FORMATION/BATHY/SONDES/MNT_LIDAR_10m_WGS84_GEO_ZeroHydro.sdg
grid_file : fichier Netcdf crée par le module CreateBMG (cf Construction d’un maillage avec le module CreateBMG)
coastfile : fichier de trait de côte au format exemple
/home11/caparmor/mars/BMGTOOLS_Data/france.line
nivmoypath : Fichier de niveau moyens au format ASCII
/home13/dedale/BATHY/NiveauxMoyens/niveaux_moyens_CST_FRANCE_24062009.nmoy
interp_grid2grid
data_catalog : liste de MNT au format netcdf. Exemple
cat mnt.cat /home13/dedale/BATHY/MNT/IFR_MBAN_MANCHEATL_100_02_R/BN-depth2010.mnt.bmg.nc /home13/dedale/BATHY/MNT/IFR_MBAN_MANCHEATL_100_02_R/BS-depth2010.mnt.etendu_nord_sud.bmg.nc
grid_file : cf interp_soundings2grid
nivmoypath : cf interp_soundings2grid
Warning
L’ordre des fichiers dans le catalogue de MNT est très important !!! Il faut mettre en premier les MNT à la résolution la plus haute
Warning
Pour le trait de côte dans le partie interp_grid2grid c’est celui de la section interp_soundings2grid qui est utilisé
Utilisation du programme de Krigeage¶
En entrée
/home1/caparmor/mcaillau/TOOLS/BATHY/INTERP_BMG/sound/namelist
/home1/caparmor/mcaillau/TOOLS/BATHY/INTERP_BMG/sound/interpolation_sondes.exe
Préparation du jeu de sondes avec indice de qualité¶
Les fichiers de sondes bathymétriques doivent posséder un indice de qualité pour chaque sonde (1 pour le meilleur et des indices croissants plus la qualité diminue)
Fichier de qualité moyenne
head /home1/caparmor/spetton/MARS/FORMATION/BATHY/SONDES/MNT_100m_SHOM_IFREMER_ZH.sdg -4.841002476 -4.190371783 48.050929917 48.566770237 WGS84 zero_hydro 124496 -4.841002476 48.050929917 4.310000000 5 -4.839711542 48.050929917 5.720000000 5 -4.838420608 48.050929917 5.740000000 5
Fichier de meilleure qualité (MNT LIDAR plus fine résolution)
head /home1/caparmor/spetton/MARS/FORMATION/BATHY/SONDES/MNT_LIDAR_10m_WGS84_GEO_ZeroHydro.sdg -5.067547448 -4.148677333 47.980455915 48.471360732 WGS84 zero_hydro 1482809 -5.055748700 48.057680463 23.438653959 1 -5.055735029 48.057590943 22.223798337 1 -5.055601496 48.057600107 21.683784277 1 -5.055467963 48.057609272 21.858770217 1
Regrouper ces fichiers dans un catalogue (peut importe l’ordre). Le programme va lire chaque sonde et son indice de qualité et définir par sous zones du domaine quel est le meilleur jeu de sondes disponible.
Paramétrisation de la namelist¶
Note
Dans l’algorithme de Krigeage on défini une fonction de répartition des points de sondes dans l’espace via leur covariance
Semi variogramme exponentiel : f( h ) = C( 1 - exp( -h/A ) )
Semi variogramme linéaire : f( h ) = C.h/A.
Editer la partie interp_soundings2grid :
catalogPath : chemin vers le catalogue de sondes
nivmoypath : chemin vers le niveau moyen
/home13/dedale/BATHY/NiveauxMoyens/niveaux_moyens_CST_FRANCE_24062009.nmoy
linecount : nombre de lignes de la grille de prétraitement (=-1 pour calcul auto)
columnCount : nombre de colonnes de la grille de prétraitement (=-1 pour calcul auto)
gridFile : Fichier Netcdf crée par BMGTOOLS
coastlineFile : même format et fichier que pour INTERP_BATHY
semiVariogrammType : type de semi variogramme pour l’algo de Krigeage : 0=exponentiel ; 1=lineaire
semiVariogrammFactorA : facteur A du semi variogramme (defaut=1.5)
semiVariogrammFactorC : facteur C du semi variogramme (defaut=10.5)
cellNumberDistance : Distance max en nombre de mailles de la grille de prétraitement autour du point où l’on veut faire l’interpolation pour la recherche de sondes (defaut=4)
neighborByPart : L’algo de Krigeage divise l’espace de recherche de sondes autour du pt d’intérêt en 4 parties. Dans chaque partie l’algo recherche la sonde la plus proche dans la grille de prétraitement. Cette variable définie le nombre maximum de sondes qui sont cherchées dans chaque partie. (defaut=3)
seaLongitude : longitude d’un point situé en mer (H0>0.). Dans l’algorithme un premier traitement est effectué pour savoir quelles mailles sont situées à terre ou en mer. Pour cela l’algo a besoin de partir d’une maille en mer. Si on met une longitude absurde (ex: -400), l’algo considère la première maille de la grille (i=0,j=0) en mer (sans vérifier). En précisant une longitude (pt le proche) d’un point en mer on s’assure du bon fonctionnement de l’algo.
sealatitude : latitude du point en mer (si latitude absurde on considère la première maille du modèle)
tidalfile : fichier de marée au format Netcdf qui utilise le niveau moyen pour définir le trait de côte. ce fichier n’est pas indispensable mais sert à définir mieux le trait de côte comme la côte z=-2*niv_moy
Lancement de l’exécutable¶
L’exécutable lit en entrée le fichier nommé namelist
./interpolation_sondes.exe
Retouche d’une bathymétrie avec le programme CheckBMG¶
Le module CheckBMG permet de retoucher un maillage bathymétrique une fois l’interpolation effectuée : * Soit pour retoucher les valeurs bathymétriques le long du traît de côte * Rajouter une digue ou autre ouvrage en définissant comme valeur à terre certaines mailles * Reboucher certains lacs crées (par erreur d’interpolation) à terre * Creuser des canaux pour mieux prendre en compte le débit des rivières
En entrée du module il faut :
- un fichier de traît de côte au format compatible line
- un fichier de grille au format Netcdf crée par CreateBMG
Pour lancer le logciel se placer dans le répertoire check_bmg-5.0.0/ via un terminal et lancer l’exécutable java
./CheckBMG.sh
- Après le lancement cliquer sur le bouton ouvrir un fichier de grille en haut à gauche de l’interface
- Une fenêtre apparait avec les choix suivants :
- Fichier de grille : allez chercher le fichier Netcdf crée par le module CreateBMG
- Fichier de traits de côte : aller chercher le fichier france.line (ou autre)
- Fichier de sondes : optionnel fichier de sondes (au format sdg) pour affichier des sondes par dessus la grille pour aide à la modification et pour vérifier le résultats de l’interpolation.
- Fichier rivière : NE MARCHE PAS
- Description du module :
- En bas à gauche un bouton Editer la barre de couleurs permet d’ajuster la palette
- En haut à droite un menu Mode d’affichage permet de basculer la visualisation en mode H0. Par défaut, c’est le mode HX/HY qui est utilisé car c’est celui là qui est utile pour faire des modifications
Warning
Le mode d’affichage H0 n’est valable que pour de la visualisation. Il ne faut pas modifier la bathy dans ce mode et il n’est pas mis à jour si l’on modifie en mode HX/HY
- Dans le volet de gauche, si on déroule le menu de la grille, il est possible de faire afficher les valeurs de grille
Outils de retouche
Un bouton est disponible dans la barre d’outil pour sélectionner son outil de retouche. 5 types de retouche sont disponibles et diffèrent par le mode de sélection des mailles:
- Point unique : on sélectionne un bord de maille (HX ou HY) à la fois et en tapant entrée on peut attribuer une nouvelle côte à cette maille.
- Séquence : on peut sélectionner plusieurs mailles de suite et leur attribuer une nouvelle côte
- Polyligne : permet de sélectionner plusieurs mailles en suivant une ligne par exemple le trait de côte
- Polygone : Sélection de plusieurs mailles selon un polygone
- Rectangle : Sélection de plusieurs mailles selon un rectangle
Note
Un historique des changements est conservé dans un fichier texte crée avec l’extension .history. Il est possible d’annuler un ou plusieurs changements via l’onglet Historique dans la barre de tâche.