Différences entre versions de « NEMO@POLR »

De POLR
Sauter à la navigation Sauter à la recherche
Ligne 67 : Ligne 67 :
  
 
[[Category:NEMO]]
 
[[Category:NEMO]]
 +
[[Category:Modèles numériques]]

Version du 6 juin 2017 à 15:01

Introduction

Ce document vise à documenter l’utilisation de NEMO sur la grappe de calcul Mingan à l’UQAR. Plusieurs des informations proviennent de site officiel de NEMO.

Certain programmes/utilitaires doivent être installé avec d’utiliser NEMO.

Compilation FORTRAN avec Ifort

Afin de pourvoir compiler avec Parrallel Studio, des variables d’environnement doivent être définies. Elles peuvent être ajoutées à votre ~/.bash_profile.

  • export INTEL_LICENCE_FILE=/share/apps/intel/licenses/lincense.lic
  • source /share/apps/intel/parallel_studio_xe_2015/bin/psxevars.sh

Installer NEMO avec FCM (depuis nemo_V3_3)

NEMO utilise un outil de gestion de code basé sur SVN, FCM (Flexible Configuration Manager, developped at UKMO ©Crown Copyright 2005-10). Pour l’instant, FCM est installé dans /home/sennevil/projects/fcm. Pour l’utiliser, il faut définir des variables d’environnement (peuvent être ajoutées dans le fichier .bash_profile):

  • PATH=$PATH:/home/sennevil/projects/fcm/bin
  • FCM=/home/sennevil/projects/fcm/
  • export FCM

Extraire le code de NEMO

Il faut lancer la commande SVN suivante pour extraire le code de NEMO:

Pour ce faire, vous devez avoir un compte pour nemo-ocean.eu. Si vous n’en avez pas, vous pouvez en faire la demande à l’adresse suivante : http://www.nemo-ocean.eu/user/login Vous avez maintenant le code de NEMO v.3.6 STABLE.

Extraire le code de XIOS 1.0

XIOS est un serveur pour gérer les sorties de NEMO. Pour extraire le code et installer XIOS 1.0, vous devez suivre les étapes à l’adresse suivante : http://www.nemo-ocean.eu/Using-NEMO/User-Guides/Basics/XIOS-IO-server-installation-and-use Une version du code est déjà installée sur Mingan. XIOS est installé dans /home/sennevil/projects/xios-1.0/. Afin de l’utiliser une nouvelle variable d’environnement doit également être définie (peut être ajoutée dans le fichier .bash_profile)

  • source /home/sennevil/projects/xios-1.0/bin/fcm_env.ksh

Compiler et créer un NEMO exécutable

Le script principal pour compiler et créer NEMO est appelé makenemo et situé dans le répertoire CONFIG. Voici un exemple avec la configuration GYRE. GYRE à l’avantage que les champs initiaux et les forçages sont analytiques, il ne nécessite donc aucuns fichiers d’intrant.

  • cd NEMOGCM/CONFIG;
  • ./makenemo –m mpiifort_linux –r GYRE -n MY_GYRE

Cependant, vous devez préalablement avoir ajouté le fichier arch-mpiifort_linux à votre répertoire NEMOGCM/ARCH/. Dans le cas contraire vous aurez un message d’erreur indiquant : Compiler not existing. Ce fichier est disponible sur : /home/sennevil/projetcs/NEMOGCM/ARCH/arch-mpiifort_linux.fcm Vous avez alors un répertoire nommé NEMOGCM/CONFIG/MY_GYRE/. Ce répertoire vous permet de lancer une expérience basé sur GYRE, une configuration de base de NEMO. Il ne reste qu’à créer votre lanceur pour qsub. Un exemple de fichier existe sur Mingan dans : /home/sennevil/projects/NEMOGCM/MY_GYRE/EXP00/lanceur.pbs.

Créer un nouvelle CONFIG dans NEMO

Par exemple, créons une CONFIG pour le domaine du golfe du Saint-Laurent GSL5km basé sur le configuration de MoGSL. Les étapes nécessaires

  • 1.Créer un répertoire pour la nouvelle configuration
-cd NEMO-code/NEMOGCM/CONFIG
-mkdir GSL5KM
  • 2.Créer un fichier permettant à FCM de faire la compilation et la construction du l’exécutable.

Ce fichier doit contenir toutes les informations sur les clefs de précompilation pour NEMO (et CICE ?). Dans la version du CMC, ces clefs se retrouvent dans BB_make.ldef. La définition de toutes les clefs se retrouve à l’adresse suivante : http://www.nemo-ocean.eu/Using-NEMO/User-Guides/Basics/cpp-keys-v3_4

  • 3.Ajouter les fichiers de code source relatif à la nouvelle configuration dans CONFIG/GSL5KM/MY_SRC/.

Aucun code pour le moment.

  • 4.Déterminer les paramètres de la grille de la nouvelle configuration

Ces paramètres sont déterminés dans les fichiers CONFIG/GSL5KM/EXP00/namelist_cfg et CONFIG/GSL5KM/EXP00/namelist_ref.

  • 5.Ajouter la nouvelle configuration à cfg.txt

Le fichier se retrouve dans CONFIG/cfg.txt

  • 6.Compilation

Pour générer la nouvelle configuration MY_GSL5KM à partir de GSL5KM :

-./makenemo –r GSL5KM –n MY_GSL5KM

Pour compiler la configuration MY_GSL5KM par la suite :

-./makenemo –n MY_GSL5KM –m mpiifort_linux

L’option –m “compiler” choisi les options dans le fichier ARCH/arch_‘’compiler”.fcm

  • 7.Génération de la bathymétrie
-a.Coordinates.nc
-b.Bathy_meter.nc
  • 8.Génération de la condition initiale : salinité et température
  • 9.Génération des conditions frontières : salinité, température et niveau d’eau
  • 10.Génération des fichiers de rivières
  • 11.Changer le fichier namelists pour refléter les changements dans les forçages.