MARS Passage en Version V8 Les petits trucs `a savoir

Transcription

MARS Passage en Version V8 Les petits trucs `a savoir
MARS Passage en Version V8
Les petits trucs à savoir...
V. Garnier
October 20, 2011
1
Environnement
en .cshrc
setenv HOMEMARS /home11/caparmor/mars/CODE MARS/CODE MARS V8/V8.00/Mars Agrif2
Ajouter le path suivant pour atteindre mkconfdir setenv PATH $PATH:$HOMEMARS/../TOOLS/MARSENV
Ne pas oublier MARSENV
• Configuration réaliste par défaut
Ajouter le path suivant pour crér et faire tourner sur Caparmor la configuration BISC (Bay of Biscay)
alias mkconfdir bisc ”$HOMEMARS/../TOOLS/MARSENV/mkconfdir bisc”
accès au code pour les updates
setenv HTTPSVNROOT https://www.forge.ifremer.fr/svn/mars3d
setenv extranet login gt05gb7
Un fichier type .cshrc mars users est pret sous /home1/caparmor/vgarnier,
le renommer .cshrc
2
Run
• Le répertoire d’entrées pour les fichiers est inputs !
• Le format du fichier head.CONF a changé !
Ce fichier a changé car pour chaque rang, il est possible de sortir des fichiers
de conditions aux limites barotropes pour différentes configurations. Exemple,
le rang 0 peut sortir des conditions aux limites pour les configurations MANGA,
BRET ou IROI.
En résumé dans le fichier head,
- les 4 dernières colonnes qui spcifiaient les indices pour lesquels on sauve
les conditions aux limites sont remontées d’un cran. Donc le rang0 a toute
l’information nécessaire sur la ligne qui le concerne, sans lire la ligne du rang
suivant.
- il faut ajouter une colonne à droite (décrite par un mot de 4 lettres qui
spécifie la configuration pour laquelle on sort les conditions aux limites).
Voir la documentation.
1
• Passer les fichiers d’entres netCDF compatibles avec la norme OCO1.2
Les noms des axes lon et lat deviennent longitude et latitude.
Pour les modifier dans les fichiers netCDF, il faut faire :
cp ../entrees/mm5 acri.nc ../inputs/mm5 acri oco1 2.nc
ncrename -d lon,longitude mm5 acri oco1 2.nc ! -d pour directory
ncrename -d lat,latitude mm5 acri oco1 2.nc
ncrename -v lon,longitude mm5 acri oco1 2.nc ! -v pour varia
ncrename -v lat,latitude mm5 acri oco1 2.nc
ou en corrigeant la routine récalcitrante en ajoutant au début
CALL ionc init nomlon(’lon’) ! longitude devient lon
CALL ionc init nomlat(’lat’)
et à la fin
CALL ionc init nomlon(’longitude’) ! longitude redevient lon
CALL ionc init nomlat(’latitude’)
La premiere solution est prćonisee.
Typiquement, cela concerne les fichiers méteo, de conditions aux limites et
de marée fes*. Cela ne concerne pas les fichiers de reprise. Les fichiers de flux
atmosphériques et de marée sous /export/home11/mars/DATA sont prets, ils
se terminent par oco1.2
• Attention à la définition des sigmas, −1 < sig < 0
Dans paraspec.txt et en entrée des fichiers d’extraction (sig.dat), appliquer
−1 aux anciennes valeurs de sig
Pour le post-processing, dans les formulations utilisant sig, décaler de 1, soit
sig + 1
• Attention à l’utilisation de date startshift
date startshift s’utilise sans changement de signe
date startshift > 0, la simu démarre apres date start
date startshift < 0, la simu dḿarre avant date start
• Tous les fichiers d’entrée et sortie doivent etre sur Caparmor
• La variable out dir permet de specifier un chemin où l’on veut stocker
les résultats (fichiers de sortie champs CONF.nc et fichier de sauvegarder
pour futures reprises)
3
Run en MPI
• Lancement d’un run MPI sous Caparmor
runmpi connect name run name file number cpu 1(one file) or 2(several files)
name run : toto donc vous aurez un toto.o geqgr étant le numéro de job sous
caparmor
name file : = ”champs V8.0” champs est défini dans la première ligne de
output.dat, V8.0 est le suffixe choisi dans paracom.txt
number cpu : est le nombre de CPU que vous voulez choisissez 1/2 : si
l filebydate=.false. / .true. Ce script lance le run et la concaténation des fichiers
MPI
2
• Choix du nombre de CPU
Utiliser le programme decoupe (voir documentation site internet XXXXX).
Copier le fichier synthetisant la décomposition en domaine pour MPI2D (bathy CONF.txt)
sous mpi.txt sous hsrfhg
le répertoire $RDIR/CONF/CONF-CASE[/rank X] Lancer le run : runmpi connect name run name file number cpu 1(one file) or 2(several files), le
nombre de cpu number cpu doit correspondre /‘a celui indiqué dans mpi.txt
(=nb actifs)
• Optimisation du dćoupage la parallélisation
si fichier mpi.txt existe, MARS le lit et utilise le prédécoupage choisi par le
programme découpe
si fichier mpi.txt n’existe pas, la parallélisation se fera par bandes verticales(horizontales) si imax > jmax (jmax > imax respectivement)
4
Faire tourner un ancien run
NETCDF = /export/home/services/bibli/netcdf-3.6.3-intel-11.1.038/lib/libnetcdf.a
Si fichier est à la norme OCO, utiliser l’environnement normal de Caparmor
Phase 2 dans Makefile*
IONETCDF = /export/home/services/bibli/ionetcdfv8-3.6.3-intel-11.1.038/lib/libionetcdf.a
Si fichier n’est pas à la norme OCO, utiliser
IONETCDF = /export/home/services/bibli/ionetcdfv8-3.6.3-intel-11.1.038/lib/libionetcdf.a
Modifier les fichiers batch
batch seq
module load cmkl/10.1.3.027 au lieu de “module load cmkl/recent”
./mars exe > & output au lieu de “./mars exe > output“
batch omp PBS -q parallel8 au lieu de PBS -q parallel4
PBS -l select=1:ncpus=4
module load cmkl/10.1.3.027 au lieu de “module load cmkl/recent”
time ./mars exe > & ./mars exe out au lieu de “time ./mars exe ¿ ./mars exe out”
batch mpi16 PBS -q parallel32 au lieu de “PBS -q parallel16”
PBS -l select=2:ncpus=8:mpiprocs=8 au lieu de “PBS -l select=4:ncpus=4:mpiprocs=4”
module load cmkl/10.1.3.027 au lieu de “module load cmkl/recent“
module load intel-mpi/3.2.1.009 au lieu de ”module load intel-mpi/recent”
time mpirun -np 16 time ./mars exe > & ./mars out mpi (ajout de &)
3