Tutorial pour les nouveaux utilisateurs de Méso-NH |
Méso-NH est un modèle atmosphérique de recherches développé conjointement par le CNRM-GAME et le Laboratoire d'Aérologie de Toulouse. C'est un modèle non hydrostatique et anélastique qui permet de simuler les mouvements atmosphériques allant de la méso-échelle (~1000 km) jusqu'à une fine échelle de l'ordre du mètre. Démarrer avec Méso-NH, comme pour tout modèle numérique peut paraître chronophage notamment au cours de la compilation et la configuration de l'environnement du modèle... Il est pourtant nécessaire d'effectuer ces étapes proprement. Afin de faciliter la tâche aux futurs utilisateurs de Méso-NH, ce document se décline en deux étapes : - Compilation et configuration de Méso-NH sur ClimServ - Une brève présentation de l'élaboration d'une simulation Méso-NH via un cas test réel. Il est cependant important de souligner que ce tutorial ne remplace en aucun cas les journées de formation proposées par la communauté des développeurs chaque semestre. Pour plus d'informations relatives à Méso-NH, ses mises à jour ainsi que ses nouvelles versions (une nouvelle version est en général disponible tous les 1-2 ans), veuillez consulter le site web du modèle: http://mesonh.aero.obs-mip.fr/
Compilation / configuration de Méso-NHCe tutorial décompose les différentes étapes de compilation et configuration du modèle numérique Méso-NH via le compilateur Intel Fortran (IFORT) sur Climserv . Au préalableSélectionner IFORT comme compilateur MPI (cf ici) mpi-selector --yes --user --set openmpi-1.4.3-ifort-x86_64 Les commandes suivantes fonctionnent sous SHELL sh ou bash. Si le SHELL par défaut est csh ou tcsh, se placer sous bash : bash Afin d'éxecuter Méso-NH en mode MPI, il est nécessaire d'augmenter la limite par défaut du stacksize. Pour ce faire, créer par exemple, un fichier nommé UNLIMITED comprenant l'instance permettant d'augmenter la limite du stacksize. Il est important de ne pas utiliser l'option unlimited mais d'opter pour une large valeur du stacksize comme ci-dessous: # créer un fichier nommé UNLIMITED dans le répertoire bin sous $HOME: Télécharger le code- Pour les utilisateurs de laboratoires non signataires de la licence Méso-NH (i.e. autres que LMD, LATMOS, LSCE), il est nécessaire de remplir et retourner un formulaire de contrat de licence accessible par le lien: http://mesonh.aero.obs-mip.fr/mesonh410/UserInformation afin de pouvoir télécharger le code de Méso-NH (celui-ci est accessible gratuitement). A noter qu'il est prévu que les prochaines versions du code soient distribuées librement sous licence CeCILL-C.
- Après enregistrement en tant qu'utilisateur Méso-NH, en transmettant le numéro IP de votre poste à Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir , le code est téléchargeable à partir http://mesonh.aero.obs-mip.fr/mesonh410/Download . - Récupérer le fichier compressé sous l'entête désignée par « Install Méso-NH with a tar file » et le transférer sur ClimServ. Nous supposons par la suite que le fichier compressé est nommé PACK-MNH-VX-Y-Z.tar.gz et qu'il est placé sous $HOME sur ClimServ. - Décompresser le fichier: cd $HOME - Puis changer les lettres X-Y-Z du dossier généré en rapport avec la version de Méso-NH utilisée, à titre d'exemple la commande suivante renomme le dossier MNH-VX-Y-Z en MNH-V4-10-1, considérant la version V4-10-1 de Méso-NH : mv MNH-VX-Y-Z MNH-V4-10-1 Nous nous considérerons par la suite dans la configuration de l’installation de la version V4-10-1 de Méso-NH et nous placerons dans le dossier MNH_Version=$HOME/MNH-V4-10-1. Néanmoins l'installation d'une autre version de Méso-NH s'effectue identiquement. A noter que les instructions de l'installation décrites ci-dessous sont aussi disponibles en anglais dans le fichier A-INSTALL placé dans le dossier MNH_Version. Configuration de l'environnement Méso-NHLa configuration suivante est basée sur la compilation du code via IFORT en mode MPI. - Positionner les variables par les commandes suivantes: export ARCH=${ARCH:-LXifort} - Après avoir sauvé les modifications, toujours dans le même dossier, exécuter la configuration : cd $MNH_Version/src Cette exécution génère un fichier profile_mesonh-LXifortI4-MNH-V4-10-1-MPIAUTO-02 dans le dossier $MNH_Version/conf. A NOTER : l'extension de ce fichier LXifortI4-MNH-V4-10-1-MPIAUTO-02 résume les différents choix de configuration effectués à l'étape précédente. - Exécuter ce nouveau fichier : . $MNH_Version/conf/profile_mesonh-LXifortI4-MNH-V4-10-1-MPIAUTO-02 Compilation- Après avoir effectué la configuration de l'environnement Méso-NH, lancer la compilation dans le dossier $MNH_Version/src: cd $MNH_Version/src !!! Dans ce cas, seuls 2 processeurs sont utilisés pour la compilation, leur nombre peut bien évidemment être augmenté ce qui accélérera la compilation. - Enfin il est nécessaire d'installer les nouveaux exécutables dans le répertoire $MNH_Version/exe : cd $MNH_Version/src Tester quelques cas exemples de runIl est souhaitable au préalable de lancer quelques cas tests. Ceux-ci sont disponibles dans $MNH_Version/MY_RUN/KTEST Pour chaque cas test, se placer dans le dossier correspondant et lancer le script nommé run_nomdutest, exemple: cd $MNH_Version/MY_RUN/KTEST/001_2Drelief Veuillez vérifier au préalable que dans chaque script run contenu dans chaque sous dossier de l'exemple, l'exécution de l'instance se fasse en MPI i.e. : time ${MPIRUN} nom_de_l'exécutable
Mise en oeuvre d'une simulation Méso-NHUn documentation très complète sur la modélisation Méso-NH est accessible via les différents liens : - Tutorial (http://mesonh.aero.obs-mip.fr/mesonh410/MesonhTutorial?action=AttachFile&do=get&target=doc_francais.pdf) - Guides et documentation scientifiques (http://mesonh.aero.obs-mip.fr/mesonh410/BooksAndGuides)
Exécution du cas testLes scripts suivants sont exécutés en mode batch sur le cluster (voir article ici ). Lors de l'exécution, le nombre de noeuds (spécifié par nodes dans l'instance ci-dessous) et de processeurs par noeud (spécifié dans ppn) requis sont indiqués au début de chaque job via l'instruction PBS: #PBS -l "nodes=2:ppn=2"
Dans cet exemple, la commande mpirun lancera 4 instances de Méso-NH en parallèle. #PBS -q day
Ici le temps maximum alloué au job est de 24 heures, pour plus de détails voir le présent article . qsub nom_du_script.job Les étapes nécessaires à l'élaboration d'une simulation Méso-NH
- L'étape « PRE_PGD » Exécuter le calcul par le du fichier prpgd.job : qsub prpgd.job Ce job va générer une namelist nommée PRE_PGD1.nam , il est important de signaler que cette dénomination doit être maintenue car PRE_PGD1.nam est directement pointé par l'exécutable.
- L'étape « PREP_REAL_CASE » Exécuter le calcul par le biais du job preal.job : qsub preal.job De la même manière que pour l'étape PRE_PGD, le nom de la namelist générée PRE_REAL1.nam ne doit pas être changé.
- L'étape « MODEL» qsub mmodel.job
Cette procédure permet la création d'une namelist EXSEG1.nam dont le nom ne doit pas être changé identiquement aux autres étapes. La simulation de cette exemple est segmentée en deux parties de chacune 21600s. Les fichiers de sortie sont nommés PLW01.1.SEG01.001.des, PLW01.1.SEG01.001.lfi, PLW01.1.SEG01.002.des et PLW01.1.SEG01.002.lfi pour le premier segment – identiquement en changeant SEG01 par SEG02 pour le deuxième segment.
- L'étape « DIAGNOSTIQUE»
- Visualisation des résultats
Exécution d'une instance en mode intéractifAvant toute exécution d'une des étapes définies précédemment, exécuter le fichier profile_mesonh-LXifortI4-MNH-V4-10-1-MPIAUTO-02 contenu dans le répertoire $MNH_Version/src: cd $MNH_Version/conf et se placer dans le dossier contenant l'instance à lancer. # L'exécution de l'étape PRE_PGD se fait par le biais de la commande: # Pour l'étape PREP_REAL_CASE: # Et pour l'étape MODEL:
|
|
Dernière mise à jour : ( 03-03-2014 ) |