wiki:Cmorisation

Version 1 (modified by acosce, 13 years ago) (diff)

--

Cmor-isation des fichiers

modèle couplé IPSLCM5A

Sébastien a mis en place un ensemble de script permettant de cmoriser facilement les TS sorties du modèle couplé IPSLCM5A. L'ensemble des scripts fonctionne sur cesium et est disponible sur le compte p86cmip5. Il y a trois répertoires à récupérer :

CMOR_TABLES

  • Tables/ --> contient les tables officielles de CMIP5
  • create_from_CMIP5_tables.bash --> script pour créer les tables de correspondances IPSL/IPCC
  • EMPTY/ --> répertoire créé par le script précédent. Contient les tables de correspondances IPSL/IPCC à compléter
  • FULL/ --> répertoire EMPTY/ mais cette fois-ci complété avec les noms et les unités des variables IPSL. Voir plus bas la description des différentes colonnes du fichier table.def
  • EXPERIMENT/ --> contient un sous répertoire pour chaque experiment_id qui lui même contient le config.def définissant les metadata de l'expérience à cmoriser.

table.def

Table.def contient plusieurs colonnes

#
# Nom IPSL | unites IPSL  | sens  |     nom IPCC     |   table IPCC  |        realm       |    cell_methods 
#          |              |positif|                  |               |                    |                 

Les colonnes "nom IPCC", "table IPCC3", "realm" et "cell_methods" sont déjà complétées. Les informations ayant servis à les créer proviennent de la table officielle CMIP5 (dans CMOR_TABLES/Tables/). Il ne reste que les colonnes "Nom IPSL" et "unites IPSL" à remplir. Si la variable n'existe pas dans le modèle il faut laisser la ligne vide. Dans la deuxième colonne si l'unité est SI (système international) et différente de celle attendue par Cmor, alors la conversion sera faite automatiquement par la librairie Cmor.

Attention : Si l'unité n'est pas reconnue par Cmor le programme plante

config.def

Pour connaître les différents experiment_id autorisé, ainsi que les forçages autorisé il faut se référer à la table officielle (dans CMOR_TABLES/Tables/)

CMOR_CONVERTER_v3

Il contient le code fortran ts2ipcc qui sera utilisé pour appeler la librairie Cmor. Ce code nécessite pour tourner :

  • un fichier netcdf avec la time serie de la variable à cmoriser
  • un fichier config.def pointant entre autre vers la table officielle
  • un fichier table.def de correspondance IPSL/IPCC
  • un fichier netcdf décrivant la grille dans le cas où l'on utilise NEMO

Pour compiler le code il suffit d'utiliser la commande "gmake"

CMIP5_CMOR2_SCRIPTS

Il contient les scripts de lancement de la chaine :

  • launch_*.job --> soumet le job CMORizeIt.job
  • CMORizeIt.job --> lit les tables pour définir quelles variables vont être cmorisées et prépare le répertoire de travail.
  • IPSL-DRSrc --> fichier qui pour chaque type de table (CMIP5_fx, ACCMIP_fixed etc...) donne des renseignements sur la fréquence des sorties, et sur la fréquence d'écriture cmor.

Au final deux répertoires seront ajoutés :

  • OutScript --> contiendra le journal de sortie de CMORizeIt
  • OutCmor --> contiendra le journal de sortie de ts2ipcc