MOM - Modular Ocean Model

De POLR
Sauter à la navigation Sauter à la recherche

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.

Configurer une expérience

Générer une grille

Générer la bathymétrie

Générer les forçages

Problèmes potentiels