WAVEWATCH

De POLR
Révision datée du 4 juillet 2013 à 11:52 par Dumoda01 (discussion | contributions) (→‎Guide d'utilisation)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

Introduction

WAVEWATCH 3 est un modèle développé par la NOAA/NCEP qui simule la formation et la dispersion de vagues et de la houle dans des eaux océaniques et côtières. Il se base sur la résolution des équations du spectre des vagues. Le modèle se caractérise par une importante modularité et la possibilité de paralléliser le calcul.

Guides d'utilisation

Problèmes potentiels rencontrés à l'installation

Lors de l'installation du modèle, veuillez bien suivre les indications données par le guide d'utilisation, rubrique 5.3 "compiling and linking" (page 118). Trois fichiers nécessitent des modifications de la part de l'utilisateur : comp / link / switch (à modifier dans le répertoire /work) . L'utilisateur doit définir le compilateur à utiliser ainsi que les options qui en dépendent.

Fichiers comp et link

Attention, il existe plusieurs versions de ces fichiers. Avant de modifier ces fichiers, dans le répertoire /work, modifiez les liens symboliques de comp et link par :

ln -s comp ../bin/comp.Intel

ln -s link ../bin/link.Intel

À partir de maintenant, toujours dans /work, vous pouvez modifier le type de compilateur utilisé (ifort, gfortran...) et les options liées dans comp et link.

  • Modifications du ficher comp (exemple avec ifort), ajoutez :
# Intel compiler on Linux ----------------------------------------------------
# 2.b.1 Build options and determine compiler name
#       Note that all but GrADS output is forced to big endian data

  opt="-c -O3 -assume byterecl -module  $path_m"
# opt="-c -list -O3 -unroll -tpp7 -Zp8 -module $path_m"
# opt="-c -g CB -list -O3 -module $path_m"  

  if [ "$name" != 'gx_outp' ] && [ "$name" != 'gx_outf' ]
  then
    opt="$opt -convert big_endian"
  fi  
 
  if [ "$mpi_mod" = 'yes' ]
  then
    comp=mpif90
  else
   comp=ifort
  fi  
  • Modifications du ficher link (exemple avec ifort), ajoutez :
# Intel compiler ------------------------------------------------------------
# 3.a Build options and determine compiler name
#     No GRIB libraries for this one

  opt="-O3 -Zp8 -tpp7 -o $prog"

  if [ "$mpi_mod" = 'yes' ]
  then
    comp=mpif90
  else
    comp=ifort
  fi

Une fois cette opération effectuée, il est important d'aller dans le répertoire /bin et de créer un lien symbolique de comp et de link au sein même du répertoire. Nous avons bien modifié les fichiers comp.Intel et link.Intel à partir de /work, mais lors de la compilation, le compilateur va se servir des fichiers comp et link originaux présent dans le répertoire /bin.

  • Dans /bin, renommez comp et link :
mv comp comp.original

mv link link.original

et créez un lien symbolique vers les fichiers comp.Intel et link.Intel du même répertoire

ln -s comp comp.Intel

ln -s link link.Intel

Fichier switch

Le fichier switch correspond à la liste de modules qui seront activés lors de la compilation du modèle. Il est important de vérifier quels sont les modules actifs, de les modifier au besoin (en particulier pour la réalisation des tests) et de recompiler le modèle si le fichier a été modifié.

La suite de la procédure de compilation est clairement expliquée dans le guide d'utilisateur. Plusieurs étapes sont nécessaires pour vérifier l'installation et le bon fonctionnement du modèle.

Cas test

Réaliser une simulation