.. _mars.run.rst: MARS run (section **rank_0 rank_1**) ==================================== * For MARS rank_0 *date_startshift=-1* and for rank_1 *date_startshift=0*. This means that rank 0 starts 1 day before rank 0, so you have to make meteo start 1 day before start date. Check in section **meteo**: :: startshift = -1.0 #startshift = -2.0 * If you only want to run MARS (no post-processing), change treatments in section **treatments**: :: #list = ['meteo', 'obc', 'river', 'rank_0', 'rank_1', 'format_oco','demerliac','mirror_copy','finalize'] list = ['meteo', 'obc', 'river', 'rank_0', 'rank_1'] * Change **nmpi** to modify the number of processors (in this case, do not forget to move **mpi.txt** if it exists !) .. note:: In MARS run directory (**MARS/RUN_MARS/MANGAE2500/MANGAE2500-r1630/**), *paracom.txt.ref paraspec.txt.ref output.dat.ref* are systematically copied at the beginning of the run in *paracom.txt paraspec.txt output.dat*. To change *paracom paraspec* or *output* parameters, make it directly in configuration file in subsections **[[[paracom]]]**, **[[[paraspec]]]** or **[[[output]]]**. .. warning:: For boolean parameters, do not forget quotes **l_out_ubt = '.false.'** :: [[[paracom]]] #file_meteo = '../../inputs/mangae_meteo.nc' file_meteo = 'my_file.nc' [[[paraspec]]] l_out_nc4par='.false.' [[[output]]] time_startout = '00:00:00' l_out_ubt = '.false.' pasor = 0.25 * To run MARS from 03/01/2014 to 04/01/2014: :: launch_mangae config_mangae.cfg -s 2014-01-03,00:00 -e 2014-01-04,00:00 * If you have yet prepared you forcing (**meteo obc river**), you can launch only sections **rank_0** and **rank_1**: :: launch_mangae config_mangae.cfg -s 2014-01-03,00:00 -e 2014-01-04,00:00 --only rank_0,rank_1 * To follow if the run is OK * check if **rank_0** and **rank_1** are **OK** in **f1-mangae.xml** * in case of problem, check the log files **./logs/MANGAE2500-r1630/20140103_20140104/rank_*.log** * Output files: MARS results and save files in RDIR **./MARS/RUN_MARS/MANGAE2500/MANGAE2500-r1630/**: * **rank_0/champs_r1630.nc** * **rank_1/champs_r1630.nc** * CPU time on 32 proc. for MANGAE2500: 1' for **rank_0**, 15' for **rank_1** * Section **rank_0** allows to run MARS rank 0 :: #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Section rank_0 # Lancement du run MARS rang 0 # Entrées disponibles : # depend : liste contenant les noms des traitements dont dépend le traitement courant, liste vide si aucune dépendance # description : description du traitement (récupéré via l'option --list du script launcher.py) # name : nom du job soumis sur le calculateur (!!!! ne pas dépasser 15 caractères !!!) # nmpi : optionnel, nombre de processus MPI # nomp : optionnel, nombre de threads OpenMP (par processus MPI si nmpi >1 ) # mpi_comp : version du compilateur MPI (mpi_intel ou mpi_mpt), obligatoire si nmpi > 1 # launch : procédure de lancement associée # mars_exe : nom de l�~@~Yexécutable Mars �| lancer # rundir : emplacement du répertoire d'exécution MARS (par rapport �| RDIR/CONFIG) # connect : valeur logique d'activation de la procédure de connection des fichiers de sorties # time_startout : heure de début d�~@~Yécriture des résultats, chaîne de caractères du type 'HH:MM:SS' # Sous-sections : # paracom : modification du fichier paracom.txt de référence # paraspec : modification du fichier paraspec.txt de référence # output : modification du fichier output.dat de référence #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [[rank_0]] depend = ['meteo'] description = 'MANGAE config, run Mars rank 0' name = 'mang25_rank0' nmpi = 32 #64 mpi_comp = 'mpi_intel' nomp = None launch = 'tools.mars.launch_mars' mars_exe = 'mars_exe_rank0' rundir = 'MANGAE2500-r1630/rank_0' connect = False [[[paracom]]] file_meteo = '../../inputs/mangae_meteo.nc' [[[paraspec]]] [[[output]]] time_startout = '00:00:00' * Section **rank_1** allows to run MARS rank 1 :: #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Section rank_1 # Lancement du run MARS rang 1 # Entrées disponibles : # depend : liste contenant les noms des traitements dont dépend le traitement courant, liste vide si aucune dépendance # description : description du traitement (récupéré via l'option --list du script launcher.py) # name : nom du job soumis sur le calculateur (!!!! ne pas dépasser 15 caractères !!!) # nmpi : optionnel, nombre de processus MPI # mpi_comp : version du compilateur MPI (mpi_intel ou mpi_mpt), obligatoire si nmpi > 1 # nomp : optionnel, nombre de threads OpenMP (par processus MPI si nmpi >1 ) # launch : procédure de lancement associée # mars_exe : nom de l�~@~Yexécutable Mars �| lancer # rundir : emplacement du répertoire d'exécution MARS (par rapport �| RDIR/CONFIG) # connect : valeur logique d'activation de la procédure de connection des fichiers de sorties # Sous-sections : # paracom : modification du fichier paracom.txt de référence # paraspec : modification du fichier paraspec.txt de référence # output : modification du fichier output.dat de référence # time_startout : heure de début d�~@~Yécriture des résultats, chaîne de caractères du type 'HH:MM:SS' #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [[rank_1]] depend = ['meteo','obc','river','rank_0'] description = 'MANGAE config, run Mars rank 1' name = 'mang25_rank1' nmpi = 32 # 60 mpi_comp = 'mpi_intel' nomp = None launch = 'tools.mars.launch_mars' mars_exe = 'mars_exe_rank1' rundir = 'MANGAE2500-r1630/rank_1' connect = False [[[paracom]]] file_meteo = '../../inputs/mangae_meteo.nc' [[[paraspec]]] file_init = '../../inputs/mangae_init.nc' file_obc_ogcm_s = '../../inputs/mangae_obc_south.nc' file_obc_ogcm_n = '../../inputs/mangae_obc_north.nc' file_obc_ogcm_w = '../../inputs/mangae_obc_west.nc' [[[output]]] time_startout = '00:00:00' * To make a copy of MARS results (useful for hindcasts with option **--step**, not to overwrite MARS results file at each time step, if **filebydate=.false.**), use **make_copy** in **rank_1** section :: connect = False make_copy = './your_own_directory' [[[paracom]]] file_meteo = '../../inputs/mangae_meteo.nc' *Remark : change time_startout = '00:00:00' in time_startout = '01:00:00', if you don't want to have twice echeancy 00:00:00.*