Exécution en parallèle
Si vous avez compilé le programme gcm
dans sa configuration parallèle avec MPI (option -parallel mpi
ou -parallel mpi_omp
de makelmdz_fcm
), le programme distribue le domaine horizontal aux processus MPI par bandes de latitudes. Pour deux processus MPI, la distribution optimale est simplement l'attribution d'un hémisphère à chaque processus. Pour un nombre de processus MPI donné supérieur ou égal à 3, et pour une résolution spatiale donnée, la distribution optimale des latitudes est susceptible de varier si vous modifiez les fichiers sources du programme, bien sûr, mais aussi si vous changez de machine, de compilateur ou d'options de compilation, et même si vous changez les paramètres d'entrée à l'exécution (choisis dans les fichiers *.def
). Pour trouver la distribution optimale, faites une première exécution de test sur quelques milliers de pas de temps, en choisissant adjust=y
dans run.def
. Le programme crée alors un fichier Bands_...prc.dat
. Dans le nom de ce fichier, à la place des points de suspension, on trouve la résolution spatiale et le nombre de processus MPI, par exemple Bands_96x72x19_4prc.dat
. Ce fichier contient la distribution optimale des latitudes. Vous pouvez alors relancer une exécution de gcm
, avec adjust=n
dans run.def
, en présence du fichier Bands_...prc.dat
.
Dans la configuration parallèle, chaque processus MPI crée ses fichiers hist*
. Vous pouvez obtenir par exemple un fichier histday.0001.nc
, qui contient des données relatives à une bande de latitudes seulement, celle gérée par le processus numéro 1. Pour combiner les fichiers produits par les différents processus en un fichier contenant les données globales, utilisez le script rebuild
de IOIPSL. Lors de l'installation de IOIPSL, vous avez normalement créé un répertoire modipsl
et le script rebuild
est installé dans modipsl/bin
. Pour chaque type de fichier, histday
, histmth
, etc., tapez une commande du type :
rebuild -o histday.nc histday.000*