mars environment sommaire (click on each chapter to go directly in)

78
Mars : Mars : Version 9.06 Version 9.06 l fr e m e r 1 Mars_Agrif2_V9.06 Mars_Agrif2_V9.06 “MARS ENVIRONMENT’s manual” “MARS ENVIRONMENT’s manual” Valérie GARNIER, Sébastien THEETTEN Valérie GARNIER, Sébastien THEETTEN (easier to consult this documentation activating slide (diaporama) in order to show links )

Upload: aldan

Post on 12-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Mars_Agrif2_V9.06 “MARS ENVIRONMENT’s manual” Valérie GARNIER, Sébastien THEETTEN (easier to consult this documentation activating slide (diaporama) in order to show links ). MARS environment Sommaire (click on each chapter to go directly in). Why this MARS environment - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

1

Mars_Agrif2_V9.06Mars_Agrif2_V9.06

“MARS ENVIRONMENT’s manual”“MARS ENVIRONMENT’s manual”

Valérie GARNIER, Sébastien THEETTENValérie GARNIER, Sébastien THEETTEN

(easier to consult this documentation activating slide (diaporama)in order to show links )

Mars_Agrif2_V9.06Mars_Agrif2_V9.06

“MARS ENVIRONMENT’s manual”“MARS ENVIRONMENT’s manual”

Valérie GARNIER, Sébastien THEETTENValérie GARNIER, Sébastien THEETTEN

(easier to consult this documentation activating slide (diaporama)in order to show links )

Page 2: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

2

MARS environmentMARS environmentSommaire Sommaire (click on each chapter to go directly in)

MARS environmentMARS environmentSommaire Sommaire (click on each chapter to go directly in)

Why this MARS environment What is the MARS environment Setting up MARS environment MARS requirements List of useful commands How to implement a new configuration How to update a configuration MARS environment : SUMMARY Choice of CPP Keys How to prepare parametrization before running How to run a job Run a job : SUMMARY How to decompose domain for MPI purpose How to use a test case How to set a new test case How to modify MARS - coding rules

Page 3: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

3

Why this MARS environment (1)Why this MARS environment (1)Why this MARS environment (1)Why this MARS environment (1)

Frequently observed problemsFrequently observed problems

Difficulty in following MARS evolutions led to different MARS codes ! Difficulty in following MARS evolutions led to different MARS codes ! Numerical developments and configurations must be performed following a few Numerical developments and configurations must be performed following a few

usual rules, otherwise they get lostusual rules, otherwise they get lost

MARS is used through a working environment based on C-shell scriptsMARS is used through a working environment based on C-shell scripts

GoalsGoals

Management of MARS versionsManagement of MARS versions Easier tracking of configuration changesEasier tracking of configuration changes Easier keeping up to date of configurationsEasier keeping up to date of configurations Direct visualization of user’s modificationsDirect visualization of user’s modifications Sharing of configurationsSharing of configurations Saving of disk spaceSaving of disk space

Page 4: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

4

Why this MARS environment (2) Why this MARS environment (2) Why this MARS environment (2) Why this MARS environment (2)

Super-usersSuper-usersmanagement and distribution (V. Garnier)developments / evolutions (F. Dumas, V. Garnier, B. Thouvenin) teaching and user’s help (S. Theetten)

MARS codeMARS codeThe complete MARS code (sources, namelist, environment, documentation and netcdf

libraries) is located in a directory defined by the environment variable $HOMEMARS

UsersUsersRun the code for personal configuration or use test cases Improve the code (numerical developments…) Report encountered problems or needsFollow code improvements, keep configurations up to date

Page 5: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

5

Reference MARS environment (3) Reference MARS environment (3) Reference MARS environment (3) Reference MARS environment (3)

Reference

MARS environment is originally derived from utility named Drakkar Config Manager and developped by J. M. Molines and S. Theetten.

Similar environments are used with MARS code, NEMO code (DRAKKAR projects and followings) and SYMPHONIE code (soon).

Retour au Sommaire

Page 6: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

6

What is the MARS environment (1) What is the MARS environment (1) What is the MARS environment (1) What is the MARS environment (1)

3 directories3 directories (user) (user)

MARS_CONFIGMARS_CONFIG : : compilation / code modificationcompilation / code modification

RUN_MARSRUN_MARS : : run simulation, input and ouput filesrun simulation, input and ouput files

COMPILE_MARSCOMPILE_MARS : : compilation directory, compilation directory, where the user must not gowhere the user must not go

(otherwise user’s changes might be lost)(otherwise user’s changes might be lost)

3 scripts3 scripts (user) (user)

makefilemakefile : : manage the configuration manage the configuration (choice of rank, test case, previous configurations),(choice of rank, test case, previous configurations),

compile the code by calling : compile the code by calling :

Makefile.linuxMakefile.linux (or Makefile.caparmor)(or Makefile.caparmor)

mkconfdirmkconfdir : : create the directories of a configurationcreate the directories of a configuration

Page 7: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

7

What is the MARS environment (2)What is the MARS environment (2)What is the MARS environment (2)What is the MARS environment (2)

The originial code (reference code) is placed in the The originial code (reference code) is placed in the

Reference directoryReference directory $HOMEMARS/.. $HOMEMARS/.. (super user) (super user)

which contains :which contains :

MARS sources,MARS sources, Scripts of MARS environment,Scripts of MARS environment, Makefile for the compilation,Makefile for the compilation, Input files as namelists and *.dat (river.dat, outflow.dat…)Input files as namelists and *.dat (river.dat, outflow.dat…) Documentation : manuals, faqDocumentation : manuals, faq Module example (fortran)Module example (fortran) Libraries (netcdf, io_netcdf)Libraries (netcdf, io_netcdf) Code rulesCode rules

Mars_Agrif2Reference

Sources code

DOCManual,

faq

EXAMPLESinput files, Makefile..

LIBNetcdf,

io_netcdf..

TOOLSbathy,

connect, …

$HOMEMARS/../

$HOMEMARS/

Retour au Sommaire

Page 8: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

8

MARS environment : setting up (1)MARS environment : setting up (1)MARS environment : setting up (1)MARS environment : setting up (1)

#------------------------------#------------------------------#  MARS DEVELOPMENT ENVIRONMENT#  MARS DEVELOPMENT ENVIRONMENT#-----------------------------#-----------------------------setenv HOMEMARS setenv HOMEMARS /export/home11/mars/CODE_MARS/CODE_MARS_V9/V9.06/Mars_Agrif2/export/home11/mars/CODE_MARS/CODE_MARS_V9/V9.06/Mars_Agrif2setenv UDIR /export/home/${USER}/MARS/MARS_CONFIGsetenv UDIR /export/home/${USER}/MARS/MARS_CONFIGsetenv CDIR /export/home/${USER}/MARS/COMPILE_MARSsetenv CDIR /export/home/${USER}/MARS/COMPILE_MARSsetenv RDIR /export/home/${USER}/MARS/RUN_MARSsetenv RDIR /export/home/${USER}/MARS/RUN_MARS

setenv HTTPSVNROOT setenv HTTPSVNROOT https://forge.ifremer.fr/svn/mars3dsetenvsetenv extranet_loginextranet_login yoursyours

setenv PATH ${PATH}:$HOMEMARS/../TOOLS/MARSENVsetenv PATH ${PATH}:$HOMEMARS/../TOOLS/MARSENValias mkconfdir  "$HOMEMARS/../TOOLS/MARSENV/mkconfdir_caparmor“alias mkconfdir  "$HOMEMARS/../TOOLS/MARSENV/mkconfdir_caparmor“alias mkconfdir_bisc  "$HOMEMARS/../TOOLS/MARSENV/mkconfdir_caparmor_bisc“alias mkconfdir_bisc  "$HOMEMARS/../TOOLS/MARSENV/mkconfdir_caparmor_bisc“

1/1/ Inside Inside your .cshrcyour .cshrc, , add following environment add following environment variablevariabless and paths and paths : :

Directory where is the reference code

Site gforge useful to update your MARS version

Set your extranet_login name

2/2/ type :type : source source .cshrc.cshrc

Allow you to use commands useful to the setting up MARS

Page 9: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

9

MARS environment : setting up (2) (bash use)MARS environment : setting up (2) (bash use)MARS environment : setting up (2) (bash use)MARS environment : setting up (2) (bash use)

If If bash usebash use, add following environmental , add following environmental variablevariabless and paths and paths : :

1/1/ create a new file (create a new file (env_MARS_V9.06 for instanceenv_MARS_V9.06 for instance) :) :#------------------------------#------------------------------#  MARS DEVELOPMENT ENVIRONMENT#  MARS DEVELOPMENT ENVIRONMENT#------------------------------#------------------------------

export HOMEMARS = export HOMEMARS = /export/home11/mars/CODE_MARS/CODE_MARS_V9/V9.06/Mars_Agrif2/export/home11/mars/CODE_MARS/CODE_MARS_V9/V9.06/Mars_Agrif2export UDIR=/export/home/${USER}/MARS/MARS_CONFIGexport UDIR=/export/home/${USER}/MARS/MARS_CONFIGexport CDIR=/export/home/${USER}/MARS/COMPILE_MARSexport CDIR=/export/home/${USER}/MARS/COMPILE_MARSexport RDIR=/export/home/${USER}/MARS/RUN_MARSexport RDIR=/export/home/${USER}/MARS/RUN_MARS

alias mkconfdir=‘$HOMEMARS/../TOOLS/MARSENV/mkconfdir_linux’alias mkconfdir=‘$HOMEMARS/../TOOLS/MARSENV/mkconfdir_linux’alias getfile=‘$HOMEMARS/../TOOLS/MARSENV/getfile’alias getfile=‘$HOMEMARS/../TOOLS/MARSENV/getfile’alias update=‘$HOMEMARS/../TOOLS/MARSENV/update’alias update=‘$HOMEMARS/../TOOLS/MARSENV/update’

2/2/ type :type : source source env_MARS_V9.06env_MARS_V9.06

Page 10: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

10

MARS environment : setting up (3)MARS environment : setting up (3)MARS environment : setting up (3)MARS environment : setting up (3)

3/3/ create the 3 directories necessary for MARS environment :create the 3 directories necessary for MARS environment :

# UDIR :# UDIR :

type :type : mkdir /export/home/${USER}/MARS/MARS_CONFIG mkdir /export/home/${USER}/MARS/MARS_CONFIG

# CDIR :# CDIR :

type :type : mkdir /export/home/${USER}/MARS/COMPILE_MARS mkdir /export/home/${USER}/MARS/COMPILE_MARS

# RDIR :# RDIR :

type :type : mkdir /export/home/${USER}/MARS/RUN_MARS mkdir /export/home/${USER}/MARS/RUN_MARS

# CODE_MARS # CODE_MARS (if the reference(if the reference MARS code is locally saved – not for IFREMER users) MARS code is locally saved – not for IFREMER users)

type :type : mkdir mkdir /export/home/${USER}/MARS/CODE_MARS/export/home/${USER}/MARS/CODE_MARS

Page 11: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

11

MARS environment : setting up (4)MARS environment : setting up (4)MARS environment : setting up (4)MARS environment : setting up (4)

Important remarkImportant remark meant for research institutes, private societies or labtop use IFREMER users have no need to duplicate the code under their account

Step local setting uplocal setting up (not for caparmor users)(not for caparmor users) Get the code from mars3d projet under forge with the following command :

svn –username $$extranet_loginextranet_login checkout $HTTPSVNROOT/tags/V9.06 cd V9.06/EXAMPLES vi Makefile.linux : modify library paths of netcdf, io_netcdf. (if make use, replace all ‘gmake’ by ‘make’ in makefile_env_linux or link

gmake to make in your linux environment)

Rq 1 : changes inside Makefile.linux (and makefile_env_linux) are the only ones allowed in CODE_MARS directory

Rq 2 : no help from PHYSED if the source code has been modified

Page 12: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

12

MARS environment : setting up (5)MARS environment : setting up (5)MARS environment : setting up (5)MARS environment : setting up (5)

Important remarksImportant remarks MARS requires fortran compiler, netcdf4 library

(netcdf4 requires hdf5 and zlib librairies) MARS results are easily visualized with ferret (free) or

matlab… Library NCO is useful for files management

For users working on caparmor : For users working on caparmor : Return to sommaire

Informations on Fortran, netcdf4, netcdf, Informations on Fortran, netcdf4, netcdf, click here

Page 13: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

13

MARS environment : local setting up (6)MARS environment : local setting up (6)MARS environment : local setting up (6)MARS environment : local setting up (6)

Fortran compiler setting up1. Download free Intel Fortran compiler from

http://www.intel.com/cd/software/products/asmo-na/eng/index.htm (a - register at « Free Non Commercial Download » to receive a number authorization by mail; b – choose ‘Intel Fortran Compiler Profressional Edition for linux’)

2. Installation from file /export/home/l_fc_p_10.X.XXX.tar.gz

3. If library stcd++ is missing : yum install libstdc++.so.5

4. Set compiler environment : source /opt/intel/fce/10.X.XXX/bin/ifortvars.csh

Page 14: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

14

MARS environment : local setting up (7)MARS environment : local setting up (7)Netcdf4 (1/3)Netcdf4 (1/3)

MARS environment : local setting up (7)MARS environment : local setting up (7)Netcdf4 (1/3)Netcdf4 (1/3)

We assume the netcdf4 library is installed under /export/home/logiciel/netcdf4

zlib libraryzlib library

1. Create installation directory cd export/home/logiciel/netcdf4 ; mkdir install ; cd install

2. Download of zlib-1.2.5.tar from http://zlib.net/ (get the sources and not the binaries)3. bunzip2 zlib-1.2.5.tar.bz2 ; tar xvf zlib-1.2.5.tar4. Installation

sequential or OMP purpose MPI purpose

Module purge

module load intel-comp/11.1.073 (path for intel fortran and c++)

Module purge

module load intel-comp/11.1.073

module load intel-mpi/4.0.0.028 (path mpi)

export NC4DIR=/export/home/logiciels/netcdf4/lib/seq

export NC4DIR=/export/home/logiciels/netcdf4/lib/mpi

cd /export/home/logiciels/netcdf4/install/zlib-1.2.5 cd /export/home/logiciels/netcdf4/install/zlib-1.2.5

./configure --prefix=$NC4DIR ./configure --prefix=$NC4DIR

make check install make check install

Page 15: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

15

MARS environment : local setting up (8)MARS environment : local setting up (8)Netcdf4 (2/3)Netcdf4 (2/3)

MARS environment : local setting up (8)MARS environment : local setting up (8)Netcdf4 (2/3)Netcdf4 (2/3)

We assume the netcdf4 library is installed under /export/home/logiciel/netcdf4

hdf5 libraryhdf5 library

1. Go to installation directory cd export/home/logiciel/netcdf4/install

2. Download http://www.hdfgroup.org/ftp/HDF5/prev-releases/hdf5-1.8.6/src/hdf5-1.8.6.tar.gz (get the sources and not the binaries)

3. gunzip file ; tar xvf file4. Installation

sequential or OMP purpose MPI purpose

Module purge

module load gfortran (path for gfortran and c++)

Module purge

module load gfortran

module load gfortran-mpi (path mpi)

export NC4DIR=/export/home/logiciels/netcdf4/lib/seq export NC4DIR=/export/home/logiciels/netcdf4/lib/mpi

cd /export/home/logiciels/netcdf4/install/hdf5-1.8.6 cd /export/home/logiciels/netcdf4/install/hdf5-1.8.6

./configure --prefix=$NC4DIR --with-zlib=$NC4DIR --disable-shared CC=gcc CPP='gcc -E'

./configure --prefix=$NC4DIR --with-zlib=$NC4DIR --disable-shared --enable-parallel CC=mpicc CPP='mpicc -E'

make make

make install make install

Page 16: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

16

MARS environment : local setting up (9)MARS environment : local setting up (9)Netcdf4 (3/3)Netcdf4 (3/3)

MARS environment : local setting up (9)MARS environment : local setting up (9)Netcdf4 (3/3)Netcdf4 (3/3)

We assume the netcdf4 library is installed under /export/home/logiciel/netcdf4

netcdf4 librarynetcdf4 library

1. Go to the installation directory (cd export/home/logiciel/netcdf4/install)2. Download of netcdf-4.1.2.tar.gz from http://www.unidata.ucar.edu/downloads/netcdf/netcdf-

4_1_2/index.jsp (get the sources and not the binaries)3. gunzip file ; tar xvf file4. Installation

sequential or OMP purpose MPI purpose

Module purge

module load gfortran (path for gfortran and c++)

Module purge

module load gfortran

module load gfortran-mpi (path mpi)

export NC4DIR=/export/home/logiciels/netcdf4/lib/seq export NC4DIR=/export/home/logiciels/netcdf4/lib/mpi

cd /export/home/logiciels/netcdf4/install/netcdf-4.1.2 cd /export/home/logiciels/netcdf4/install/netcdf-4.1.2

export LDFLAGS="-lm"  (access to a mathematics library)

./configure --prefix=$NC4DIR --with-hdf5=$NC4DIR --with-zlib=$NC4DIR --enable-ncgen4 --enable-netcdf-4 --disable-shared --disable-cxx --disable-dap FC=gfortran CC=gcc CPP='gcc -E'

./configure --prefix=$NC4DIR --with-hdf5=$NC4DIR --with-zlib=$NC4DIR --enable-ncgen4 --enable-netcdf-4 --disable-shared --disable-cxx --disable-dap CPPFLAGS='-DNDEBUG -DpgiFortran' FC=mpif90 CC=mpicc CPP='mpicc -E'

make make

make check install make check install

Page 17: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

17

MARS environment : local setting up (10)MARS environment : local setting up (10)MARS environment : local setting up (10)MARS environment : local setting up (10)

IO_NETCDF library (to be compiled only if used by software other than MARS)IO_NETCDF library (to be compiled only if used by software other than MARS)

Libionc4 is an interface between NetCDF4 and MARS (or other softwares). This library is developed by IFREMER/PHYSED and supplied with MARS under $HOMEMARS/../LIB/libionc4. It is a module of MARS software.

1. cd $HOMEMARS/../LIB/libionc4/src ln -s $HOMEMARS/INC/comionc4.F90 ln -s $HOMEMARS/PHYS/OUT/ionc4.F90

2. Prepare directories cd .. ./install.csh (2 directories are created intel-seq and intel-mpi; the will store the library and the include files)

3. edit Makefile and modify

4. create the library : gmake clean ; gmake

Library libionc4.a is under $HOMEMARS/../LIB/libionc4/intel-XXX/libmodule files comionc4.mod and ionc4.mod are under $HOMEMARS/../LIB/libionc4/intel-XXX/inc

sequential or OMP purpose MPI purpose

FC = ifort FC = mpiifort

CPPFLAGS = CPPFLAGS = -Dkey_MPI_2D

NETCDF4 = /home1/caparmor/rramel/netcdf4.1.2 NETCDF4 = /home1/caparmor/rramel/netcdf4.1.2_par

OUTDIR = ./intel-seq OUTDIR = ./intel-mpi

FFLAGS required compilation options FFLAGS required compilation options

Page 18: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

18

MARS environment : local setting up (11)MARS environment : local setting up (11)MARS environment : local setting up (11)MARS environment : local setting up (11)

File connexionFile connexion

This fortran code developed by IFREMER/PHYSED to gather MPI output files is supplied with MARS under $HOMEMARS/../TOOLS/CONNECT

1. cd $HOMEMARS/../TOOLS/connect

2. Modify the library paths in compile_cap

3. Compile_cap

The connect.exe is created under the directory $HOMEMARS/../TOOLS/connect. It will be automatically copied under $RDIR/CONF/CONF-CASE[/rank_X]

Page 19: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

19

MARS environment : local setting up (12)MARS environment : local setting up (12)MARS environment : local setting up (12)MARS environment : local setting up (12)

Domain cutting out executable (for MPI purpose)Domain cutting out executable (for MPI purpose)

This fortran code has been developed by IFREMER/RIC to divide the regional model in X sub-domains. It is available in $HOMEMARS/../TOOLS/MPI2D_DOMAIN

1. cd $HOMEMARS/../TOOLS/MPI2D_DOMAIN2. Modify the library paths in makefile3. make

The ./run executable is created under the directory $HOMEMARS/../TOOLS/MPI2D_DOMAIN.

A user manual is available from http://wwz.ifremer.fr/dyneco/Moyens-Outils/Logiciels/MARS/Documentation

Page 20: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

20

MARS environment : local setting up (13)MARS environment : local setting up (13)MARS environment : local setting up (13)MARS environment : local setting up (13)

FERRETFERRET

1. Download files from http://ferret.pmel.noaa.gov/static/Downloads/

2. Follow instructions of installation

NCO tools : yum install nco

nedit editornedit editor : yum install nedit

Retour au Sommaire

Page 21: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

21

MARS environment : commands (1/2)MARS environment : commands (1/2)

Useful commandsUseful commands

mkconfdirmkconfdir : creates all directories required for the implementation of a : creates all directories required for the implementation of a configuration (configuration (for more details of what mkconfdir doesfor more details of what mkconfdir does, , click here))

gmake install gmake install : sets the reference code into the directory of compilation: sets the reference code into the directory of compilation

((for more detailsfor more details, , click here)) gmakegmake : compiles with user’s routines : compiles with user’s routines

((for more detailsfor more details, , click here))

gmake cleangmake clean : cleans *.o and *.f : cleans *.o and *.f

gmake cleaninstgmake cleaninst : empties the directory of compilation (useful when you want to : empties the directory of compilation (useful when you want to remove a user’s routine)remove a user’s routine)

gmake update gmake update ["OLDREV=XXX" "NEWREV=YYY"]["OLDREV=XXX" "NEWREV=YYY"] : : sets the reference code into the sets the reference code into the directory of compilationdirectory of compilation and updates user’s routines from revision XXX to revision updates user’s routines from revision XXX to revision YYYYYY

All these commands are launched from the directory MARS_CONFIG/conf/conf-All these commands are launched from the directory MARS_CONFIG/conf/conf-case, location where the user prepares the code he will run.case, location where the user prepares the code he will run.

Page 22: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

22

MARS environment : commands (2/2)MARS environment : commands (2/2)Useful commandsUseful commands

getfile WORK/routine.F90getfile WORK/routine.F90 : : allows the user to modify the reference code the reference code source source ((for more detailsfor more details, , click here))

rmfile routine.F90 :rmfile routine.F90 : remove a file remove a file from MARS_CONFIG/CONF/CONF-CASE.from MARS_CONFIG/CONF/CONF-CASE.

((for more detailsfor more details, , click here))

cmpfile routine.F90 : cmpfile routine.F90 : Easy way for making either a diff between a file in the Easy way for making either a diff between a file in the MARS_CONFIG/CONF/CONF-CASE directory and the corresponding file in the MARS_CONFIG/CONF/CONF-CASE directory and the corresponding file in the HOMEMARS directory. (HOMEMARS directory. (for more detailsfor more details, , click here))

All these commands are launched from the directory MARS_CONFIG/conf/conf-All these commands are launched from the directory MARS_CONFIG/conf/conf-case, location where the user prepares the code he will run. case, location where the user prepares the code he will run.

Retour au Sommaire

Page 23: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

23

MARS environmentMARS environmentmkconfdir commandmkconfdir command

creates all directories required for the implementation of a configuration creates all directories required for the implementation of a configuration

MARS environmentMARS environmentmkconfdir commandmkconfdir command

creates all directories required for the implementation of a configuration creates all directories required for the implementation of a configuration

without rankwithout rank (click here)

with rankwith rank (click here)

Usage : mkconfdir CONF CASE (number of ranks)

Page 24: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

24

MARS environmentMARS environmentmkconfdir command (without rank)mkconfdir command (without rank)

MARS environmentMARS environmentmkconfdir command (without rank)mkconfdir command (without rank)

mkconfdir CONF CASE (CONF for geographic configuration – CASE for one case of this configuration)

2. Create in $CDIR2. Create in $CDIR

Create empty directory

$UDIR/CONF/CONF-CASE$UDIR/CONF/CONF-CASE

$CDIR/WCONF-CASE$CDIR/WCONF-CASE

INCINC PHYSPHYS TRAJTRAJ BIOLOBIOLO SEDIMSEDIM SWANSWAN AGRIFAGRIF

The makefile file manages the MARS environment and calls to Makefile.caparmor for compilation

makefile

Makefile.caparmor Makefile. where user chooses cpp keys and compiling option

3. Create in $RDIR3. Create in $RDIR

Create directories$RDIR/CONF/CONF-CASE$RDIR/CONF/CONF-CASE $RDIR/CONF/inputs$RDIR/CONF/inputs – default namelist files

– output.dat file

– script and batchs

– batch_connect and connect.exe files

1. Create in $UDIR 1. Create in $UDIR create empty directoriescreate empty directories

copy the makefile andcopy the makefile and

Makefile.caparmor filesMakefile.caparmor files

- examples of files *.dat

+ example of head.CONF file

that allows the user to define the output files

paracom.txt, parasubs.txt, parasedim.txt, parabiolo.txt

paramain.txt, paraspec.txt,

to run the executable

to gather MPI output files(l_out_nc4par=.false.)

to give the formats of the files managing rivers, outflows,

variables, trajectories…

Return new config

Return Liste commands

Page 25: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

$RDIR/CONF/CONF-CASE $RDIR/CONF/CONF-CASE $RDIR/CONF/inputs$RDIR/CONF/inputs

$RDIR/CONF/CONF-CASE /rank_0, rank_1 et rank_2$RDIR/CONF/CONF-CASE /rank_0, rank_1 et rank_2each contains :

25

MARS environmentMARS environmentmkconfdir command (with rank)mkconfdir command (with rank)

MARS environmentMARS environmentmkconfdir command (with rank)mkconfdir command (with rank)

mkconfdir CONF CASE 3 (if X=3 ranks) (CONF for geographic configuration – CASE for one case of this configuration)

2. Create in $CDIR2. Create in $CDIR

Create empty directory

$UDIR/CONF/CONF-CASE$UDIR/CONF/CONF-CASE

$CDIR/WCONF-CASE$CDIR/WCONF-CASE

INCINC PHYSPHYS TRAJTRAJ BIOLOBIOLO SEDIMSEDIM SWANSWAN AGRIFAGRIF

The makefile file manages the MARS environment and calls to Makefile.caparmor for compilation

makefile_rankX

Makefile.caparmor_rankX Makefile. where user chooses cpp keys and compiling option

3. Create in $RDIR3. Create in $RDIR

Create directories– default namelist files

1. Create in $UDIR 1. Create in $UDIR create empty directoriescreate empty directories

copy the makefile andcopy the makefile and

Makefile.caparmor filesMakefile.caparmor files

- examples of files *.dat

to give the formats of the files managing rivers, outflows,

variables, trajectories…– default namelist files– output.dat file– script and batchs– batch_connect and connect.exe files

paramain.txt, paracom.txt

allows the user to define the output files

paraspec.txt, parasubs.txt….

to run the executable

to gather MPI output files (l_out_nc4par=.false.)

Return new config

Return Liste commands

+ example of head.CONF file

Page 26: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

26

MARS environmentMARS environmentgmake install commandgmake install command

MARS environmentMARS environmentgmake install commandgmake install command

The setting up (user’s modification of the code, compiling)

of the configuration is done from directory $UDIR/CONF/CONF-CASE

Usage : cd $UDIR/CONF/CONF-CASE

gmake install

This command copies the reference MARS code in $CDIR/WCONF-CASE$CDIR/WCONF-CASEAnd creates a link to the directory WORK in $UDIR/CONF/CONF-CASE$UDIR/CONF/CONF-CASE

CODE_MARSReference ($HOMEMARS)

COMPILE_MARS/WCONF-CASEReference code

MARS_CONFIG/CONF/CONF-CASE/WORK

In WORK : all MARS routines – as link to $CDIR

All routines are available

from WORK directory

But NEVER go or work directly

under this WORK directory

Return new config

Return Liste commands

Page 27: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

27

MARS environmentMARS environmentExecutionExecution : gmake : gmakeMARS environmentMARS environmentExecutionExecution : gmake : gmake

This command prepares the code, compiles it and copy the executable to $RDIR

Compiles the code to get the executable (exe => mars_exe in $RDIR)

Usage : cd $UDIR/CONF/CONF-CASE

gmake

MARS_CONFIG/CONF/CONF-CASE

User’s routines

COMPILE_MARS/WCONF-CASEReference code

+ modified user’s routines

Creates smallf90 directory

RUN_MARS/CONF-CASE/CASE(rank*)Executable (mars_exe)

smallf90 smallf90

smallf90 is a link $CDIR,

NEVER work under this directory smallf90

In smallf90, the user can see all routines

used when compiling

(after pre-processing)

+executable exe

Copy modified user’s routines in $CDIR

Return new config

Return Liste commands

Page 28: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

28

MARS environmentMARS environmentExecutionExecution : modification of the reference code source : modification of the reference code source

MARS environmentMARS environmentExecutionExecution : modification of the reference code source : modification of the reference code source

gets a routine and saves it at the correct location in gets a routine and saves it at the correct location in MARS_CONFIG/CONF/CONF-CASE.MARS_CONFIG/CONF/CONF-CASE.

Then, this routine can be modified by the user directly from the Then, this routine can be modified by the user directly from the

directory MARS_CONFIG/CONF/CONF-CASE.directory MARS_CONFIG/CONF/CONF-CASE.(links are automatically made)(links are automatically made)

Usage : cd $UDIR/CONF/CONF-CASE

getfile WORK/routine.F90

After the modification of the routine by the userAfter the modification of the routine by the userYou have to compile the code again by You have to compile the code again by gmakegmakewhich takes into account the modified routinewhich takes into account the modified routine

Return new config

Return Liste commands

Page 29: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

29

MARS environmentMARS environmentremove a file modified by user remove a file modified by user

and back to referenceand back to reference

MARS environmentMARS environmentremove a file modified by user remove a file modified by user

and back to referenceand back to reference

Remove a fileRemove a file from MARS_CONFIG/CONF/CONF-CASEfrom MARS_CONFIG/CONF/CONF-CASE

Restore the removed file from the Restore the removed file from the REFERENCES REFERENCES

(HOMEMARS,REF_CONFIG),(HOMEMARS,REF_CONFIG),

Usage : cd $UDIR/CONF/CONF-CASE

rmfile routine.F90

After asking for confirmation (twice),After asking for confirmation (twice),

it deletes the local link to routine.F90 it deletes the local link to routine.F90

and moves the file from its actual position to the .trash directory and moves the file from its actual position to the .trash directory

(this directory is created if it doesn't exist). (this directory is created if it doesn't exist).

It is the user responsability to empty the .trash directory !It is the user responsability to empty the .trash directory !

Return Liste commands

Page 30: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

30

MARS environmentMARS environmentvisualize differences between user’s routine and visualize differences between user’s routine and

reference codereference code

MARS environmentMARS environmentvisualize differences between user’s routine and visualize differences between user’s routine and

reference codereference code

Easy way for making either a diff between a file in the Easy way for making either a diff between a file in the MARS_CONFIG/CONF/CONF-CASE directory and the corresponding file in MARS_CONFIG/CONF/CONF-CASE directory and the corresponding file in the HOMEMARS directory. the HOMEMARS directory.

Default option launches tkdiff wheter -t option produces a diff -bic listing. Default option launches tkdiff wheter -t option produces a diff -bic listing. It can be used as template for personnal improvement.It can be used as template for personnal improvement.

Usage : cd $UDIR/CONF/CONF-CASE

cmpfile routine.F90

Return Liste commands

Page 31: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

31

MARS environmentMARS environmentnew configurationnew configuration

MARS environmentMARS environmentnew configurationnew configuration

New configuration without rank

New configuration with ranks

New configuration using (copying) an other configuration

(PREV_CONFIG)(PREV_CONFIG)

New configuration recovering an other configuration updated by an

other user (REF_CONFIG) (REF_CONFIG) WITHOUT RANKWITHOUT RANK

New configuration recovering an other configuration updated by an

other user (REF_CONFIG) (REF_CONFIG) WITH RANKSWITH RANKS

Usage of PREV_CONFIG and REF_CONFIG

Before compilation : choice of CPP Keys (list)

After compilation and before running

Retour au Sommaire

Page 32: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

32

MARS environmentMARS environmentnew configuration without ranknew configuration without rank

MARS environmentMARS environmentnew configuration without ranknew configuration without rank

The rank_0 does not supply the rank_1 with open boundary conditionsThe rank_0 does not supply the rank_1 with open boundary conditions

ssh -X -l ssh -X -l usernameusername caparmor caparmor (connection to caparmor )

mkconfdir MENORMENOR V9.06 V9.06 (create directories for your configuration (here CONF= MENOR, CASE= V9.06)

cd …cd … (follow the screen directive) (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)

gmake gmake install (install the code for your configuration)

vi Makefile.caparmorvi Makefile.caparmor and choice of CPP keys, compilation optionand choice of CPP keys, compilation option

getfile WORK/parameters.F90 WORK/parameters.F90 and change specific parameters to your and change specific parameters to your configuration configuration

gmake (compilation)

modification of the code by the user :modification of the code by the user : getfile WORK/routine.F90 modification of routine.F90 gmake

Return new configuration list

Page 33: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

33

MARS environmentMARS environmentnew configuration with ranksnew configuration with ranks

MARS environmentMARS environmentnew configuration with ranksnew configuration with ranks

The rank_0 supplies the rank_1 with open boundary conditions (SSH)The rank_0 supplies the rank_1 with open boundary conditions (SSH)

ssh -X -l ssh -X -l usernameusername caparmor caparmor (connection to caparmor )

mkconfdir MENORMENOR V9.06 4 V9.06 4 (for ranks (for ranks 0, 1 ,2 et 3 0, 1 ,2 et 3) ) (create directories for your

configuration (here CONF= MENOR, CASE= V9.06, 4 ranks) cd …cd … (follow the screen directive) (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)

gmake install (install the code for your configuration)

vi Makefile.caparmor_rankXvi Makefile.caparmor_rankX and choice of CPP keys, compilation option and choice of CPP keys, compilation option for for each rankeach rank

getfile WORK/parameters.F90_rank0 WORK/parameters.F90_rank0 cp INC/parameters.F90_rank0 INC/parameters.F90_rank1, cp INC/parameters.F90_rank0 INC/parameters.F90_rank2 ... modification of INC/parameters.F90_rank* (no=, nrac=,imax=,jmax=,kmax=)

vi makefile vi makefile and change rank=0,1 or 2 in order to compile the code for this rankand change rank=0,1 or 2 in order to compile the code for this rank gmake clean ; ; gmake (compilation)

Return new configuration list

Page 34: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

34

MARS environmentMARS environment why variables REF_CONFIG et PREV_CONFIG (1/2)why variables REF_CONFIG et PREV_CONFIG (1/2)

MARS environmentMARS environment why variables REF_CONFIG et PREV_CONFIG (1/2)why variables REF_CONFIG et PREV_CONFIG (1/2)

PREV_CONFIG PREV_CONFIG (with gmake copyconfig) During the evolution of a configuration, the creation of a new configuration

CONF-CASE and the use of “gmake copyconfig” allows to get exactly the same code as in configuration PREV_CONFIG (‘gmake

copyconfig’ command copies user’s routines and Makefile.linux(or .caparmor) from directory PREV_CONFIG to $UDIR/CONF/CONF-CASE)

allows to keep a saving of configuration PREV_CONFIG This command is used when updating a configuration with a new version of the

reference code (the user get directly the routines he may have to update)

REF_CONFIGREF_CONFIG Useful when several users use the same configuration

Only one user is in charge of updating the REF_CONFIG configuration At each evolution of the reference MARS code, other users have to update their

owns routines only Routines of directory REF_CONFIG are directly copied from REF_CONFIG directory

to the compiling directory : the user does not see them in $UDIR/CONF/CONF-CASE but he uses them

Page 35: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

35

MARS environmentMARS environment Remarks on variables REF_CONFIG et PREV_CONFIG Remarks on variables REF_CONFIG et PREV_CONFIG

(2/2)(2/2)

MARS environmentMARS environment Remarks on variables REF_CONFIG et PREV_CONFIG Remarks on variables REF_CONFIG et PREV_CONFIG

(2/2)(2/2)

PREV_CONFIG and REF_CONFIGPREV_CONFIG and REF_CONFIG The variables PREV_CONFIG and REF_CONFIG allow to manage the

code but not the input files : they have an influence in directory $UDIR/CONF/CONF-CASE only$UDIR/CONF/CONF-CASE only

The user must copy namelists paraspec.txt, paramain.txt, paracom.txt, parasubs.txt, parasedim.txt and parabiolo.txt (+ output.dat file and mpi.txt) relative to the configuration PREV_CONFIG or REF_CONFIG

PREV_CONFIGPREV_CONFIG Makefile.linux files is copied from PREV_CONFIG directory –> update the

path in INCDIR and CPP variables

REF_CONFIGREF_CONFIG Makefile.linux is not changed –> the user has to change it in order to use

the same cpp keys and the same compiling options as the ones used in REF_CONFIG directory

Return new configuration list

Page 36: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

36

MARS environmentMARS environment Recovery of a previous configurationRecovery of a previous configuration

use of variable use of variable PREV_CONFIGPREV_CONFIG in makefile in makefile

MARS environmentMARS environment Recovery of a previous configurationRecovery of a previous configuration

use of variable use of variable PREV_CONFIGPREV_CONFIG in makefile in makefile ssh -X -l ssh -X -l usernameusername caparmor caparmor (connection to caparmor )

mkconfdir MENORMENOR V9.06 V9.06 [[33] ] (3 if ranks) (create directories for your configuration

(here CONF= MENOR, CASE= V9.06, 3 ranks) cd …cd … (follow the screen directive) (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)

gmake install (install the code for your configuration)

vi makefile : vi makefile : PREV_CONFIG =PREV_CONFIG =/export/home11/mars/CONFIG/MENOR/MARS/MARS_CONFIG/MENOR/MENOR-/export/home11/mars/CONFIG/MENOR/MARS/MARS_CONFIG/MENOR/MENOR-

V9.06 V9.06 (choose the name of the configuration you want to copy … without any blank at the end of the line)

gmake copyconfig gmake copyconfig (Rk : all user’s routines of MENOR-V9.06 are copied to the configuration).

vi Makefile.caparmorvi Makefile.caparmor[[_rankX_rankX]] update the file (if new cpp key or routines have been introduced in a new version of the reference

code ) ((compare with Makefile.caparmor_ref)

vi makefile vi makefile and change rank=0,1 or 2 in order to compile the code for this rankand change rank=0,1 or 2 in order to compile the code for this rank ((gmake clean )) ; ; gmake (compilation)

(To make sure you have the same code, compare smallf90 directory with (To make sure you have the same code, compare smallf90 directory with PREV_CONFIG/smallf90 directory)PREV_CONFIG/smallf90 directory)

Click for summary of what PREV_CONFIG is doing

Return new configuration list

Page 37: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

37

MARS environment (PREV_CONFIG summary)MARS environment (PREV_CONFIG summary)MARS environment (PREV_CONFIG summary)MARS environment (PREV_CONFIG summary)

$UDIR/CONF/CONF-CASEmakefile

Makefile.caparmor[_rankX]

tree of the reference code

$RDIR/CONF/CONF-CASE

$CDIR/WCONF-CASE

$HOMEMARS

(reference code)mkconfdir CONF CASE (rank)

OLD_CONFIG

(configuration to be used)

Verification : diff WORK OLD_CONFIG/WORK ; diff smallf90[_rankX] OLD_CONFIG/ smallf90[_rankX]

gmake install gmake copyconfiggmake

OLD_CONFIG routines

user’s routines

reference code

PREV_CONFIG = OLD_CONFIG (makefile)

mars_exe

user’s routines of OLD_CONFIG

Makefile.caparmor[_rankX]

user’s routines

Return new configuration list

link

smallf90

compilation

linkWORK

Page 38: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

38

MARS environmentMARS environment Recovery of a previous configuration Recovery of a previous configuration ((without rankwithout rank))

use of variable use of variable REF_CONFIGREF_CONFIG in makefile in makefile

MARS environmentMARS environment Recovery of a previous configuration Recovery of a previous configuration ((without rankwithout rank))

use of variable use of variable REF_CONFIGREF_CONFIG in makefile in makefile

ssh -X -l ssh -X -l usernameusername caparmor caparmor (connection to caparmor )

mkconfdir MENORMENOR V9.06 V9.06 (create directories for your configuration

(here CONF= MENOR, CASE= V9.06) cd …cd … (follow the screen directive) (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)

vi makefile : vi makefile : REF_CONFIG =REF_CONFIG =/export/home11/mars/CONFIG/MENOR/MARS/MARS_CONFIG/MENOR/MENOR-V9.06 /export/home11/mars/CONFIG/MENOR/MARS/MARS_CONFIG/MENOR/MENOR-V9.06 (choice the name of the configuration you wants to copy … without blank at the end of the line)

vi Makefile.caparmor vi Makefile.caparmor Choose the same compiling options and cpp keys… as those in

REF_CONFIG/Makefile.caparmor If ranks :If ranks :

cp REF_CONFIG/INC/parameters.F90_rank* INC/. If test case :If test case :

cp REF_CONFIG/INC/parameters.F90_casXXX INC/.

gmake gmake install (install the code for your configuration)

gmake (compilation)

(To make sure you have the same code, compare smallf90 directory with REF_CONFIG/smallf90 (To make sure you have the same code, compare smallf90 directory with REF_CONFIG/smallf90 directory)directory)

Rk : all user’s routines of MENOR-V9.06 are compiled but they are not copied in your directory $UDIR/CONF/CONF-CASE.

NEVER ERASE DIRECTORY REF_CONFIG !!!!!

Return new configuration list

Page 39: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

39

MARS environmentMARS environment Recovery of a previous configuration Recovery of a previous configuration ((with rankwith rank))

use of variable use of variable REF_CONFIGREF_CONFIG in makefile in makefile

MARS environmentMARS environment Recovery of a previous configuration Recovery of a previous configuration ((with rankwith rank))

use of variable use of variable REF_CONFIGREF_CONFIG in makefile in makefile

ssh -X -l ssh -X -l usernameusername caparmor caparmor (connection to caparmor )

mkconfdir MENORMENOR V9.06 2 V9.06 2 (create directories for your configuration

(here CONF= MENOR, CASE= V9.06, 2 ranks) cd …cd … (follow the screen directive) (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)

vi makefile : vi makefile : REF_CONFIG= REF_CONFIG= /export/home1/vgarnier/MARS_CONFIG//export/home1/vgarnier/MARS_CONFIG/calvcalv//calvcalv-V9.06-V9.06 (choice the name of the configuration you wants to copy … without blank at the end of the line)

get routines parameters.F90 of each rankget routines parameters.F90 of each rank cp /export/home1/vgarnier/MARS_CONFIG/calv/calv-V9.06/INC/parameters.F90_rank* INC/.

vi Makefile.caparmor_rankX vi Makefile.caparmor_rankX Choose the same compiling options and cpp keys… as those in

REF_CONFIG/Makefile.caparmor gmake gmake install (install the code for your configuration)

vi makefile vi makefile (change RANK =)(change RANK =) ; gmake clean; ; gmake clean; gmake (compilation of each rank)

Rk : all user’s routines of MENOR-V9.06 are compiled but they are not copied in your directory $UDIR/CONF/CONF-CASE.

NEVER ERASE THE REF_CONFIG DIRECTORY !!!!!

Return new configuration list

Page 40: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

40

MARS environment (REF_CONFIG summary)MARS environment (REF_CONFIG summary)MARS environment (REF_CONFIG summary)MARS environment (REF_CONFIG summary)

$UDIR/CONF/CONF-CASEmakefile

Makefile.caparmor[_rankX]

tree of the reference code

$RDIR/CONF/CONF-CASE

$CDIR/WCONF-CASE

$HOMEMARS

(reference code)mkconfdir CONF CASE (rank)

OLD_CONFIG

(configuration to be used)

Verification : diff WORK OLD_CONFIG/WORK ; diff smallf90[_rankX] OLD_CONFIG/ smallf90[_rankX]

gmake install

gmake

OLD_CONFIG routines

user’s routines

reference code

REF_CONFIG = OLD_CONFIG (makefile)

user’s routines

cp OLD_CONFIG/Makefile_caparmor[_rankX] .

(modify INCDIR,CPP)cp OLD_CONFIG/parameters.F90_rank* INC/.

mars_exe

Return new configuration list

Page 41: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

41

MARS environment : Update of a configuration (1)MARS environment : Update of a configuration (1)MARS environment : Update of a configuration (1)MARS environment : Update of a configuration (1)

change the number of reference code version in .cshrc.caparmor (or env_MARS_VX.XX) setenv HOMEMARS /export/home11/mars/CODE_MARS/CODE_MARS_V9/V9.06/Mars_Agrif2

Verify you have in .cshrc.caparmor :

setenv HTTPSVNROOT https://forge.ifremer.fr/svn/mars3dsetenv extranet_login yours (Set your extranet_login name)

 

Run .cshrc.caparmor typing :

source .cshrc.caparmor 

Page 42: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

42

MARS environment : Update of a configuration (2)MARS environment : Update of a configuration (2)MARS environment : Update of a configuration (2)MARS environment : Update of a configuration (2)

update user's routines

without SubVersioN without SubVersioN use use click here

oror

with SubversioNwith SubversioN use: use: click here

create a new configuration : mkconfdir MENORMENOR V9.06 V9.06 (CONFIG=MENOR, new case or new version : V9.06) cd ... (follow the screen directive) gmake install (install the code for your configuration – useless if you update with subversion)

vi makefile : PREV_CONFIG = /export/home1/vgarnier/MARS_CONFIG/MENOR/MENOR-old gmake copyconfig vi Makefile.caparmor[_rankX] : update if new cpp key or routines have been introduced in

the new version (compare to Makefile.caparmor_ref)

 

WARNING : No gmake at this step

Page 43: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

43

MARS environment : Update of a configuration (2)MARS environment : Update of a configuration (2) [ [without SubVersioN usewithout SubVersioN use]]

MARS environment : Update of a configuration (2)MARS environment : Update of a configuration (2) [ [without SubVersioN usewithout SubVersioN use]]

  

update user's routines without SubVersioN usewithout SubVersioN use

a - notice which user’s routines has been modified in reference MARS code (the list of modified routines is published at each new version – or

compare the routines between the old and the new $HOMEMARS)  b – visualize the modifications introduced by the user vimdiff WORK/routine.F90 $HOMEMARS/../Mars_Agrif2_old/...../routine.F90

c - visualize the modifications introduced into the new reference version in

comparison to the old reference version vimdiff $HOMEMARS/../Mars_Agrif2_XXX/...../routine.F90

$HOMEMARS/../Mars_Agrif2_old/...../routine.F90

 

Page 44: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

44

MARS environment : Update of a configuration (3)MARS environment : Update of a configuration (3) [ [without SubVersioN usewithout SubVersioN use]]

MARS environment : Update of a configuration (3)MARS environment : Update of a configuration (3) [ [without SubVersioN usewithout SubVersioN use]]

  d - 2 cases 1st case : the number of modifications introduced by the user is small ---> getfile WORK/routine.F90 (get the routine of the new reference code because the code has not

been compiled yet) ---> introduce user’s modifications  2nd case : the number of modifications introduced by the user is larger that

the number of modifications introduced into the new reference code ---> introduce modifications of the new reference code into the user’s

routine 

choice CPP Keys (in Makefile_caparmor) then gmake

cd $RDIR/CONF/CASE (click here to continue)

Page 45: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

45

MARS environment : Update of a configuration (2’) MARS environment : Update of a configuration (2’) [[with SubVersionwith SubVersion]]

MARS environment : Update of a configuration (2’) MARS environment : Update of a configuration (2’) [[with SubVersionwith SubVersion]]

    install and update user's routines

gmake update "OLDREV=XXX" "NEWREV=YYY" (check the number into $HOMEMARS/../DOC/list_version -FIRST COLUMN- )

  [vi $HOMEMARS/../DOC/list_version to get XXX YYY relative to the old and new versions] this command updates all the routines of the current tree from an old revision XXX to the current one YYY

using SubVersioN (you need a client of SubVersioN installed on your machine. Available under caparmor for all the users)

    resolve conflicts for routines described by “C”a – open 3 windowsb – windows 1 : visualize modifications introduced by the user in old version

Setenv HOMEMARS /export/home11/mars/CODE_MARS/V7.71 (only in this window)Cmpfile routine.F90

b – windows 2 : visualize modifications introduced into the new reference version by comparison to the old reference version

vimdiff $HOMEMARS/...../routine.F90 /export/home11/mars/CODE_MARS/V7.71/Mars_Agrif2/…/routine.F90c – windows 3 : correct user’s changes taking care of the modifications added in the reference code. Delete warning

comments relative to the merge (<<<<.working ; >>>>.merge.right.rXXX ; >>>>>>.merge.left.rXXX)

Cmpfile routine.F90 

choice CPP Keys (in Makefile_caparmor) then gmake

cd $RDIR/CONF/CASE

Page 46: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

46

MARS environment : Update of a configuration (4)MARS environment : Update of a configuration (4)MARS environment : Update of a configuration (4)MARS environment : Update of a configuration (4)

  update files paramain.txt… under $RDIR/CONF/CONF-CASE

Run the new configuration and the old one in sequential with no optimization option de compilation (FLAG = -r8 –O0)

The update is finished and secured If you get exactly the same results (all digits) when you compare files named “listing”,

files that contain maximum velocities at different time steps, Otherwise, if you can explain differences.

Consequently, you need to get exactly the same results before introducing the corrections or evolutions that modify results. These corrections/evolutions are listed in the file list_modif_V6 supplied at each new version.

Return new configuration list

Page 47: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

rMARS environment (summary)MARS environment (summary)MARS environment (summary)MARS environment (summary)

mkconfdir CONF CASE (rank); gmake install; gmake; getfile WORK/casvortex.F90

$UDIR/CONF/CONF-CASEmakefileMakefile.caparmor[_rankX]tree of the reference code INC; PHYS/*; BIOLO; TRAJ; SEDIM; SWAN; ..WORK/all the routines of the reference code (link to $CDIR)Version (contains used $HOMEMARS)(edit makefile and choose the RANK or test case)(edit Makefile.caparmor[_rankX] and choose CPP keys and compiling options)smallf90[_rankX] (link to $CDIR)PHYS/KTEST/casvortex.F90casvortex.F90 (link to PHYS/KTEST/casvortex.F90)edit and modify casvortex.F90, then compile

$CDIR/WCONF-CASEcopy of the entire reference codeWORK contains all the routine (links to PHYS/*…)smallf90[_rankX] contains all the compiled routines after preprocessing

47

Page 48: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

48

MARS environment (summary)MARS environment (summary)MARS environment (summary)MARS environment (summary)

$RDIR/CONF/CONF-CASEnamelists : paramain.txt, paraspec.txt, paracom.txt,

parasubs.txt,parasedim.txt,parabiolo.txtoutput.datbatch_seq, batch_omp, runmpi_connect (which uses batch_mpi and

batch_connect(bydate) ), runmpt_connect…mpi.txt (for MPI purpose)mars_exe

Before running, the user has to : define all the parameters in the different namelist (para*) under inputs directory, define head.CONF under inputs directory, add the input files (like bathymetry, initial condition,

open boundary conditions…) under inputs directory, define all default .dat files read by the simulation (ex

river.dat)

Retour au Sommaire

Page 49: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

49

Before compilation – choice of CPP keys (1/5)Before compilation – choice of CPP keys (1/5)Before compilation – choice of CPP keys (1/5)Before compilation – choice of CPP keys (1/5)

In Makefile.caparmor : add CPP_keys in In Makefile.caparmor : add CPP_keys in CPPFLAGS =CPPFLAGS =

FORMAT BATHY FILE TO READ-Dkey_bathy_final to read definite bathymetry in netCDF format file (no more changes)

TIDES - choice of harmonic components-Dkey_tide_schwid schwiderski model (1980), modele de pg Islande-Portugal (5 km) (on progress)-Dkey_tide_fes2004 FES 2004-Dkey_tide_shom CST-Dkey_tide_lagoon lagoons of Banuyls and Marseilles-Dkey_tide_lagoon_marseille tide for Marseilles-Dkey_tide_lagoon_banyuls tide for Banyuls

MOMENTUM NON LINEAR TERMSdefault centered-Dkey_dyn_adv_quick QUICK -Dkey_dyn_adv_quickest QUICKEST-Dkey_dyn_adv_linear no nonlinear terms

PRESSURE GRADIENTdefault pressure jacobian-Dkey_dyn_pg_djcs Shchepetkin et al. 2004

WET DRYING-Dkey_dyn_wetdry_fct use of Flux Corrected Transport to correct ssh and velocity estimates and

keep positive water depths

Page 50: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

50

Before compilation – choice of CPP keys (2/5)Before compilation – choice of CPP keys (2/5)Before compilation – choice of CPP keys (2/5)Before compilation – choice of CPP keys (2/5)

In Makefile.caparmor : add CPP_keys in In Makefile.caparmor : add CPP_keys in CPPFLAGS =CPPFLAGS =

TRACER ADVECTION(xy direction)default Quick / Euler-Upwind scheme-Dkey_tssub_adv_ultimatequickest quickest scheme (xy direction) + ultimate limiter-Dkey_tssub_adv_ultimatequickestmacho quickest scheme (xy direction) + ultimate limiter

+ multidimensional extension macho-Dkey_tssub_adv_fourthorder fourth order centred scheme (xy direction)

(along z)default centered scheme-Dkey_tssub_wquickupwind QUICK scheme along the vertical (tracer advection)-Dkey_tssub_wcompact Upwind Compact and Conservative scheme along the vertical

TRACER DIFFUSIONdefault along sigma-Dkey_ts_diffh_geo along geopotential-Dkey_ts_diffh_rho along isopycnes

Page 51: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

51

Before compilation – choice of CPP keys (3/5) Before compilation – choice of CPP keys (3/5) Before compilation – choice of CPP keys (3/5) Before compilation – choice of CPP keys (3/5)

In Makefile.caparmor : add CPP_keys in In Makefile.caparmor : add CPP_keys in CPPFLAGS =CPPFLAGS =

HEAT FLUX (radiative fluxes - long and short waves)-Dkey_sflx_solar_luyten Luyten et al, 1992-Dkey_sflx_solar_gill Gill, 1982-Dkey_sflx_ir_swimbank Swimbank (Agoumi thesis)

HEAT TURBULENT FLUXES (latent and sensible fluxes and wind stresses)-Dkey_sflx_turb_fairall Fairall et al.,2003-Dkey_sflx_turb_ayina Ayina et Bentamy, 2007-Dkey_sflx_turb_large Large and Yeager, 2004-Dkey_sflx_turb_luyten Luyten et al, 1992-Dkey_turb_default POL, used for NOMADS 2 program

ROTATED GRID-Dkey_grid_rotated to use a rotated grid-Dkey_tide_saverotatedobc to save 2D obc for a rotated child rank

AGRIF-Dkey_agrif use both keys at the same time-Dkey_agrif -DAGRIF_MPI -Dkey_MPI_2D use these 4 keys at the same time to run with MPI

Page 52: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

52

Before compilation – choice of CPP keys (4/5)Before compilation – choice of CPP keys (4/5)Before compilation – choice of CPP keys (4/5)Before compilation – choice of CPP keys (4/5)

TRACER-Dkey_substance-Dkey_subs_part_eqsubdt to save time for substance with settling velocity

+ SEDIMENTOLOGY--Dkey_substance -Dkey_sedim -Dkey_sedim_mudsand to use mud/sand sediment module-Dkey_substance -Dkey_sedim -Dkey_sedim_mixsed to use mixed sediment module

+ BIOGEOCHEMISTRY AND CONTAMINANTS-Dkey_substance -Dkey_contaminant -Dkey_sedim -Dkey_sedim_mudsand add these keys if some contaminant are particulate-Dkey_species add this key to grouping species of a contaminant

+ BIOLOGY-Dkey_substance -Dkey_biolo-Dkey_messat add this key to read sea surface temperature mesurement

In Makefile.caparmor : add CPP_keys in In Makefile.caparmor : add CPP_keys in CPPFLAGS =CPPFLAGS =

Page 53: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

53

Before compilation – choice of CPP keys (5/5)Before compilation – choice of CPP keys (5/5)Before compilation – choice of CPP keys (5/5)Before compilation – choice of CPP keys (5/5)

MPI -Dkey_MPI_2D

MPI + OMP -Dkey_MPI_2D -Dkey_MPIOMP

TRAJECTORIES-Dkey_trajec3d trajectories for 3D simulations (called alone without -Dkey_ibm)

Individual Based Model-Dkey_ibm Biological processes for individual particules

(called alone without -Dkey_trajec3d)

TEST CASES-Dkey_tssub_casadvsmolartime test tracers schemes for Smolarkievicz configuration

OFFLINE (no estimate of dynamics, tracers advection only)-Dkey_offline_outuvflux save time averaged 3d velocities and sea level-Dkey_offline read time averaged dynamics variables and

run the code without the dynamics part

Retour au Sommaire

In Makefile.caparmor : add CPP_keys in In Makefile.caparmor : add CPP_keys in CPPFLAGS =CPPFLAGS =

Return new configuration list

Page 54: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

54

After compilation – Before runningAfter compilation – Before runningParametrization (1)Parametrization (1)

After compilation – Before runningAfter compilation – Before runningParametrization (1)Parametrization (1)

cd $RDIR/CONF/CONF-CASEcd $RDIR/CONF/CONF-CASE

Choice parameters and options in namelists files : paramain.txt : general for the configuration (shared with all ranks) paracom.txt : shared with all ranks paraspec.txt : different for each rank parasubs.txt : need if transport substances (key_substance) parasedim.txt : need if sediment using (key_sedim) parabiolo.txt : need if using modules for biology (key_biolo) paraconta.txt : need if using modules for contaminant (key_contaminant)

Choice of options and parameters definig outputs files in output.dat

Build a file mpi.txt (for MPI purpose if you want to divide the domain along X AND Y)

Page 55: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

55

After compilation – Before runningAfter compilation – Before runningParametrization (2)Parametrization (2)

After compilation – Before runningAfter compilation – Before runningParametrization (2)Parametrization (2)

cd $RDIR/CONF/inputscd $RDIR/CONF/inputs modify head.CONF (keep the same format !!!) add the input files (like bathymetry, initial condition, open boundary conditions,

meteo …) modify all default .dat files read by the simulation before any use and

add the good path in namelists (ex river.dat, trajec2d*.dat, outflow.dat, variables.dat)

cd $RDIR/CONF/CONF-CASEcd $RDIR/CONF/CONF-CASE Run with mars_exe or in batch with batch_seq, batch_omp, runmpi_connect

(which uses batch_mpi and batch_connect(bydate) ), or runmpt_connect… depending of your choice (click here for details)

Retour au Sommaire

Page 56: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

56

A default file head.CONF is automatically copied onto inputs directory DO NOT MODIFY ITS FORMAT (no more space or less space !) The first 4 letters must be equal to the variable nrac in routine parameters.F90 The following number is the number of the rank The 4 following reals define the extension of the domain

Northern latitude (at jmax) Southern latitude (at jmin+1) Eastern longitude (at imax) Western longitude (at imin+1)

The 2 The 2 following reals set the step of latitude and longitude respectively (in degrees)set the step of latitude and longitude respectively (in degrees) The 2 The 2 following reals set the averaged step of latitude and longitude respectively (in meter) set the averaged step of latitude and longitude respectively (in meter)

– indicative values, not used by the model– indicative values, not used by the model 1st integer = imax1st integer = imax 2nd integer = jmax2nd integer = jmax The last 4 integers are the location of the open boundaries of the following rank (child grid)

in the grid of the current rank : jobcmax,jobcmin,iobcmax,iobcmin. The last 4 letters is the CONF name of the child grid (following rank or rank of another

configuration as a unique rank is able to save 2d open bounary files for several configurations at a same time)

PS : to save several 2d obc files, duplicate the line and modify the last 4 integers and the last 4 letters.

Parametrization (3) : File head.CONFParametrization (3) : File head.CONFParametrization (3) : File head.CONFParametrization (3) : File head.CONF

Return to parametrization

Page 57: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

57

Parametrization (4a)Parametrization (4a) : file output.dat : file output.datParametrization (4a)Parametrization (4a) : file output.dat : file output.dat

THREE REQUIREMENTS :THREE REQUIREMENTS :

1.1. THE MAIN OUPUT MUST BE DEFINED AT FIRSTTHE MAIN OUPUT MUST BE DEFINED AT FIRST

2.2. The user can choose l_demer=.true. or l_out_precdate=.true. (both at the same time is not allowed)The user can choose l_demer=.true. or l_out_precdate=.true. (both at the same time is not allowed)

3.3. The choice l_demer=.true. or l_out_precdate=.true. is possible just once inside the file output.dat.The choice l_demer=.true. or l_out_precdate=.true. is possible just once inside the file output.dat.

Definition of parameters are given at the beginning of the Definition of parameters are given at the beginning of the output.datoutput.dat file file

See below the list of parametersSee below the list of parameters

setting up of output filessetting up of output files Located under $RDIR/CONF/CONF-CASE(/rank*) Located under $RDIR/CONF/CONF-CASE(/rank*)

Return to parametrization

Page 58: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

58

Parametrization (4b)Parametrization (4b) : file output.dat : file output.datParametrization (4b)Parametrization (4b) : file output.dat : file output.dat

****************************************************************************************************************************************************** Champs ,| Champs ,| the name of the output file will be champs_suffix.nc, suffix being defining in paracom.txtthe name of the output file will be champs_suffix.nc, suffix being defining in paracom.txt 06/03/2005 00:00:00 ,| 06/03/2005 00:00:00 ,| date_startoutdate_startout (date of the beginning output) (date of the beginning output) 09/03/2005 00:00:00 ,| 09/03/2005 00:00:00 ,| date_endoutdate_endout (date to the end output) (date to the end output)

1.0d0 ,| 1.0d0 ,| pasor pasor (time step of saving)(time step of saving) .true. ,| .true. ,| l_posit l_posit (.true. If horizontal extent given with indexes i & j ;(.true. If horizontal extent given with indexes i & j ; .false. if given with longitude/latitudes).false. if given with longitude/latitudes) 0 421 0 501 ,| 0 421 0 501 ,| iextmin,iextmax,jextmin,jextmax iextmin,iextmax,jextmin,jextmax (horizontal extent)(horizontal extent) 1 30 ,| 1 30 ,| kextmin,kextmax (between 1 and kmax) kextmin,kextmax (between 1 and kmax) (vertical extent)(vertical extent) 1 1 1 ,| 1 1 1 ,| i-step,j-step,k-step i-step,j-step,k-step (space step for i,j, k)(space step for i,j, k) .false. ,| .false. ,| l_filebydate l_filebydate (a file for each date (if.true) or all records in the same (oif false)(a file for each date (if.true) or all records in the same (oif false) .false. ,| .false. ,| l_out_off l_out_off (saving of 3D velocities in conservative flux form (for offline purpose)(saving of 3D velocities in conservative flux form (for offline purpose) .false. ,| .false. ,| l_out_precdate l_out_precdate (saving at precise dates)(saving at precise dates) .false. ,| .false. ,| l_demer l_demer (filtering fields using Demerliac filter)(filtering fields using Demerliac filter) .true. ,| .true. ,| l_out_ssh l_out_ssh (saving of sea surface height)(saving of sea surface height) .true. ,| .true. ,| l_out_ubt l_out_ubt (saving of barotropic (2D) velocities)(saving of barotropic (2D) velocities) .false. ,| .false. ,| l_out_u3d l_out_u3d (saving of total (3D) velocities)(saving of total (3D) velocities) .true. ,| .true. ,| l_out_sal l_out_sal (saving of salinities)(saving of salinities) .false. ,| .false. ,| l_out_temp l_out_temp (saving of temperature)(saving of temperature) .false. ,| .false. ,| l_out_wind l_out_wind (saving of wind stress)(saving of wind stress) .false. ,| .false. ,| l_out_visc l_out_visc (saving of viscosity coefficients)(saving of viscosity coefficients) .false. ,| .false. ,| l_out_turb l_out_turb (saving of turbulence coefficients)(saving of turbulence coefficients) .false. ,| .false. ,| l_out_buoy l_out_buoy (saving of buoyancy)(saving of buoyancy) .false..false. ,|,| L_out_ atmsflx L_out_ atmsflx (saving of cumulative atmospheric fluxes)(saving of cumulative atmospheric fluxes) .false.false. , . , ,| ,| l_out_wave l_out_wave (saving of waves parameters)(saving of waves parameters) ******************************************************************************************************************************************************

Return to parametrization

Page 59: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

59

MPI job : domain decomposition (1/2)MPI job : domain decomposition (1/2)MPI job : domain decomposition (1/2)MPI job : domain decomposition (1/2)

PREPARATION : PREPARATION : Create a mpi.txt file if you want to divide your Create a mpi.txt file if you want to divide your domain along X and Ydomain along X and Y

Use decoupe program under $HOMEMARS/../TOOLS/MPI2D_DOMAIN (see Readme.txt)

cp bathy_CONF.txt $RDIR/CONF/CONF-CASE[/rankX]/mpi.txt

MPI2D management :MPI2D management :

none mpi.txt, imax > jmax :

domain decomposition through vertical stripes

none mpi.txt, jmax > imax :

domain decomposition through vertical stripes

mpi.txt exist (issued from decoupe program) :

optimized 2D domain decomposition

Page 60: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

rMPI job : domain decomposition : mpi.txt 2/2)MPI job : domain decomposition : mpi.txt 2/2)MPI job : domain decomposition : mpi.txt 2/2)MPI job : domain decomposition : mpi.txt 2/2)

42 total

7 largeur

6 hauteur

42 demandé

32 nb actifs Niproc Njproc limin limax ljmin ljmax actif effectif

0 0 0 195 0 62 T 11251

1 0 196 350 0 62 T 7966

2 0 351 487 0 62 T 8631

3 0 488 604 0 62 T 5945

0 1 0 195 63 134 T 11209

1 1 196 350 63 134 T 11160

2 1 351 487 63 134 T 9864

5 1 791 942 63 134 T 11225

6 1 943 1100 63 134 T 4644

0 3 0 195 207 288 F 0

1 3 196 350 207 288 T 10977

2 3 351 487 207 288 T 11234

3 3 488 604 207 288 T 8792

4 3 605 790 207 288 T 10516

5 3 791 942 207 288 T 1878

6 3 943 1100 207 288 F 0

0 4 0 195 289 384 F 0

For simplification purpose, this file is not

complete

Retour au Sommaire Return to parametrization

Page 61: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

rMARS USEMARS USE

How to run a jobHow to run a jobMARS USEMARS USE

How to run a jobHow to run a job

cd $RDIR/CONF/CONF-CASE/(rank*)cd $RDIR/CONF/CONF-CASE/(rank*)

Sequential jobSequential job

OpenMP jobOpenMP job

MPI jobMPI job

Hybrid job Hybrid job (MPI+OPENMP)(MPI+OPENMP)

PATHS , MODULES and batchs are specific of each wayPATHS , MODULES and batchs are specific of each way

batch_seq, batch_omp, batch_seq, batch_omp, RunmpiRunmpi[t][t]_connect and batch_ompmpi_connect and batch_ompmpi[t][t]** etc…. etc….

are created at the time of the creation of the configuration (mkconfdir). are created at the time of the creation of the configuration (mkconfdir).

They are copied automatically under $RDIR/CONF/CONF-CASE/(rank*)They are copied automatically under $RDIR/CONF/CONF-CASE/(rank*)

Retour au Sommaire

Page 62: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

62

Sequential jobSequential jobSequential jobSequential job

PATH & MODULES (caparmor)PATH & MODULES (caparmor) source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073 (module load intel-comp/11.1.073 (path for intel fortran and c++)path for intel fortran and c++)

COMPILATIONCOMPILATION cd cd $UDIR$UDIR/CONF/CONF-CASE/CONF/CONF-CASE vi Makefile.caparmor[_rankX]vi Makefile.caparmor[_rankX]

FC = ifort ; LINKER = ifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2 CPPFLAGS = everything except key_MPI_2D OMP = (empty)

CompileCompile

RUNRUN

If interactive job over 10’ maximum : If interactive job over 10’ maximum : mars_exemars_exe

If long run (> 10 min under caparmor calculator) : If long run (> 10 min under caparmor calculator) : qsub batch_seqqsub batch_seq

This sequential job is possible if you are using :This sequential job is possible if you are using :

Return to run job

Page 63: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

63

OpenMP jobOpenMP jobOpenMP jobOpenMP job

RUNRUN qsub ./batch_ompqsub ./batch_omp (queue parallel8) (queue parallel8)

select=1 to use with 1 unique node ncpus=8 to use 8 CPUs by node

PATH & MODULES (caparmor)PATH & MODULES (caparmor) source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073 (module load intel-comp/11.1.073 (path for intel fortran and c++)path for intel fortran and c++)

COMPILATIONCOMPILATION cd cd $UDIR$UDIR/CONF/CONF-CASE/CONF/CONF-CASE vi Makefile.caparmor[_rankX]vi Makefile.caparmor[_rankX]

FC = ifort ; LINKER = ifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2 CPPFLAGS = everything except key_MPI_2D OMP = -openmp

CompileCompile

This OpenMP job is possible if you are using :This OpenMP job is possible if you are using :

(click here (click here to see an example of batch_omp file))

Return to run job

Page 64: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

64

MPI job (1/3)MPI job (1/3)MPI job (1/3)MPI job (1/3)RUN RUN MPI linuxMPI linux runmpi_connect name_run name_outputfile nb_cpu Z [$HOME]MPT = MPI for SGI but more efficient than MPI under CaparmorMPT = MPI for SGI but more efficient than MPI under Caparmor runmpt_connect name_run name_outputfile nb_cpu Z [$HOME]

name_run : will get name_run0.oXXX and name_run1.oXXX files at the end of the job, XXX being the job number under caparmor

name_outputfile = “string_suffix”, “string” is choosen at the first line in output.dat, suffix is defined in paracom.txt (ex : champs_V9.06)

nb_cpu : from 2 to XXX Z=0 if l_out_nc4par=.true. ; Z=1 if l_out_nc4par=.false. And l_filebydate=.false. ;

Z=2 if l_out_nc4par=.false. and l_filebydate=.true. The fifth argument [home] allows a faster creation of the concatened

champs_VX.nc.all file under Caparmor calculator This script submits the mpi run and the gathering of output files

((1st use of MPI1st use of MPI : :

cd $HOME (off Caparmor) ; cd $HOME (off Caparmor) ; mkdir pbs ; touch .mpd.conf ; chmod 600 .mpd.conf)mkdir pbs ; touch .mpd.conf ; chmod 600 .mpd.conf)

(click here (click here to see an example to see an example of batch_mpi file which is of batch_mpi file which is

launched by runmpi_connectlaunched by runmpi_connect))

Page 65: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

65

MPI job (2/3)MPI job (2/3)MPI job (2/3)MPI job (2/3)

PATH & MODULES (caparmor)PATH & MODULES (caparmor)

MPI linuxMPI linux source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073 (module load intel-comp/11.1.073 (path for intel fortran and c++)path for intel fortran and c++) module load intel-mpi/4.0.0.028 (path for library MPI)module load intel-mpi/4.0.0.028 (path for library MPI)

MPT (=MPI for SGI, more efficient under Caparmor)MPT (=MPI for SGI, more efficient under Caparmor) source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073 (module load intel-comp/11.1.073 (path for intel fortran and c++)path for intel fortran and c++) module load mpt/2.01 (path for library MPT) (better to use the command module load mpt/2.01 (path for library MPT) (better to use the command

module switch intel-mpi mpt/2.01)module switch intel-mpi mpt/2.01)

This MPI job is possible if you are using :This MPI job is possible if you are using :

Page 66: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

66

MPI job (3/3)MPI job (3/3)MPI job (3/3)MPI job (3/3)

COMPILATIONCOMPILATION

cd $UDIR/CONF/CONF-CASE vi Makefile.caparmor[_rankX]

FC = mpiifort ; LINKER = mpiifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2_par (for MPI use) DIRNC = /home1/caparmor/rramel/netcdf4.1.2_mpt (for MPT use) CPPFLAGS = add -Dkey_MPI_2D OMP = (empty)

Compile

This MPI job is possible if you are using for :This MPI job is possible if you are using for :

Return to run job

Page 67: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

67

Hybrid job (openMP+MPI) (1/3)Hybrid job (openMP+MPI) (1/3)Hybrid job (openMP+MPI) (1/3)Hybrid job (openMP+MPI) (1/3)

RUN RUN

MPI linuxMPI linux runmpiomp_connect name_run name_outputfile nb_cpu

nb_omp Z [$HOME]

MPT = MPI for SGIMPT = MPI for SGI runmptomp_connect name_run name_outputfile nb_cpu

nb_omp Z [$HOME]

nb_cpu is the total cpus used for the run nb_omp is the number of processes involved in the OMP parallelization. It

must be smaller or equal to 8 (on Caparmor, since there are 8 cpus a node) The number of MPI cpus is nb_cpu / nb_cpu. nb_cpu must be a multiple of

nb_cpu ! For the other arguments, same signification as for runmpi_connect

Page 68: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

68

Hybrid job (openMP+MPI) (2/3)Hybrid job (openMP+MPI) (2/3)Hybrid job (openMP+MPI) (2/3)Hybrid job (openMP+MPI) (2/3)

PATH & MODULES (caparmor)PATH & MODULES (caparmor) MPI linuxMPI linux

source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073 (module load intel-comp/11.1.073 (path for intel fortran and c++)path for intel fortran and c++) module load intel-mpi/4.0.0.028 (path for library MPI)module load intel-mpi/4.0.0.028 (path for library MPI)

MPT (=MPI for SGI)MPT (=MPI for SGI) source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073 (module load intel-comp/11.1.073 (path for intel fortran and c++)path for intel fortran and c++) module mpt/2.01 (path for library MPT) (better to use the command module mpt/2.01 (path for library MPT) (better to use the command

module switch intel-mpi mpt/2.01)module switch intel-mpi mpt/2.01)

This openMP+MPI job is possible if you are using :This openMP+MPI job is possible if you are using :

Page 69: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

69

Hybrid job (openMP+MPI) (3/3)Hybrid job (openMP+MPI) (3/3)Hybrid job (openMP+MPI) (3/3)Hybrid job (openMP+MPI) (3/3)

COMPILATIONCOMPILATION cd $UDIR/CONF/CONF-CASE vi Makefile.caparmor[_rankX]

FC = mpiifort ; LINKER = mpiifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2_par (for MPI use) DIRNC = /home1/caparmor/rramel/netcdf4.1.2_mpt (for MPT use) CPPFLAGS = add -Dkey_MPI_2D –Dkey_MPIOMP OMP = -openmp

Compile

This openMP+MPI job is possible if you are using :This openMP+MPI job is possible if you are using :

Return to run job

Page 70: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

70

Run a job under caparmor : example of a batch file (OMP)Run a job under caparmor : example of a batch file (OMP)Run a job under caparmor : example of a batch file (OMP)Run a job under caparmor : example of a batch file (OMP)

Batch_ompBatch_omp #!/bin/csh #!/bin/csh ! Script in cshell #PBS -q parallel8 #PBS -q parallel8 ! Choice of the queue #PBS -l select=1:ncpus=4 #PBS -l select=1:ncpus=4 ! 1 node, 4 cpus

# get the path for library MKL# get the path for library MKL source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load cmkl/recentmodule load cmkl/recent setenv MKL_SERIAL YESsetenv MKL_SERIAL YES

#default OMP_SCHEDULE is "static", instead use dynamic for mars#default OMP_SCHEDULE is "static", instead use dynamic for mars setenv OMP_SCHEDULE "dynamic,1" setenv OMP_SCHEDULE "dynamic,1"

# cd to the directory you submitted your job# cd to the directory you submitted your job cd $PBS_O_WORKDIRcd $PBS_O_WORKDIR pwdpwd

datedate ./mars_exe > ./mars_out_omp./mars_exe > ./mars_out_omp datedate

Retour au Sommaire Return to run job

Page 71: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

71

Run a job under caparmor : example of a batch file (MPI)Run a job under caparmor : example of a batch file (MPI)Run a job under caparmor : example of a batch file (MPI)Run a job under caparmor : example of a batch file (MPI)

Defined from runmpi_connect that launches batch_mpi #PBS -q parallel#PBS -q parallel88 ! Choice of the queue #PBS -l select=#PBS -l select=11:ncpus=4:mpiprocs=4 :ncpus=4:mpiprocs=4 ! 1 node, 4 cpus and 4 procs a node (one is

certain not to share the node with another job)

Batch_mpiBatch_mpi #!/bin/csh #!/bin/csh ! Script in cshell # get the path for mpirun# get the path for mpirun source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-mpi/recentmodule load intel-mpi/recent # get the path for library MKL# get the path for library MKL module load cmkl/recentmodule load cmkl/recent setenv MKL_SERIAL YESsetenv MKL_SERIAL YES

# cd to the directory you submitted your job# cd to the directory you submitted your job cd $PBS_O_WORKDIRcd $PBS_O_WORKDIR pwdpwd

datedate mpirun -np $number_cpu time ./mars_exe > ./mars_out_mpimpirun -np $number_cpu time ./mars_exe > ./mars_out_mpi datedate

Retour au Sommaire Return to run job

Page 72: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

72

batch_seq, batch_omp, are created at the time of the creation of the batch_seq, batch_omp, are created at the time of the creation of the configuration (mkconfdir). They are copied automatically under configuration (mkconfdir). They are copied automatically under $RDIR/CONF/CONF-CASE/(rank*)$RDIR/CONF/CONF-CASE/(rank*)

Path and modules (caparmor)Path and modules (caparmor) source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073module load intel-comp/11.1.073

Sequential jobSequential job Makefile.caparmor :

FC = ifort ; LINKER = ifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2

qsub batch_seq

OpenMP jobOpenMP job Makefile.caparmor :

FC = ifort ; LINKER = ifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2 OMP = -openmp

qsub batch_omp

Run a job under caparmor (Summary 1/2)Run a job under caparmor (Summary 1/2)Run a job under caparmor (Summary 1/2)Run a job under caparmor (Summary 1/2)

Page 73: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

73

Run a job under caparmor (Summary 2/2)Run a job under caparmor (Summary 2/2)Run a job under caparmor (Summary 2/2)Run a job under caparmor (Summary 2/2)RunmpiRunmpi[t][t]_connect and batch_ompmpi_connect and batch_ompmpi[t][t]* are created at the time of the creation of the * are created at the time of the creation of the configuration (mkconfdir). They are copied automatically under $RDIR/CONF/CONF-configuration (mkconfdir). They are copied automatically under $RDIR/CONF/CONF-CASE/(rank*)CASE/(rank*)

Path and modules (caparmor)Path and modules (caparmor) source /usr/share/modules/init/cshsource /usr/share/modules/init/csh module load intel-comp/11.1.073module load intel-comp/11.1.073 module load intel-mpi/4.0.0.028 module load intel-mpi/4.0.0.028 oror module mpt/2.01 module mpt/2.01

MPI jobMPI job Makefile.caparmor :

FC = mpiifort ; LINKER = mpiifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2_par (for MPI use) DIRNC = /home1/caparmor/rramel/netcdf4.1.2_mpt (for MPT use) CPPFLAGS = add -Dkey_MPI_2D

runmpi[t][t]_connect name_run name_outputfile nb_cpu 1/2 [$HOME]

MPI-OpenMP jobMPI-OpenMP job Makefile.caparmor :

FC = mpiifort ; LINKER = mpiifort DIRNC = /home1/caparmor/rramel/netcdf4.1.2_par (for MPI use) DIRNC = /home1/caparmor/rramel/netcdf4.1.2_mpt (for MPT use) CPPFLAGS = add -Dkey_MPI_2D -Dkey_MPIOMP OMP = -openmp

runmpi[t][t]omp_connect name_run name_outputfile nb_cpu nb_omp 1/2 [$HOME] nb_cpu must be a multiple of nb_omp

Retour au Sommaire

Page 74: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

74

How to use a test case ? How to use a test case ?

ssh -X -l username caparmorssh -X -l username caparmor mkconfdir grav V9.06 mkconfdir grav V9.06 (CONF=grav, CASE=V9.06)

cd … (follow the screen directive) cd … (follow the screen directive) vi makefile vi makefile

TESTCASE = 'use' TEST = casgravadj (here choice of « casgravadj » test case)

Modify cpp key in ‘Makefile.caparmor’ as indicated above the variable TESTCASE in ‘makefile’

gmake installgmake install gmake or gmake or gmake clean; gmakegmake clean; gmake cd $RDIR/grav/grav-V9.06cd $RDIR/grav/grav-V9.06 mars_exemars_exe

Retour au Sommaire

Page 75: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

75

How to set a new test case ? How to set a new test case ? ssh -X -l username caparmorssh -X -l username caparmor mkconfdir ktest V9.06mkconfdir ktest V9.06 cd … (follow screen directive) cd … (follow screen directive) gmake installgmake install

getfile WORK/parameters.F90_casseamount mv INC/parameters.F90_casseamount INC/parameters.F90_casktest modifications of parameters.F90_casktest (num_testcase,l_testcase,imax,jmax,kmax), getfile WORK/seamount.F90 ls –lt mv PHYS/KTEST/seamount.F90 PHYS/KTEST/casktest.F90 modifications of casktest.F90 Introduction of routine casktest.F90 inside Makefile.caparmor getfile WORK/casinit.F90 Introduction of routine casktest.F90 inside casinit.F90, choose a number of test case

(num_testcase) and save the same num_testcase number in parameters.F90_casktest vi makefile :

TESTCASE = 'use' TEST = casktest

vi Makefile.caparmor (choice of CPP keys, compilation option)vi Makefile.caparmor (choice of CPP keys, compilation option) gmake or gmake or gmake clean; gmakegmake clean; gmake

Retour au Sommaire

Page 76: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

76

How to modify MARS codeHow to modify MARS codeHow to modify MARS codeHow to modify MARS code

Rules of use and coding inside MARS code

Add a new routine

Rules of use and coding inside MARS code

Add a new routine

Retour au Sommaire

Page 77: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

77

Rules of use and coding inside MARS codeRules of use and coding inside MARS codeRules of use and coding inside MARS codeRules of use and coding inside MARS code

1.1. MARS environmentMARS environment

2.2. Follow evolutions of the code (MAJ users)Follow evolutions of the code (MAJ users)

3.3. Report any evolutions or bugReport any evolutions or bug

4.4. CodeCode LANGUE : English LANGAGE : Fortran 90

1. none SAVE

2. none declaration integer :: i=0

3. No dynamics allocation of state variables

4. Logique l_ MODULES : gather routines inside a module

1. Module name : without _

2. routines : module name + _init...

3. ex module output content : routines output_init, output_mng,output_save

4. example of module : $HOMEMARS/../EXAMPLES/module_type.F90

5.5. Parallelization : results in sequential = results in parallel (all digits)Parallelization : results in sequential = results in parallel (all digits)

6.6. Update of a configuration : old version = new one (all digits)Update of a configuration : old version = new one (all digits)

7.7. Ask Franck or Valérie for any new developmentAsk Franck or Valérie for any new development

Page 78: MARS environment Sommaire        (click on each chapter to go directly in)

Mars : Mars : Version 9.06Version 9.06Mars : Mars : Version 9.06Version 9.06

l fre

me

r

78

Add a new routineAdd a new routineAdd a new routineAdd a new routine cd $UDIR/CONF/CONF-CASEcd $UDIR/CONF/CONF-CASE save routine undersave routine under

PHYS/KTEST if it is a test case PHYS/M2D if concerns 2D code PHYS/MAIN if it is a main routine PHYS/COL if it is a routine called during computation along the column PHYS/ROW if it is a routine called during computation along the row PHYS/INIT if routine of initialization PHYS/TRA if concerns tracers temp, sal or passives tracers PHYS/SFLX if concerns atmospherical fluxes BIOLO if it is a routine relative to the biological dynamics TRAJ if concerns trajectories IBM if concerns Individual Based Model SEDIM if concerns sedimentology CONTA if concerns contaminants

vi Makefile.caparmor[_rankX] or Makefile.linux[_rankX]vi Makefile.caparmor[_rankX] or Makefile.linux[_rankX] add routine into list of routines

gmakegmake

Retour au Sommaire