= Page de travail pour l'automatisation de la configuration opérationnelle / temps réel = [[TOC(notitle)]] == 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).