Différences entre versions de « MOM - Modular Ocean Model »

De POLR
Sauter à la navigation Sauter à la recherche
m
Ligne 21 : Ligne 21 :
  
 
== Compiler le code ==
 
== Compiler le code ==
 
 
La compilation du code consiste à lire, interpréter, lier et condenser les routines fortran dans un fichier exécutable qui sera ensuite appelé par le script correspondant se trouvant dans le répertoire <tt>exp/</tt>. Le code source se trouve dans le répertoire <tt>src/</tt> qui contient les routines fortran (<tt>.F90</tt>)  classées selon les grandes composantes.  
 
La compilation du code consiste à lire, interpréter, lier et condenser les routines fortran dans un fichier exécutable qui sera ensuite appelé par le script correspondant se trouvant dans le répertoire <tt>exp/</tt>. Le code source se trouve dans le répertoire <tt>src/</tt> qui contient les routines fortran (<tt>.F90</tt>)  classées selon les grandes composantes.  
 
  atmos_*/        ! Ces répertoires contiennent les routines spécifiques au modèle atmosphérique et au
 
  atmos_*/        ! Ces répertoires contiennent les routines spécifiques au modèle atmosphérique et au
Ligne 43 : Ligne 42 :
 
  CM2.1p1_compile.csh        ! Compile le modèle couplé CM2.1p1
 
  CM2.1p1_compile.csh        ! Compile le modèle couplé CM2.1p1
  
Dans ces scripts, vous devez spécifier la variable <tt>platform</tt> réfère à l'extension des fichiers <tt>exp/environs.$platform</tt> et <tt>mkmf.template.$platform</tt>. Vous devez donc vous assurer que le contenu de ces fichiers correspondent bien à l'environnement de votre serveur. Si vous utilisez [[brandypot]], utilisez <tt>IFORT11_LINUX</tt>. Pour exécuter le modèle en parallèle sur plusieurs processeurs en mode mémoire distribuée spécifier <tt>MPI=1</tt>. Vous pouvez également choisir de compiler en allouant la mémoire de manière statique ou dynamique avec la variable <tt>static</tt>. En mode statique, vous devez alors spécifiez la taille des tableaux qui dépendra alors des dimensions de votre grille ainsi que du nombre et la taille des sous-domaines.
+
Dans ces scripts, vous devez spécifier la variable <tt>platform</tt> réfère à l'extension des fichiers <tt>exp/environs.$platform</tt> et <tt>mkmf.template.$platform</tt>. Vous devez donc vous assurer que le contenu de ces fichiers correspondent bien à l'environnement de votre serveur. Si vous utilisez [[brandypot]], utilisez <tt>IFORT11_LINUX</tt>. Pour exécuter le modèle en parallèle sur plusieurs processeurs en mode mémoire distribuée spécifier <tt>MPI=1</tt>. Vous pouvez également choisir de compiler en allouant la mémoire de manière statique ou dynamique avec la variable <tt>static</tt>. En mode statique, vous devez alors spécifiez la taille des tableaux qui dépendra alors des dimensions de votre grille ainsi que du nombre et la taille des sous-domaines. Toutes les autres variables devraient en principe rester inchangées.
  
 
== Configurer une expérience ==
 
== Configurer une expérience ==

Version du 4 avril 2013 à 13:30

Introduction

Le Modular Ocean Model (MOM) est la version contemporaine du modèle océanique canonique développé par Kirk Bryan et Mike Cox dans les années 1960 à 1980 duquel plusieurs autres modèles trouvent leurs origines. Ce code libre est aujourd'hui développé et maintenu par les chercheurs du Geophysical Fluid Dynamics Laboratory, à Princeton, ainsi que par une communauté internationale de chercheurs.

Guide d'utilisation

Un guide d'utilisation rendu disponible en ligne par le GFDL pour la version MOM4 est le premier document que vous devriez lire pour apprendre à utiliser MOM. Cette page contient une documentation pour les étapes particulières qui ne sont pas décrites par ce guide.

Obtenir le code

Pour obtenir le code mom4p1, vous devez d'abord avoir obtenu un accès à demeter. Ensuite, vous devez créer un répertoire de travail dans lequel le code sera téléchargé. Ce répertoire sera la racine du code. Le nom mom4p1 est fortement suggéré afin de faciliter la portabilité du code.

mkdir mom4p1
cd mom4p1

Accédez à ce répertoire et exécutez la commande suivante:

svn co http://demeter.uqar.ca/svn/mom4p1/trunk .

Si le téléchargement a été effectué avec succès, vous devriez retrouver les répertoires suivants:

bin/        ! Contient les informations permettant de compiler le modèle sur votre ordinateur
doc/        ! Documentation
exp/        ! Contient les scripts d'exécution des différentes configurations possible
matlab/     ! Contient des scripts Matlab utile pour préparer ou transformer les entrées et sorties du modèle
src/        ! Code source

Compiler le code

La compilation du code consiste à lire, interpréter, lier et condenser les routines fortran dans un fichier exécutable qui sera ensuite appelé par le script correspondant se trouvant dans le répertoire exp/. Le code source se trouve dans le répertoire src/ qui contient les routines fortran (.F90) classées selon les grandes composantes.

atmos_*/        ! Ces répertoires contiennent les routines spécifiques au modèle atmosphérique et au
                ! couplage avec les autres composantes (land, ice, ocean).
coupler/        ! ...
ice_param/      ! ...
ice_sis/        ! ...
land_*/         ! ...
mom4p1/         ! ...
ocean_shared/   ! ...
postprocessing/ ! ...
preprocessing/  ! ...
shared/         ! ...
tools/          ! ...

Pour compiler le modèle vous devrez appeler l'un des scripts de compilation qui se trouvent dans exp/. Classés par niveau de complexité, ceux-ci sont:

mom4p1_solo_compile.csh     ! Ne compile que le modèle océanique (mom4p1)
mom4p1_coupled_compile.csh  ! Compile le modèle couplé océan-glace
mom4p1_ebm_compile.csh      ! Compile le modèle couplé océan-glace-atmosphère avec le Energy Balance Module (EBM)
ICCMp1_compile.csh          ! Compile le modèle couplé ICCMp1
CM2.1p1_compile.csh         ! Compile le modèle couplé CM2.1p1

Dans ces scripts, vous devez spécifier la variable platform réfère à l'extension des fichiers exp/environs.$platform et mkmf.template.$platform. Vous devez donc vous assurer que le contenu de ces fichiers correspondent bien à l'environnement de votre serveur. Si vous utilisez brandypot, utilisez IFORT11_LINUX. Pour exécuter le modèle en parallèle sur plusieurs processeurs en mode mémoire distribuée spécifier MPI=1. Vous pouvez également choisir de compiler en allouant la mémoire de manière statique ou dynamique avec la variable static. En mode statique, vous devez alors spécifiez la taille des tableaux qui dépendra alors des dimensions de votre grille ainsi que du nombre et la taille des sous-domaines. Toutes les autres variables devraient en principe rester inchangées.

Configurer une expérience

Générer une grille

Générer la bathymétrie

Générer les forçages

Problèmes potentiels