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

De POLR
Sauter à la navigation Sauter à la recherche
m
Ligne 46 : Ligne 46 :
 
C'est également dans ce fichier que vous déterminez 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 biologique et le module netcdf, qui permet de sauvegarder les sorties du modèle en format NetCDF, le sera.
 
C'est également dans ce fichier que vous déterminez 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 biologique 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
+
  # What do we include in this compilation
 +
NetCDF=true
 +
SEDIMENT=false
 +
SEAGRASS=false
 +
BIO=true
  
 
== Cas test ==
 
== Cas test ==
  
 
== Configurer une expérience ==
 
== Configurer une expérience ==

Version du 16 janvier 2013 à 10:23

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/       ! ...

Le répertoire src/ contient également un fichier Rules.make qui contient les règles de compilation et les variables d'environnement propres à l'utilisateur. Il doit donc être adapté à votre plate-forme et votre profil. Par exemple, si vous utilisez brandypot, vous devez indiquer l'emplacement des librairies NetCDF:

NETCDFINC    = /opt/local/netcdf-3.6.1/include
NETCDFLIBDIR = /opt/local/lib

C'est également dans ce fichier que vous déterminez 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 biologique 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

Cas test

Configurer une expérience