wiki:AutomatisationConfigTempsRéel

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).

Last modified 5 years ago Last modified on Oct 1, 2019, 12:48:31 PM