Différences entre versions de « GOTM - General Ocean Turbulence Model »

De POLR
Sauter à la navigation Sauter à la recherche
m
Ligne 6 : Ligne 6 :
 
Le code gotm_ismer est en fait une copie du code gotm-4.0.0 qui a subit quelques modifications somme toute assez superficielles associées aux modèles biogéochimiques. Dans un futur pas très lointain, l'objectif est de migrer vers [[FABM]] (Framework for Aquatic Biogeochemical Models), un code traitant les modèles biogéochimiques de manière modulaire et donc beaucoup plus flexible, couplés à gotm-4.1.
 
Le code gotm_ismer est en fait une copie du code gotm-4.0.0 qui a subit quelques modifications somme toute assez superficielles associées aux modèles biogéochimiques. Dans un futur pas très lointain, l'objectif est de migrer vers [[FABM]] (Framework for Aquatic Biogeochemical Models), un code traitant les modèles biogéochimiques de manière modulaire et donc beaucoup plus flexible, couplés à gotm-4.1.
  
Pour obtenir le code gotm_ismer, 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é.
+
Pour obtenir le code gotm_ismer, 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é.
 
  mkdir gotm_ismer
 
  mkdir gotm_ismer
 
  cd gotm_ismer
 
  cd gotm_ismer

Version du 16 janvier 2013 à 10:46

Introduction

GOTM (General Ocean Turbulence Model) est un modèle libre qui simule les processus physique d'une colonne d'eau lacustre ou océanique en solutionnant les équations du transport moyen et turbulent sur la verticale. Il a été développé à l'origine par Hans Burchard, Karsten Bolding, Manuel Ruiz-Villareal et Pierre-Philippe Mathieu et hébergé à l'Institute of Oceanography in Hambourg d'où l'on peut obtenir le code source (www.gotm.net). Depuis 2008, Dany Dumont et plusieurs étudiants et collaborateurs ont utilisé ce code riche et versatile dans plusieurs projets. Pour faciliter la collaboration interne et pour tirer parti des modifications apportées, une branche du code gotm-4.0.0 a été déposée dans un dépôt [svn] sur les serveurs du LASSO (ISMER) sous le nom de gotm_ismer. Ce dépôt a été créé afin de partager et de documenter à l'interne les avancées faites par chacun. Lorsque le code évolue significativement, les modifications sont proposées à l'équipe de développeurs qui les incorporent dans la version officielle, profitant ainsi à toute la communauté GOTM.

Guide d'utilisation

Obtenir le code gotm_ismer

Le code gotm_ismer est en fait une copie du code gotm-4.0.0 qui a subit quelques modifications somme toute assez superficielles associées aux modèles biogéochimiques. Dans un futur pas très lointain, l'objectif est de migrer vers FABM (Framework for Aquatic Biogeochemical Models), un code traitant les modèles biogéochimiques de manière modulaire et donc beaucoup plus flexible, couplés à gotm-4.1.

Pour obtenir le code gotm_ismer, 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é.

mkdir gotm_ismer
cd gotm_ismer

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

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

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

compilers/  ! Contient les informations permettant de compiler le modèle sur votre ordinateur
doc/        ! Documentation originale LaTeX
include/    ! Définitions de pré-compilation
nml/        ! Modèles de namelists (fichiers de contrôle ou de paramétrage des simulations)
scripts/    ! Fonctions et scripts pertinents
src/        ! Code source
templates/  ! Modèles de routines
test_cases/ ! Cas test

Compiler le code

La compilation du code consiste à lire, interpréter, lier et condenser les routines fortran dans un fichier exécutable ou programme dont on se servira pour exécuter le modèle. Le code source se trouve dans le répertoire src/ qui contient les routines fortran (.F90) qui sont classées dans des sous-répertoires représentant certaines sections du code.

gotm/         ! Contient le programme principal.
observations/ ! ...
meanflow/     ! ...
airsea/       ! ...
turbulence/   ! ...
util/         ! ...
extras/       ! ...

Rules.make

Le répertoire src/ contient également le fichier Makefile, qui fixe les règles de compilation qui ne doivent pas être modifiées (à moins que vous ne décidiez de faire certaines modifications avancées au code), et le fichier Rules.make.template qui contient les règles de compilation et les variables d'environnement propres à l'utilisateur et qui elles doivent être modifiées par l'utilisateur. Pour effectuer cette étape, faite une copie du fichier modèle Rules.make.template en le nommant Rules.make.

cp Rules.make.template Rules.make

Modifiez ensuite les variables d'environnement en fonction de votre profil et de votre plate-forme. L'exemple suivant s'applique au serveur brandypot:

  • Spécifier le compilateur à utiliser. Cette variable servira à pointer vers un fichier compiler.$FORTRAN_COMPILER qui doit exister et se trouver dans le répertoire compilers/:
FORTRAN_COMPILER=IFORT
  • Indiquer l'emplacement des librairies NetCDF:
NETCDFINC    = /opt/local/netcdf-3.6.1/include
NETCDFLIBDIR = /opt/local/lib
  • Déterminer quelles portions du code vous voulez compiler. Dans l'exemple suivant, le code correspondant aux modules sediment et seagrass (qu'on retrouve dans le répertoire src/extras/) ne sera pas compilé alors que le module bio et le module netcdf, qui permet de sauvegarder les sorties du modèle en format NetCDF, le sera:
# What do we include in this compilation
NetCDF=true
SEDIMENT=false
SEAGRASS=false
BIO=true

Une fois le fichier Rules.make correctement modifié, vous pouvez compiler le code en faisant:

make realclean
make

Cas test

Configurer une expérience