Page de travail pour l'automatisation de la configuration opérationnelle / temps réel
Objectif
Automatiser l'installation de la configuration "opérationnelle" de LMDZ afin qu'elle puisse être déployée sur toutes régions du globe et n'importe quelle machine (?).
Idéalement, il devrait suffire de donner
- la position de la région à étudier (centre et facteurs du zoom)
- l'emplacement les données de guidage
- les variables de sorties à tracer
en entrée de la procédure.
La procédure se chargerait
- de compiler LMDZ et définir la bonne grille
- d'enchaîner les jobs d'initialisation (fichiers starts + guidages) puis d'exécution de LMDZ
- de post-traiter chaque exécution: extraction/tracé des variables demandées, dépôt sur un espace commun, création/mise à jour de pages web, envoi de météogrammes (?)
Questions / problèmes
- est-ce-qu'on cible des machines en particulier (ciclad, climserv, ...)?
pour l'instant oui
- est-ce-qu'on réfléchit à des solutions type Docker qui s'affranchiraient de l'environnement 'machine'?
- Mise en place du zoom: il est 'aisé' de mettre en place une grille zoomée mais ce n'est pas une garantie que LMDZ tourne avec les paramètres par défaut. Existe-t'il des recettes pour trouver les bons paramètres à utiliser pour une grille donnée? Sinon, se restreint on à proposer seulement 3 ou 4 configuration de zoom?
- Initialisation d'ORCHIDEE: en l'état actuel, il est nécessaire de faire tourner LMDZOR sur la grille choisie pour bien initialiser les réservoirs. Comme généralise-t'on cette initialisation? Par interpolation de fichiers RESTART d'ORCHIDEE mis à disposition pour chaque mois/saison? Par lancement de LMDZOR sur 2 à 10 ans?
- Configuration sans ORCHIDEE (bucket)?
- Quel type de données limite utiliser? SST climatologiques? SST issues des analyses/prévis ?
- Quel type d'initialisation utiliser pour les simulations: restart LMDZ ou restart construits à partir des analyses ?
- Quel résolution prévoir? Est-il raisonnable/possible d'utiliser la 144x142x79 sur ciclad ou doit-on se limiter à 96x95x79 ?
Pré-requis pour la procédure
Mise en oeuvre
Informations utiles pour la mise en oeuvre
Le job que lance Frédérique pour les simulations au SIRTA se trouve sur camelot ici: /home/cheruy/AUTOPARA/RUN/job.xios.orc.nath.sh
Pour compiler LMDZOR/XIOS avec modipsl sur camelot les instructions sont:
module load gnu/4.9.3 module load openmpi/1.8.8-gfortran49 ./install_netcdf4_hdf5.bash -CC mpicc -FC mpif90 -MPI /usr/lib64/openmpi/1.8.8-gfortran49/ -prefix /homedata/fairhead/netcdf4_hdf5 svn checkout http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl_gfortran cd modipsl_gfortran/util
Rajouter les lignes suivantes à AA_make.gdef:
AA_make.gdef:#-Q- GCC_CAMELOT #- AA_make.gdef:#-Q- GCC_CAMELOT #- Global definitions for ciclad, gfortran AA_make.gdef:#-Q- GCC_CAMELOT LIB_MPI = MPI1 AA_make.gdef:#-Q- GCC_CAMELOT LIB_MPI_BIS = MPI1 AA_make.gdef:#-Q- GCC_CAMELOT FCM_ARCH = GCC_CAMELOT AA_make.gdef:#-Q- GCC_CAMELOT M_K = make AA_make.gdef:#-Q- GCC_CAMELOT P_C = cpp AA_make.gdef:#-Q- GCC_CAMELOT P_O = -P -C -traditional $(P_P) AA_make.gdef:#-Q- GCC_CAMELOT F_C = /usr/lib64/openmpi/1.8.8-gfortran49/bin/mpif90 -c AA_make.gdef:#-Q- GCC_CAMELOT #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan AA_make.gdef:#-Q- GCC_CAMELOT #-D- MN F_D = AA_make.gdef:#-Q- GCC_CAMELOT #-P- I4R4 F_P = AA_make.gdef:#-Q- GCC_CAMELOT #-P- I4R8 F_P = -fdefault-real-8 AA_make.gdef:#-Q- GCC_CAMELOT #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 AA_make.gdef:#-Q- GCC_CAMELOT w_w = -DCPP_PARA -O3 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) AA_make.gdef:#-Q- GCC_CAMELOT F_O = $(w_w) -J$(MODDIR) AA_make.gdef:#-Q- GCC_CAMELOT F_L = /usr/lib64/openmpi/1.8.8-gfortran49/bin/mpif90 AA_make.gdef:#-Q- GCC_CAMELOT M_M = 0 AA_make.gdef:#-Q- GCC_CAMELOT L_X = 0 AA_make.gdef:#-Q- GCC_CAMELOT L_O = AA_make.gdef:#-Q- GCC_CAMELOT A_C = ar -rs AA_make.gdef:#-Q- GCC_CAMELOT A_G = ar -x AA_make.gdef:#-Q- GCC_CAMELOT C_C = cc -c AA_make.gdef:#-Q- GCC_CAMELOT C_O = AA_make.gdef:#-Q- GCC_CAMELOT C_L = cc AA_make.gdef:#-Q- GCC_CAMELOT #- AA_make.gdef:#-Q- GCC_CAMELOT NCDF_INC = /homedata/fairhead/netcdf4_hdf5/include AA_make.gdef:#-Q- GCC_CAMELOT NCDF_LIB = -L/homedata/fairhead/netcdf4_hdf5/lib -lnetcdf -lnetcdff AA_make.gdef:#-Q- GCC_CAMELOT #-
puis
./model LMDZOR_v6.1.9 ./ins_make -t GCC_CAMELOT ## Créer les arch-GCC_CAMELOT pour les différents modèles ## on peut les recopier d'ici: /homedata/fairhead/modipsl_gfortran/modeles/LMDZ/arch cd ../config/LMDZOR_v6/ gmake LMD9695-L79
Première mise en oeuvre: installation d'une configuration opérationnelle pour A. Deme sur le Sénégal sur ciclad:
On transfère et adapte la chaîne SIRTA de camelot vers ciclad (LF).