Click Here
Click Here
06
Mars_Agrif2_V9.06
“MARS ENVIRONMENT’s manual”
1
Mars : Version 9.06
MARS environment
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
lfremer
Goals
lfremer
3
Mars : Version 9.06
Super-users
management and distribution (V. Garnier)
developments / evolutions (F. Dumas, V. Garnier, B. Thouvenin)
teaching and user’s help (S. Theetten)
MARS code
The complete MARS code (sources, namelist, environment, documentation and netcdf
libraries) is located in a directory defined by the environment variable $HOMEMARS
lfremer
Users
Run the code for personal configuration or use test cases
Improve the code (numerical developments…)
Report encountered problems or needs
Follow code improvements, keep configurations up to date
4
Retour au Sommaire Mars : Version 9.06
Reference
5
Mars : Version 9.06
MARS_CONFIG : mkconfdir :
compilation / code modification create the directories of a configuration
COMPILE_MARS : makefile :
compilation directory, manage the configuration
(choice of rank, test case, previous configurations),
lfremer
6
Retour au Sommaire Mars : Version 9.06
$HOMEMARS/
7
Mars : Version 9.06
alias mkconfdir=‘$HOMEMARS/../TOOLS/MARSENV/mkconfdir_linux’
alias getfile=‘$HOMEMARS/../TOOLS/MARSENV/getfile’
alias update=‘$HOMEMARS/../TOOLS/MARSENV/update’
9
Mars : Version 9.06
# UDIR :
type : mkdir /export/home/${USER}/MARS/MARS_CONFIG
# CDIR :
type : mkdir /export/home/${USER}/MARS/COMPILE_MARS
lfremer
# RDIR :
type : mkdir /export/home/${USER}/MARS/RUN_MARS
# CODE_MARS (if the reference MARS code is locally saved – not for IFREMER users)
type : mkdir /export/home/${USER}/MARS/CODE_MARS
10
Mars : Version 9.06
Important remark
meant for research institutes, private societies or labtop use
IFREMER users have no need to duplicate the code under their account
11
Mars : Version 9.06
Important 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
lfremer
12
Mars : Version 9.06
13
Mars : Version 9.06
zlib library
14
Mars : Version 9.06
hdf5 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 file
4. Installation
lfremer
netcdf4 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 file
4. Installation
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
lfremer
17
Mars : Version 9.06
File connexion
1. cd $HOMEMARS/../TOOLS/connect
2. Modify the library paths in compile_cap
3. Compile_cap
1. cd $HOMEMARS/../TOOLS/MPI2D_DOMAIN
2. Modify the library paths in makefile
3. make
lfremer
19
Retour au Sommaire Mars : Version 9.06
FERRET
20
Mars : Version 9.06
gmake cleaninst : empties the directory of compilation (useful when you want to
remove a user’s routine)
gmake update ["OLDREV=XXX" "NEWREV=YYY"] : sets the reference code into the
directory of compilation and updates user’s routines from revision XXX to revision
YYY
All these commands are launched from the directory MARS_CONFIG/conf/conf-
case, location where the user prepares the code he will run.
21
Retour au Sommaire Mars : Version 9.06
cmpfile routine.F90 : Easy way for making either a diff between a file in the
lfremer
22
MARS environment Mars : Version 9.06
mkconfdir command
creates all directories required for the implementation of a configuration
23
Return Liste commands Mars : Version 9.06
create empty directories INC PHYS TRAJ BIOLO SEDIM SWAN AGRIF
2. Create in $CDIR
$CDIR/WCONF-CASE
Create empty directory
3. Create in $RDIR
$RDIR/CONF/CONF-CASE $RDIR/CONF/inputs
Create directories – default namelist files paramain.txt, paraspec.txt,
- examples of files *.dat
paracom.txt, parasubs.txt, parasedim.txt, parabiolo.txt
to give the formats of the files
– output.dat file that allows the user to define the output files managing rivers, outflows,
variables, trajectories…
– script and batchs to run the executable
+ example of
– batch_connect and connect.exe files to gather MPI output files
(l_out_nc4par=.false.)
head.CONF file
24
Return Liste commands Mars : Version 9.06
2. Create in $CDIR
lfremer
3. Create in $RDIR
$RDIR/CONF/CONF-CASE
Create directories $RDIR/CONF/inputs
– default namelist files paramain.txt, paracom.txt - examples of files *.dat
to give the formats of the files
$RDIR/CONF/CONF-CASE /rank_0,
– default rank_1
namelist files et paraspec.txt,
rank_2 parasubs.txt….managing rivers, outflows,
each contains : variables, trajectories…
– output.dat file allows the user to define the output files
– script and batchs to run the executable + example of
– batch_connect and connect.exe files to gather MPI head.CONF
output files file
(l_out_nc4par=.false.) 25
Return Liste commands Mars : Version 9.06
Usage : cd $UDIR/CONF/CONF-CASE
gmake install
CODE_MARS COMPILE_MARS/WCONF-CASE
Reference ($HOMEMARS) Reference code
26
Return Liste commands Mars : Version 9.06
MARS_CONFIG/CONF/CONF-CASE COMPILE_MARS/WCONF-CASE
Reference code
User’s routines + modified user’s routines
lfremer
Usage : cd $UDIR/CONF/CONF-CASE
getfile WORK/routine.F90
Then, this routine can be modified by the user directly from the
directory MARS_CONFIG/CONF/CONF-CASE.
lfremer
28
Return Liste commands Mars : Version 9.06
MARS environment
remove a file modified by user
and back to reference
Usage : cd $UDIR/CONF/CONF-CASE
rmfile routine.F90
29
Return Liste commands Mars : Version 9.06
MARS environment
visualize differences between user’s routine and
reference code
Usage : cd $UDIR/CONF/CONF-CASE
cmpfile routine.F90
Default option launches tkdiff wheter -t option produces a diff -bic listing.
It can be used as template for personnal improvement.
30
Retour au Sommaire Mars : Version 9.06
MARS environment
new configuration
31
Return new configuration list Mars : Version 9.06
MARS environment
new configuration without rank
The rank_0 does not supply the rank_1 with open boundary conditions
32
Return new configuration list Mars : Version 9.06
MARS environment
new configuration with ranks
The rank_0 supplies the rank_1 with open boundary conditions (SSH)
getfile 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 and change rank=0,1 or 2 in order to compile the code for this rank
gmake clean ; gmake (compilation)
33
Mars : Version 9.06
MARS environment
why variables REF_CONFIG et PREV_CONFIG (1/2)
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)
lfremer
REF_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
34
Return new configuration list Mars : Version 9.06
MARS environment
Remarks on variables REF_CONFIG et PREV_CONFIG
(2/2)
PREV_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
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
lfremer
PREV_CONFIG
Makefile.linux files is copied from PREV_CONFIG directory –> update the
path in INCDIR and CPP variables
REF_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
35
Return new configuration list Mars : Version 9.06
MARS environment
Recovery of a previous configuration
use of variable PREV_CONFIG in makefile
ssh -X -l username caparmor (connection to caparmor )
mkconfdir MENOR V9.06 [3] (3 if ranks) (create directories for your configuration
(here CONF= MENOR, CASE= V9.06, 3 ranks)
cd … (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)
gmake install (install the code for your configuration)
vi makefile : PREV_CONFIG =/export/home11/mars/CONFIG/MENOR/MARS/MARS_CONFIG/MENOR/MENOR-
V9.06 (choose the name of the configuration you want to copy … without any blank at the end of the line)
gmake copyconfig (Rk : all user’s routines of MENOR-V9.06 are copied to the configuration).
vi Makefile.caparmor[_rankX]
lfremer
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 and 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
PREV_CONFIG/smallf90 directory)
$UDIR/CONF/CONF-CASE
makefile
Makefile.caparmor[_rankX] $CDIR/WCONF-CASE
tree of the reference code WORK link
reference code
lfremer
mars_exe
Verification :
diff WORK OLD_CONFIG/WORK ; diff smallf90[_rankX] OLD_CONFIG/ smallf90[_rankX]
37
Return new configuration list Mars : Version 9.06
MARS environment
Recovery of a previous configuration (without rank)
use of variable REF_CONFIG in makefile
ssh -X -l username caparmor (connection to caparmor )
mkconfdir MENOR V9.06 (create directories for your configuration
(here CONF= MENOR, CASE= V9.06)
cd … (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)
vi makefile : REF_CONFIG =/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)
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 !!!!!
vi Makefile.caparmor
lfremer
Choose the same compiling options and cpp keys… as those in REF_CONFIG/Makefile.caparmor
If ranks :
cp REF_CONFIG/INC/parameters.F90_rank* INC/.
If test case :
cp REF_CONFIG/INC/parameters.F90_casXXX INC/.
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
directory)
38
Return new configuration list Mars : Version 9.06
MARS environment
Recovery of a previous configuration (with rank)
use of variable REF_CONFIG in makefile
ssh -X -l username caparmor (connection to caparmor )
mkconfdir MENOR V9.06 2 (create directories for your configuration
(here CONF= MENOR, CASE= V9.06, 2 ranks)
cd … (follow the screen directive) (go in the directory $UDIR/CONFIG/CASE)
vi makefile : REF_CONFIG= /export/home1/vgarnier/MARS_CONFIG/calv/calv-V9.06
(choice the name of the configuration you wants to copy … without blank at the end of the line)
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 !!!!!
lfremer
vi Makefile.caparmor_rankX
Choose the same compiling options and cpp keys… as those in
REF_CONFIG/Makefile.caparmor
gmake install (install the code for your configuration)
vi makefile (change RANK =) ; gmake clean; gmake (compilation of each rank)
39
Return new configuration list Mars : Version 9.06
$UDIR/CONF/CONF-CASE
makefile
Makefile.caparmor[_rankX] $CDIR/WCONF-CASE
tree of the reference code reference code
lfremer
user’s routines
$RDIR/CONF/CONF-CASE
mars_exe
Verification :
diff WORK OLD_CONFIG/WORK ; diff smallf90[_rankX] OLD_CONFIG/ smallf90[_rankX]
40
Mars : Version 9.06
MARS environment : Update of a configuration (1)
41
Mars : Version 9.06
43
Mars : Version 9.06
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)
44
Mars : Version 9.06
[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)
Run the new configuration and the old one in sequential with no
optimization option de compilation (FLAG = -r8 –O0)
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.
46
Mars : Version 9.06
$UDIR/CONF/CONF-CASE
makefile
Makefile.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)
lfremer
PHYS/KTEST/casvortex.F90
casvortex.F90 (link to PHYS/KTEST/casvortex.F90)
edit and modify casvortex.F90, then compile
$CDIR/WCONF-CASE
copy of the entire reference code
WORK contains all the routine (links to PHYS/*…)
smallf90[_rankX] contains all the compiled routines after preprocessing
47
Retour au Sommaire Mars : Version 9.06
$RDIR/CONF/CONF-CASE
namelists : paramain.txt, paraspec.txt, paracom.txt,
parasubs.txt,parasedim.txt,parabiolo.txt
output.dat
batch_seq, batch_omp, runmpi_connect (which uses batch_mpi and
batch_connect(bydate) ), runmpt_connect…
mpi.txt (for MPI purpose)
mars_exe
lfremer
48
Mars : Version 9.06
PRESSURE GRADIENT
default 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 49
Mars : Version 9.06
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)
lfremer
(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 DIFFUSION
default along sigma
-Dkey_ts_diffh_geo along geopotential
-Dkey_ts_diffh_rho along isopycnes
50
Mars : Version 9.06
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
lfremer
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
51
Mars : Version 9.06
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
-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
52
Retour au Sommaire Return new configuration list Mars : Version 9.06
MPI
-Dkey_MPI_2D
MPI + OMP
-Dkey_MPI_2D -Dkey_MPIOMP
TRAJECTORIES
lfremer
TEST CASES
-Dkey_tssub_casadvsmolartime test tracers schemes for Smolarkievicz configuration
cd $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)
lfremer
Build a file mpi.txt (for MPI purpose if you want to divide the domain along X AND Y)
54
Retour au Sommaire Mars : Version 9.06
cd $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)
lfremer
cd $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)
55
Return to parametrization Mars : Version 9.06
56
Return to parametrization Mars : Version 9.06
THREE REQUIREMENTS :
1. THE MAIN OUPUT MUST BE DEFINED AT FIRST
2. The user can choose l_demer=.true. or l_out_precdate=.true. (both at the same time is not allowed)
3. The choice l_demer=.true. or l_out_precdate=.true. is possible just once inside the file output.dat.
57
Return to parametrization Mars : Version 9.06
***************************************************************************
Champs ,| the name of the output file will be champs_suffix.nc, suffix being defining in paracom.txt
06/03/2005 00:00:00 ,| date_startout (date of the beginning output)
09/03/2005 00:00:00 ,| date_endout (date to the end output)
MPI2D management :
lfremer
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
lfremer
MARS USE
How to run a job
cd $RDIR/CONF/CONF-CASE/(rank*)
PATHS , MODULES and batchs are specific of each way
Sequential job
OpenMP job
MPI job
Hybrid job
(MPI+OPENMP)
Return to run job Mars : Version 9.06
Sequential job
RUN
If interactive job over 10’ maximum : mars_exe
If long run (> 10 min under caparmor calculator) : qsub batch_seq
COMPILATION
cd $UDIR/CONF/CONF-CASE
vi Makefile.caparmor[_rankX]
FC = ifort ; LINKER = ifort
DIRNC = /home1/caparmor/rramel/netcdf4.1.2
CPPFLAGS = everything except key_MPI_2D
OMP = (empty)
Compile
62
Return to run job Mars : Version 9.06
OpenMP job
RUN
qsub ./batch_omp (queue parallel8)
(click here to see an example
select=1 to use with 1 unique node of batch_omp file)
ncpus=8 to use 8 CPUs by node
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
lfremer
64
Mars : Version 9.06
MPI linux
source /usr/share/modules/init/csh
module load intel-comp/11.1.073 (path for intel fortran and c++)
module load intel-mpi/4.0.0.028 (path for library MPI)
lfremer
65
Return to run job Mars : Version 9.06
COMPILATION
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)
lfremer
66
Mars : Version 9.06
67
Mars : Version 9.06
source /usr/share/modules/init/csh
module load intel-comp/11.1.073 (path for intel fortran and c++)
module mpt/2.01 (path for library MPT) (better to use the command
module switch intel-mpi mpt/2.01)
68
Return to run job Mars : Version 9.06
COMPILATION
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)
lfremer
69
Retour au Sommaire Return to run job Mars : Version 9.06
date
./mars_exe > ./mars_out_omp
date
70
Retour au Sommaire Return to run job Mars : Version 9.06
Batch_mpi
#!/bin/csh ! Script in cshell
# get the path for mpirun
source /usr/share/modules/init/csh
module load intel-mpi/recent
# get the path for library MKL
lfremer
date
mpirun -np $number_cpu time ./mars_exe > ./mars_out_mpi
date
71
Mars : Version 9.06
Sequential job
Makefile.caparmor :
lfremer
OpenMP job
Makefile.caparmor :
FC = ifort ; LINKER = ifort
DIRNC = /home1/caparmor/rramel/netcdf4.1.2
OMP = -openmp
qsub batch_omp
72
Retour au Sommaire Mars : Version 9.06
MPI-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]omp_connect
[t] name_run name_outputfile nb_cpu nb_omp 1/2 [$HOME]
nb_cpu must be a multiple of nb_omp
73
Retour au Sommaire Mars : Version 9.06
74
Retour au Sommaire Mars : Version 9.06
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)
gmake or gmake clean; gmake
75
Retour au Sommaire Mars : Version 9.06
76
Mars : Version 9.06