Ces scripts servent à lancer les programmes de MIDAS et à manipuler les fichiers d'input ou bien d'output.
Les variables d'environnement suivantes sont possibles:
-
MIDAS_RAMDISKPATH
: Cette variable définit le path vers le RAMDisk Par defaut, elle est égale à${TMPDIR}
. -
MIDAS_SAVE_SPLITOBS
: Si cette variable est égale àyes
, on copie les observations qui ont été splittés mais conservés en RAMDisk dans le répertoire de travail demidas.Abs
. Par défaut, cette variable est vide. Cela est utile pour débogguer le splitting des observations et pour examiner ce que les programmes MIDAS lisent comme fichier d'observations. -
MIDAS_CONCURRENT_SPLITOBS
: Cette variable controle le nombre de processus de splitting lancés en parallèle dans le scriptmidas.mpi
. Par défaut, elle n'est pas définie et ainsi aucune limite n'est imposée. -
MIDAS_OBS_MPI_ORDERING
: Si cette variable est égale àinverse
, alors on utilisera la répartition MPI des observations telle que cela était utilisée dans les versionsv_3.3.*
et antérieures de MIDAS. Si elle est égale àregular
, alors on utilisera la répartition définie dans les versions de MIDAS postérieures àv_3.3
. -
MIDAS_MPI_BARRIER_VERBOSE
: Si cette variable est égale àyes
, alors unset -x
sera effectué dans le scriptmidas.mpi_barrier
.
Le script midas.launch
est le script principal qui lance les
programmes MIDAS qui servent dans l'assimilation et le contrôle de
qualité. Ce script appelle les scripts suivants:
midas.check_ensemble
midas.tripotenml
midas.mpirun
midas.mpi
midas.splitobs
midas.mpi_barrier
midas.reunir_obs
midas.reunir_obs_mpi
Ce script verifie si tous les trials d'ensemble sont présents. Dans
le cas où on appelle le script avec -fallback_mode
égal à continue
et qu'il manque des membres d'ensemble, on applique l'algorithme de
contigence.
Ce script sert à modifier des entrées dans un namelist fortran. On l'utilise pour changer la valeur de l'étiquette.
Ce script est un wrapper autour de r.run_in_parallel
pour rassembler
le code qui doit être exécuté avant de lancer le MPI.
Ce script est lancé en MPI et est celui qui appelle vraiment les
programmes de MIDAS. C'est ce script qui appelle midas.splitobs
qui
fait le splitting en parallèle des observations avant d'appeler les
véritables programmes MPI. On peut limiter le nombre de processus en
parallèle envoyés avec la variable MIDAS_CONCURRENT_SPLITOBS
.
Ce script fait le splitting des observations avant de lancer le programme MIDAS qui a besoin des observations déjà splittées. On supporte les fichiers BURP et SQLite.
Ce script permet de resynchronier toutes les tuiles MPI après le
splitting des observations et avant de lancer le programme MPI.
Sinon, on obtient des timeout avec des erreurs Alarm call
sur les
PPP.
Ce script est le driver principal pour rassembler les observations qui
ont ete splittées par midas.splitobs
et modifiées par le programme
MIDAS. On appelle midas.reunir_obs_mpi
pour chaque famille.
Ce script est lancé par midas.reunir_obs
et fait le rassemblage des
observations pour une seule famille.
On peut l'appeler interactivement avec:
fam=al
rm -f obsfiles_${fam}.updated/{obs${fam},TABLES_REUNIR} obs${fam}
midas.reunir_obs_mpi -obsin $PWD -obsout $PWD -families2process ${fam}