Mise en place d'une simulation en Méditerranée Occidentale (MedOcc) avec ROMS_AGRIF passage du 1/5 ième au 1/10 ième de degrés fichiers roms_avg mensuels sorties journalières extraction de sous-domaine v0 1 Création des fichiers nécessaires à la simulation Cette étape nécessite d'avoir le logiciel Matlab et les RomsTools installés sur la machine où on envisage de mettre en place la simulation (et de la faire tourner). 1.1 Les RomsTools 1.2 fichiers paramètres romstools_param.m : (Roms_tools/Run) est un fichier interprétable par le logiciel Matlab. Il contient les paramètres qui définissent la simulation. Pour le passage d'une simulation du 1/5ième au 1/10ième. Il faut simplement remplacer la valeur de la variable «dl = 1/5;» par «dl = 1/10;». Lorsque ce fichier a été modifié on lance le logiciel matlab et on soumet la commande «make_config» en vérifiant au préalable le contenu du fichier make_config.m qui se trouve dans le répertoire Roms_tools/Run. On doit y trouver les commandes suivantes : start make_grid make_forcing make_clim make_biol 1.3 Création des fichiers de données pour la simulation La soumission de la commande «make_config» va générer la création des fichiers de données nécessaires à la soumission d'une simulation ROMS. En premier lieu c'est la grille et ces paramètres qui vont être calculés et stockés dans un fichier (Roms_tools/Run/ROMS_FILES/roms_grd.nc). Il est important de noter le nombre de points de grille en longitude et en latitude que la grille finale aura. Pour le 1/5ième, nous avions : 109 en longitude et 73 en latitude Pour le 1/10ième, nous avons : 219 en longitude et 147 en latitude Nous gardons le même nombre de niveaux verticaux à 20. Grima.Nicolas@univ-brest.fr 1/6
Lors de la création de la grille, on peut intervenir pour modifier le fichier masque. Je conseille de la faire pour masquer le bout du Golfe de Gascogne, de la mer Adriatique, les lacs salés de Chott Melrhir en Algérie (à -40m au dessous du niveau de la mer) et Chott el-jérid en Tunisie. Pour cela on répond «y» (pour yes) à la question posée par le programme. Une interface graphique s'ouvre avec une figure sur la gauche représentant les points Terre (en vert) et les points Mer (en bleu). Sur la gauche une barre avec la possibilité de sélectionner des options de comportement des cliques de souris. On sélectionnera les boutons «Set land» et «Area edit». On transforme les points Mer décrits ci-dessus en points Terre très rapidement. Grima.Nicolas@univ-brest.fr 2/6
Puis on clique sur le bouton «Save» et ensuite «Exit». Il faudra également appuyer sur le bouton «Entrée» de son clavier après que la fenêtre de l'éditeur de grille se soit fermé. Le programme continue normalement et crée l'ensemble des fichiers de données nécessaires à la simulation dans le répertoire Roms_tools/Run/ROMS_FILES. Le détail de ces fichiers est décrit cidessous. 1.4 fichiers de données Les fichiers de données sont présents dans le répertoire Roms_tools/Run/ROMS_FILES. Si ce n'est pas le cas veuillez vous reporter aux chapitres précédents. roms_grd.nc : fichier grille roms_frc.nc : fichier de forçage roms_clm.nc : fichier contenant les climatologiques (frontières ouvertes) roms_ini.nc : fichier contenant l'état initial de la simulation. 2 Compilation des codes source de ROMS_AGRIF Roms_Agrif : est un répertoire. Il est présent dans le répertoire Roms_tools. On y trouve tous les codes sources de l'application ROMS_AGRIF. Dans le cas de la simulation de la méditerranée occidentale on trouve des modifications apportées par Dalila (?). Parmi ces modifications, il faut faire attention dans le Grima.Nicolas@univ-brest.fr 3/6
fichier main.f que les fichiers ke12, kp12 et pe12, qui vont être ouvert par le programme roms, soient référencés de la façon suivante : open(1,file='./ke12') open(2,file='./pe12') open(3,file='./kp12') cppdefs.h : c'est un fichier dans lequel les paramètres de la simulation sont codés sous la forme de clés CPP. Lors du passage du 1/5ième au 1/10ième il n'y pas besoin de le modifier. param.h : c'est également un fichier contenant des caractéristiques techniques de la simulation. Il est très important de vérifier et de modifier si nécessaire les valeurs des variables suivantes : 1/5 : parameter (LLm0=109, MMm0=73, N=20) 1/10 : parameter (LLm0=219, MMm0=147, N=20) jobcomp : le fichier jobcomp est un scrip shell avec lequel on va compiler les codes sources de ROMS_AGRIF. Il ne doit pas être modifié entre la version 1/5ième et 1/10ième. En revanche d'une machine à l'autre ou d'un site à l'autre se fichier sera à revoir. En particulier ce fichier adapté aux machines du LPO ne fonctionnera pas sur d'autres machines en particulier sur le site tunisien. 3 Lancement d'une simulation On lance une simulation ROMS_AGRIF en se plaçant dans le répertoire Roms_tools/Run et en soumettant la ligne de commande :./run_roms.csh > & run_roms_output_vx.txt Chaque fichiers et répertoires nécessaires au lancement d'une simulation sont détaillés ci-dessous : ROMSFILES : répertoire contenant les fichiers de forçages (roms_frc.nc), de climatologie (roms_clm.nc), des conditions initiales (roms_ini.nc) et de la grille (roms_grd.nc). Ces fichiers ont été générés à l'aide des RomsTools et de Matlab (voir chapitre ci-dessus). SCRATCH : le répertoire où la simulation va avoir lieu et où les résultats seront stockés (ex. : roms_avg_yxmx.nc). Il faut créer ce répertoire si il n'existe pas au départ de la simulation. Attention si d'autres fichiers résultats sont présents dans ce répertoire, ils seront écrasés par la nouvelle simulation. roms : fichier exécutable qui est obtenu après compilation des codes sources du modèle ROMS_AGRIF (voir chapitre ci-dessus). Il se trouve dans le répertoire Roms_tools/Run et doit avoir les droits UNIX nécessaires pour être exécuté (chmod 755 roms). roms_inter.in : fichier dans lequel se trouve les paramètres de la simulation ROMS (voir détails plus ci-dessous) run_roms.csh : fichier de soumission de la simulation (voir détails ci-dessous). roms_inter.in : c'est un fichier transitoire qui permettra de générer le fichier roms.in qui sera utilisé par l'exécutable roms. Dans ce fichier le script shell «run_roms.csh» remplacera la variable NUMTIMES par le nombre de pas de temps pour un mois en fonction de la valeur du «dt[sec]». Attention ici à avoir une parfaite correspondance entre la valeur du «dt[sec]» du fichier «roms_inter.in» et la valeur de la variable «DT " du fichier script «run_roms.csh». Les autres paramètres sont à ajuster comme on pouvait le faire précédemment. Au 1/5 : dt = 2400 Au 1/10 : dt = 1080 run_roms.csh : est un fichier dit «script shell». Les paramètres pouvant être modifiés sont : DT (déjà vu Grima.Nicolas@univ-brest.fr 4/6
ci-dessus), NY_START, NY_END, NM_START, NM_END, EXTRACT, MIN_xi_rho, MAX_xi_rho, MIN_eta_rho et MAX_eta_rho. Les paramètres Y_START, NY_END, NM_START et NM_END permettent de définir les dates de début et de fin en terme d'année(s) et de mois de la simulation. Par exemple si nous mettons : set NY_START=1 set NY_END=1 set NM_START=1 set NM_END=12 La simulation ROMS tournera 12 fois un mois (= 1 an). Nous aurons des fichiers résultats pour chaque mois de l'année 1 sous la forme roms_avg_y1m1.nc, roms_avg_y1m2.nc,..., roms_avg_y1m12.nc. Si on désire poursuivre cette simulation une année de plus on modifiera ces paramètres de la façon suivante : set NY_START=2 set NY_END=2 set NM_START=1 set NM_END=12 et ainsi de suite. On peut envisager de lancer directement 15 années de simulation à partir de l'instant initial : set NY_START=1 set NY_END=15 set NM_START=1 set NM_END=12 Les paramètres EXTRACT, MIN_xi_rho, MAX_xi_rho, MIN_eta_rho et MAX_eta_rho permettent d'extraire un sous domaine des fichiers résultats, permettant ainsi de réduire la quantité de données à la suite d'une simulation. Attention, il faut que les outils NCO (http://nco.sourceforge.net/) soient installés sur la machine où vont être lancées les simulations ROMS. Le script run_roms.csh utilise la commande ncks de NCO. Si EXTRACT=1 alors il y aura extraction d'un sous domaine. Pour tout autre valeur différente de 1, il n'y aura pas d'extraction. La commande ncks travaille sur les dimensions que l'on retrouve dans les fichiers NetCDF. Dans le cas de nos simulations ROMS, nous travaillerons sur les dimensions xi_rho, eta_rho (et nous en déduirons automatiquement les valeurs limites pour xi_u et eta_v). Il n'est pas possible de définir les limites du domaine sous forme de coordonnées géographiques en longitude et latitude. Seules les dimensions en terme d'indices peuvent être utilisées :-( Par exemple dans le cas d'une simulation au 1/5, xi_rho=111 et eta_rho=75. Nous pouvons extraire un sous domaine en précisant des valeurs de la façon suivante : set MIN_xi_rho=30 set MAX_xi_rho=80 set MIN_eta_rho=20 set MAX_eta_rho=50 4 Les résultats Les résultats d'une simulation se retrouvent dans le répertoire Roms_tools/Run/SCRATCH. Si dans le script de soumission de la simulation nous avons mis EXTRACT=1, il faudra penser à générer un fichier roms_grd.nc en accord avec les résultats réduits au même sous-domaine. Pour cela on utilisera la commande ncks des outils NCO de la façon suivante : ncks -d xi_rho,min_xi_rho,max_xi_rho \ -d xi_u,min_xi_u,max_xi_u \ -d xi_v,min_xi_rho,max_xi_rho \ Grima.Nicolas@univ-brest.fr 5/6
-d xi_psi,min_xi_u,max_xi_u \ -d eta_rho,min_eta_rho,max_eta_rho \ -d eta_u,min_eta_rho,max_eta_rho \ -d eta_v,min_eta_v,max_eta_v \ -d eta_psi,min_eta_v,max_eta_v \ roms_grd.nc roms_grd_reduc.nc où les valeurs de MIN_xi_rho, MAX_xi_rho, MIN_eta_rho et MAX_eta_rho doivent être identiques aux valeurs du fichier run_roms.csh. On appliquera la régle suivante pour définir les valeurs de MIN_xi_u, MAX_xi_u, MIN_eta_v et MAX_eta_v : MIN_xi_u=MIN_xi_rho MAX_xi_u=MAX_xi_rho - 1 MIN_eta_v=MIN_eta_rho MAX_eta_v=MAX_eta_rho 1 Voici un exemple en accord avec l'exemple du chapitre précédent : ncks -d xi_rho,30,80 -d xi_u,30,79 -d xi_v,30,80 -d xi_psi,30,79 -d eta_rho,20,50 -d eta_u,20,50 -d eta_v,20,49 -d eta_psi,20,49 roms_grd.nc roms_grd_reduc.nc Grima.Nicolas@univ-brest.fr 6/6