MARS environnement : Build a new configuration¶
A New configuration Without rank¶
The rank_0 does not supply the rank_1 with open boundary conditions
- ssh -X -l *username* datarmor (connection to datarmor )
- mkconfdir MENOR V9.05 (mkconfdir without ranks) (create directories for your configuration -here CONF= MENOR, CASE= V9.05-)
- cd … (follow the screen directive) (to go in the directory $UDIR/CONFIG/CASE)
- gmake install (install the code for your configuration) (command gmake install)
- vi Makefile.datarmor and choice of CPP keys (Choice of CPP keys before compilation), compilation option
- getfile WORK/parameters.F90 (command getfile) and change specific parameters to your configuration
- gmake (compilation)
- if modification of routines in the code by the user :
- getfile WORK/routine.F90 (command getfile)
- modification of routine.F90
- gmake
A New configuration WITH ranks¶
- ssh -X -l *username* datarmor (connection to datarmor )
- mkconfdir MENOR V9.05 4(for ranks 0,1,2,3) (mkconfdir with ranks) (create directories for your configuration -here CONF= MENOR, CASE= V9.05, 4 ranks-)
- cd … (follow the screen directive) (to go in the directory $UDIR/CONFIG/CASE)
- gmake install (install the code for your configuration) (command gmake install)
- vi Makefile.datarmor_rankX and choice of CPP keys (Choice of CPP keys before compilation), compilation option for each rank
- getfile WORK/parameters.F90_rank0 (command getfile)
- 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)
- if modification of routines in the code by the user :
- getfile WORK/routine.F90 (command getfile)
- modification of routine.F90
- gmake
General definition of variables : REF_CONFIG and PREV_CONFIG in makefile¶
- PREV_CONFIG (*used 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 .datarmor) 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_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
- ATTENTION
- 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
- PREV_CONFIG : Makefile.linux files is copied from PREV_CONFIG directory –> update the path in INCDIR and CPP variables (Choice of CPP keys before compilation)
- 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
see MARS environnement : Recovery of an old configuration to build a new one