WAVEWATCH

De POLR
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. La version 4.18 intègre une atténuation du spectre par la glace ainsi que la possibilité d'utiliser des grilles non structurées.

Guides d'utilisation

Tutoriels et outils

L'IFREMER Brest, qui donne une formation sur le modèle plusieurs fois par an, donne accès à un site ftp où sont réunis le code de la version 4.18, des cours théoriques sur les vagues et le modèle, des tutoriels d'installation et d'utilisations avec de nombreux exemples. On y trouve aussi des outils et des scripts Matlab/Octave pour l'analyses des sorties.

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 ../bin/comp.Intel comp

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

À 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.Intel comp

ln -s link.Intel link

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.


1) Installer les modules (mingan) dans .bashrc vi ~/.bashrc

  1. Modules

module load dot module load gcc/4.9.2

  1. Use WW3 with NetCDF

export WWATCH3_NETCDF=NC4 export WWATCH3_CONFIG=/usr/bin/nc-config

Relancer le terminal pour que les changements dans le bashrc soient pris en compte.

2) Mise en place de l'environnement Lancer w3_setup w3_setup .. -c gfortran -s test_mingan


Printer for listings [printer] = printer FROTRAN compiler for aux. [f77] : gfortran C compiler for aux. [cc] : gcc Scratch space: /home/<username>/WW3_Mingan/model/tmp Save sources : yes Save listings: yes


3) Compilation des sous-routines et création de l'exécutable w3_make






Cas test

Réaliser une simulation