version 2.2 septembre 2008 esci

106
Version 2.2 Septembre 2008 ESCI

Upload: cardea

Post on 11-Feb-2016

43 views

Category:

Documents


0 download

DESCRIPTION

Version 2.2 Septembre 2008 ESCI. Accès au modèle système terre et Analyse des résultats. IPSL - P ôle de modélisation du climat Le modèle système terre : de IPSLCM4_v1 vers le ESM Principes retenus Fonctionnement simplifié de MODIPSL (SVN) Les nouveaux scripts basés sur libIGCM - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Version 2.2 Septembre 2008 ESCI

Version 2.2Septembre 2008

ESCI

Page 2: Version 2.2 Septembre 2008 ESCI

Accès au modèle système terre et

Analyse des résultats

• IPSL - Pôle de modélisation du climat• Le modèle système terre :

de IPSLCM4_v1 vers le ESM• Principes retenus• Fonctionnement simplifié de MODIPSL (SVN)• Les nouveaux scripts basés sur libIGCM• Les fichiers de résultats• Le parallélisme• Les simulations déjà réalisées• NetCDF et les utilitaires nco, cdo

Page 3: Version 2.2 Septembre 2008 ESCI

Les laboratoires et les tutelles

Page 4: Version 2.2 Septembre 2008 ESCI

IPSL• Fédération de 5 laboratoires - Observatoire des Sciences

de l’Univers :– le Centre d’étude des Environnements Terrestre et Planétaires (CETP), – le Laboratoire de Météorologie Dynamique (LMD) – le Laboratoire d’Océanographie et du Climat : Expérimentation et Approches

Numériques (LOCEAN) – le Laboratoire des Sciences du Climat et de l’Environnement (LSCE) – le Service d’Aéronomie (SA)

• 8 tutelles– Centre National de la Recherche Scientifique (CNRS), – Université Pierre et Marie Curie - Paris 6– Université Versailles Saint-Quentin en Yvelines– Commissariat à l’Energie Atomique (CEA)– l’Institut de Recherche et Développement (IRD)– Ecole Normale Supérieure– Ecole Polytechnique– Centre National d’Etudes Spatiales (CNES).

• 800 personnes• Projets fédératifs :

– Pôle de modélisation du climat - 80 personnes - Pascale Braconnot

Page 5: Version 2.2 Septembre 2008 ESCI

Pôle de modélisation• Missions :

– Fédérer les études multidisciplinaires (scientifiques ou techniques) faisant intervenir les composantes du modèle de l'IPSL

– Identifier et coordonner les simulations de références

– Fédérer et rationaliser les moyens, les développements techniques

– Animation scientifique• Modèle climat :

– Atmosphère– Océan et glace de mer– Surfaces continentales– Cycle du carbone– Chimie

• IPSLCM4_v2

NEMO/OPA

NEMO/TOP/PISCES

INCA

Page 6: Version 2.2 Septembre 2008 ESCI

Conseil scientifique du pôle de modélisation

LMDZF. Hourdin

INCAM. Schulz

ORCHIDEEN. De Noblet

NEMO-OPAS. Masson,G. Madec

NEMO-TOPL. Bopp

Bureau du CSPOLE

Responsable : J.-L. DufresneP. Braconnot, L. Fairhead, M.-A. Foujols

P. FriedlingsteinF. Hourdin, C. Lévy, O. Marti

20e-21emeJ.L Dufresne,

P. Friedlingstein

TropiquesJ.P. Duvel, S. Janicot

Expertise complémentaire

F. Lott, L. Li, S. Bekki, G. Krinner,Th. Fichefet

G. Ramstein

Page 7: Version 2.2 Septembre 2008 ESCI

Contraintes liées aux différentes activités scientifiques :

IPSL_CM4(IPCC)

Tests sensibilité-KE/Ti-Flux eau-Paleo-???

IPSL_CM4+(IPCC)

IPSL_CM4(loop)

IPSL_CM4(chimie-aérosols)

Utilisation des sols Paléo végétation

Cycle du carbone (Pisces, flux de carbone, transport carbone)

INCA

Pass

age

L MD

Z4

IPSL_CM4(//)

Pass

age

V ers

ions

// d

es m

odèl

e s

Evolution des composantes

Haute résolution

Nouveau modèle

Nouvel exercice GIEC 2009

IPSLCM4_v1

IPSLCM4_v2

IPSLCM5

IPSL_ESM_V1

Page 8: Version 2.2 Septembre 2008 ESCI

Historique des versions du modèle couplé• IPSLCM4_v1 : figé en juillet 2004 pour réalisations IPCC

• IPSLCM4_v1_OASIS3 - version recommandée jusqu’en juillet 2007 :– Intègre LMDZ4 tag IPCC– Résolutions 144x96x19 et 144X142x19 ajoutées pour essais– Utilisation de OASIS3 (fichiers en NetCDF, compilation type PRISM)– Utilisation de IOIPSL 2, version Fortran 90– Peut tourner avec nouveaux scripts communs (libIGCM)

• IPSLCM4_LOOP - référence LOOP :– Ajout cycle du carbone : stomate (ORCHIDEE), PISCES (OPA)– Intègre LMDZ4

• IPSLCM4_v2 - version recommandée depuis juillet 2007 -– Nouveaux scripts (libIGCM) – Modipsl, IOIPSL et CONFIG gérés sous svn/forge– Trac pour wiki et suivi tickets– Dernières versions LMDZ et Orchidee (inclus parallélisme)

• IPSL_ESM_V1, IPSLCM5 : en cours Principes similaires, utilisables pour toute

configuration

NEW

Page 9: Version 2.2 Septembre 2008 ESCI

Land surface, vegetationORCHIDEE

CO2

Evaporation, rivers...

Circulation, precip... SST, ice extent..

Vegetation,soil carbon

Biogeochemistry

Chemistry

DMS

Aérosols

AtmosphereLMDZ

Ocean, sea-iceORCA-LIM

CH4, COVs,Aérosols

Sea salt

IronNOx, O3

Energy, water cycle

Carboncycle

Chemistry,aerosols

Human activities

CO2 emissions Polluant emissionsDéforestation,

land use

Page 10: Version 2.2 Septembre 2008 ESCI

Deux centres de calcul privilégiés: IDRIS/CNRS et CCRT/CEA

IDRIS/CNRS CCRT/CEA

Calculateur brodie.idris.frNEC SX-8, été 200610 noeuds80 processeurs

mercure.ccc.cea.frNEC SX-8R, nov 20068 noeuds64 processeurs

Connexion brodie.idris.fr(filtrage par adresse)

idefix1.saclay.cea.frpuis mercure.ccc.cea.fr

Compilation brodie (tx7) mercure (tx7)

Exécution brodie[01-10] mercure[10-17]

Fichiers gaya fer

Post-traitement rhodes mercure (tx7)

Serveur DODS dods.idris.fr dods.extra.cea.fr/data/

Assistance-Support [email protected] [email protected]

01 69 35 85 55 01 69 26 66 66

www.idris.fr www-ccrt.ccc.cea.fr:8000

Page 11: Version 2.2 Septembre 2008 ESCI

Et sur mon poste de travail?Calculateurs Serveur local, PC/Linux, Mac OSX, ...

CVS : accès aux sources Tout système Unix-like

SVN : accès aux sources A installer en plus du système de base. Voir http://subversion.tigris.org/ et packages

Compilateur Fortran 90 avec jeu d’options testées

Compilateur sur tout système orienté calcul• Compilateur conseillé : g95• Compilateur gnu : gfortran• PGI : pgf90• NAG : f95• Intel : ifort

Bibliothèque d’échanges de messages pour coupleur

Tout système orienté calcul parallèle : MPI

Bibliothèque NetCDF 3.6.2 Tout système orienté calcul ou soi-même

Interface Fortran 90 NetCDF À compiler avec le même compilateur

Espace fichiers de stockage n Gigaoctets

Utilitaires nco, cdo Tout système orienté calcul climat

Python, Ferret Tout système orienté calcul

Assistance-Support Groupe ESCI

Retour d’expérience Apprécié

Page 12: Version 2.2 Septembre 2008 ESCI

Historique des versions de référence du modèle couplé IPSL depuis IPSLCM4_v1

• IPSLCM4_v1 : LMDZ-ORCHIDEE-OASIS-ORCA-LIM-IOIPSLCette version n’évolue plus.Base des réalisations pour IPCC

• IPSLCM4_LOOP :LMDZ-ORCHIDEE (stomate)-OASIS-ORCA-LIM-PISCES-IOIPSL2

• IPSLCM4_v1_OASIS3 :LMDZ4-ORCHIDEE-OASIS3-ORCA-LIM-IOIPSL2Cette version a évolué pour inclure LMDZ4, OASIS3, une troisième résolution pour LMDZ et a été portée sur brodie (SX-8 de l’IDRIS) et mercure (SX-8R du CCRT). Elle n’évolue plus.

• IPSLCM4_v2 :version en cours de validation finale, inclut toutes les évolutions récentes. Premier couplé avec LMDZ/ORCHIDEE parallèle

• IPSL_ESM_V1 :première version du Earth System Model incluant Chimie:LMDZ-ORCHIDEE-OASIS-ORCA-LIM-IOIPSL-INCA

• IPSLCM5 : En cours. Premier couplé avec NEMO.

NEW

Page 13: Version 2.2 Septembre 2008 ESCI

Version de référence

• Chaque composante est validée en forcé par les personnes ad hoc – tag fixé – atlas sur les serveurs dods IDRIS et CCRT.

• Une expérience type est disponible (site http://mc2.ipsl.jussieu.fr)– IPSLCM4_v1 : 2L24 (préindustrielle - base simulation IPCC), 2L20 (actuel)– IPSLCM4_v2 : CDT5v2CT (144x142)

• Poursuite de la démarche itérative– Nouvelle étude– Suivi des nouveautés

• Orchidee 1_9_2• LMDZ4 avec parallélisme LMDZ4_V3_4• Nouveaux scripts (libIGCM_v1)

• Configurations cohérentes en plus grand nombre– LMDZ4INCA_v2, ORCA2LIM_v2, LMDZ4OR_v2– IPSL_ESM_V1, IPSLCM5

Page 14: Version 2.2 Septembre 2008 ESCI

A. Caubel, MA Foujols et groupe CPLIPSL

Compilation et fichiers d’entréeIPSLCM4_v2

key_orca_r2 key_ice_lln …

72x45x19, 96x71x19, 144x96x19, 144x143x19

Information

A. Caubel et CERFACSCPL

J. Bellierv2_1_3IOIPSL

Équipe système OPAipsl_cm4_v2

ORCA_LIM

M. Manciporchidee_1_9_2ORCHIDEE

L. FairheadLMDZ4_V3_4LMDZ4

Responsables ESCITagComposante

IPSLCM4_v2_2

OASIS 3 Head

Différentes composantes du modèle couplé IPSLCM4_v2

S Denvil, P Brockmann, M Mancip

Nouveaux scriptsexécution et

post-traitementslibIGCM libIGCM_v1

NEW

SVN

Page 15: Version 2.2 Septembre 2008 ESCI

Documentations

• Wiki Pôle : http://forge.ipsl.jussieu.fr/igcmg– Accès sources SVN – Accès aux tickets d’incident– Accès aux pages wiki– Contrainte : être inscrit dans le projet (demande aux

administrateurs) pour pouvoir modifier wiki, tickets et sources. – Compte commun : climato/climato– Machine commune de gestion des projets - Olivier Thauvin (SA)

• Wiki IPSL (intranet) : http://wiki.ipsl.jussieu.fr/wiki_ipsl• Wiki IPSLCM4_v2 :

http://forge.ipsl.jussieu.fr/igcmg/wiki/IPSLCM4_v2_PAR • Documentation libIGCM (inclut exemple IPSLCM4_v2) :

http://forge.ipsl.jussieu.fr/libigcm/wiki

Page 16: Version 2.2 Septembre 2008 ESCI

Documentation forge.ipsl.jussieu.fr/igcmg

WIKI Sources SVN

Tickets

Page 17: Version 2.2 Septembre 2008 ESCI

Principes (1/7)

ATMOSPHERE

LMDZ

Page 18: Version 2.2 Septembre 2008 ESCI

ORCHIDEE_OL ORCHIDEE LMDZ

Principes (2/7)

PROCESSUS

de SURFACE

« DRIVER

OFFLINE »

Page 19: Version 2.2 Septembre 2008 ESCI

Principes (3/7)

ORCHIDEE_OL ORCHIDEE LMDZ

LMDZORExpérience type : 1 an

ORCHIDEE_OLExpérience type : 1 ansur le site Cabauw

Page 20: Version 2.2 Septembre 2008 ESCI

LMDZ OPA LIM TRC

Principes (4/7)

OCEAN GLACE TRACEUR

ORCHIDEE

Page 21: Version 2.2 Septembre 2008 ESCI

ORCHIDEE LMDZ OPA LIM TRC

Principes (5/7)

ORCA2_LIMExpérience type : 1 an

ORCA2_LIM_TRCExpérience type : 1 an

Page 22: Version 2.2 Septembre 2008 ESCI

ORCHIDEE LMDZ OPA LIMOASIS

Principes (6/7)

COUPLEUR

CERFACS

IPSLCM4_v2

Expérience type :

10 ans

Etats initiaux

Page 23: Version 2.2 Septembre 2008 ESCI

ORCHIDEE_OL ORCHIDEE LMDZ OPA LIM TRCOASIS

Principes (7/7)

IOIPSL/ NETCDF IOIPSL/ NETCDF

fichiersfichiers

Page 24: Version 2.2 Septembre 2008 ESCI

Accès au modèle IPSLCM4_v2 (1/9)

1. Accès à modipsl (SVN)brodie ou mercure : mkdir IPSLCM4_v2

brodie ou mercure : cd IPSLCM4_v2brodie ou mercure : svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl

IPSLCM4_v2

modipsl

modeleslibdoc.svn bin tmp utilconfig

Page 25: Version 2.2 Septembre 2008 ESCI

modipsl

IPSLCM4_v2

modelesconfigdoc.svn bin tmp util

Installation et configuration des MakefilesInstallation et configuration des scripts de lancement

Définition pour chaque configuration de leurs composantes et de leurs tags

Extraction des modèles validés disponibles

• mod.def

• model

• ins_make

• ins_job

Accès au modèle IPSLCM4_v2 (2/9)

1. Accès à modipsl (SVN)brodie ou mercure : cd modipsl/util

lib

Page 26: Version 2.2 Septembre 2008 ESCI

1 #- $Id$2 #---------------------------------------------------------------------3 #-This file is the definition file of the script "model".4 #---------------------------------------------------------------------5 #- Each model is defined by6 #- (prefix #-H-) model informations,7 #- (prefix #-M-) the email address of the model manager,8 #- (prefix #-C-) elements to extract for the model, in the order :9 #- name of the component in the repository10 #- tag/revision of the component11 #- index of the repository in the server table12 #- installation path in the local working directory13 #- local working directory in modipsl14 #- (prefix #-S-) containing the control system and server address.15 #-16 #- The tag "?" correspond to the default model version.17 #- Invoking "model" with -H overrides any tag with "?".18 #---------------------------------------------------------------------19 #- Repository informations20 #-21 #-S- 1 cvs [email protected]:/home/ioipsl/CVSROOT22 #-S- 2 cvs [email protected]:/home/ssipsl/CVSREP23 #-S- 3 cvs [email protected]:/home/cvsroot24 #-S- 4 cvs [email protected]:/home/opalod/CVSROOT25 #-S- 5 cvs [email protected]:/home/opalod/NEMOCVSROOT26 #-S- 6 cvs [email protected]:/home/incaipsl/CVSROOT27 #-S- 7 svn --username nemo_user http://forge.ipsl.jussieu.fr/nemo/svn28 #-S- 8 svn http://forge.ipsl.jussieu.fr/igcmg/svn29 #------------------------------------------------------------------

Accès au modèle IPSLCM4_v2 (3/9) - fichier mod.def -

Page 27: Version 2.2 Septembre 2008 ESCI

85 #-87 #-H- IPSLCM4_v2 IPSLCM4_v2 configuration with parallel LMDZ4 and ORCHIDEE88 #-H- IPSLCM4_v2 official release : october 200789 #-H- IPSLCM4_v2 ORCA tag ipsl_cm4_v290 #-H- IPSLCM4_v2 IOIPSL/src svn tags/v2_1_391 #-H- IPSLCM4_v2 LMDZ4 tag LMDZ4_V3_492 #-H- IPSLCM4_v2 ORCHIDEE tag orchidee_1_9_293 #-H- IPSLCM4_v2 OASIS3 tag HEAD94 #-H- IPSLCM4_v2 IPSLCM4_v2 svn new scripts 95 #-M- IPSLCM4_v2 [email protected] #-C- IPSLCM4_v2 IOIPSL/tags/v2_1_3/src HEAD 8 IOIPSL/src modeles97 #-C- IPSLCM4_v2 ORCHIDEE orchidee_1_9_2 2 . modeles98 #-C- IPSLCM4_v2 OASIS3 ? 1 prism .99 #-C- IPSLCM4_v2 LMDZ4 LMDZ4_V3_4 3 . modeles100 #-C- IPSLCM4_v2 CONFIG/tags/IPSLCM4_v2/IPSLCM4_v2_2 HEAD 8 IPSLCM4_v2 config101 #-C- IPSLCM4_v2 tags/libIGCM_v1 ? 1 . .102 #-C- IPSLCM4_v2 OPA/SRC_ORCA ipsl_cm4_v2 4 . modeles103 #-C- IPSLCM4_v2 OPA/SRC_UCL ipsl_cm4_v2 4 . modeles104 #-C- IPSLCM4_v2 UTIL/fait_AA_make ipsl_cm4_v1_8 4 . modeles

Accès au modèle IPSLCM4_v2 (3/9 - suite) - fichier mod.def -

Page 28: Version 2.2 Septembre 2008 ESCI

1. Accès à MODIPSL (SVN)svn_ano ; cd modipsl/util

2. Accès à IPSLCM4_v2 brodie ou mercure : ./model IPSLCM4_v2

(la 1ère fois, voir Annexe 1 pour login et mots de passe)

.svn

Accès au modèle IPSLCM4_v2 (4/9)

util

modipsl

IPSLCM4_v2

modeleslibIGCMdocbin tmp

UTIL OPA LMDZ4ORCHIDEECVS IOIPSLCPL

config

IPSLCM4_v2

prismlib

Page 29: Version 2.2 Septembre 2008 ESCI

1. Accès à MODIPSL (SVN)svn_ano ; cd modipsl/util

2. Accès à IPSLCM4_v2./model IPSLCM4_v2

3. Installation des Makefilesbrodie ou mercure : ./ins_make

Accès au modèle IPSLCM4_v2 (5/9)

util

modipsl

IPSLCM4_v2

prismmodeleslibdocbin tmp.svn

IPSLCM4_v2

• AA_make.gdef

Makefile• AA_make.ldef

• AA_make

configlibIGCM

Page 30: Version 2.2 Septembre 2008 ESCI

1. Accès à MODIPSL (SVN)svn_ano ; cd modipsl/util

2. Accès à IPSLCM4_v2./model IPSLCM4_v2

3. Installation des Makefiles./ins_make

4. Installation de l’expérience typebrodie ou mercure : # Editer ../config/IPSLCM4_v2/EXP00/config.card# Modifier JobName, JobNumProcTot, JobClass(Brodie)

./ins_job

util

modipsl

IPSLCM4_v2

modeleslibdocbin tmp.svnIPSLCM4_v2

Accès au modèle IPSLCM4_v2 (6/9)

EXP00

Job_JobName

config

NEW

libIGCM

AA_job

config.card

Page 31: Version 2.2 Septembre 2008 ESCI

libIGCM

modipsl

IPSLCM4_v2

modeles

Accès au modèle IPSLCM4_v2 (7/9)

AA_atlas_LMDZAA_atlas_ORCHIDEEAA_atlas_ORCA_LIMAA_create_tsAA_create_se

atlas_LMDZ.jobatlas_ORCHIDEE.jobatlas_ORCA_LIM.jobcreate_ts.jobcreate_se.job

1. Accès à MODIPSLsvn_ano ; cd modipsl/util

2. Accès à IPSLCM4_v2./model IPSLCM4_v2

3. Installation des Makefiles./ins_makevi

../config/IPSLCM4_v2/EXP00/config.card4. Installation de l’expérience type

(partie post-traitement) brodie ou mercure : ./ins_job config

NEW

Page 32: Version 2.2 Septembre 2008 ESCI

1. Accès à MODIPSL (SVN)svn_ano ; cd modipsl/util

2. Acces à IPSLCM4_v2./model IPSLCM4_v2

3. Installation des Makefiles./ins_make

4. Installation de l’expérience typevi ../config/IPSLCM4_v2/EXP00/config.card./ins_job

5. Compilationbrodie ou mercure : cd ../config/IPSLCM4_v2brodie ou mercure : gmake

util

modipsl

IPSLCM4_v2

configlibdocbin tmp.svn

IPSLCM4_v2

Accès au modèle IPSLCM4_v2 (8/9)

• create_etat0_limit.e• gcm.e• oasis• opa

NEW

Makefile

Page 33: Version 2.2 Septembre 2008 ESCI

1. Accès à MODIPSL (SVN)svn_ano ; cd modipsl/util

2. Acces à IPSLCM4_v2./model IPSLCM4_v2

3. Installation des Makefiles./ins_make

4. Installation de l’expérience type vi ../config/IPSLCM4_v2/EXP00/config.card./ins_job

5. Compilationcd ../config/IPSLCM4_v2 gmake # attention brodie

6. Soumission du Job de lancement brodie ou mercure : cd EXP00brodie ou mercure : qsub Job_JobName

Accès au modèle IPSLCM4_v2 (9/9)

modipsl

IPSLCM4_v2

config

IPSLCM4_v2

dynami.paramgcm.def geogram.paraminice.paramnamcouplenamelistoffline.deforchidee.defoutput.paramphysiq.defrun.defrun.param.lithermo.param

EXP00

Job_JobName COMP PARAM

lim.cardlim.driverlmdz.cardlmdz.driveroasis.cardoasis.driveropa.cardopa.driverorchidee.cardorchidee.driver

Page 34: Version 2.2 Septembre 2008 ESCI

Récupérer, compiler et lancer le modèle couplé IPSLCM4_v2

1. Accès à MODIPSL (SVN)svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl

2. Acces à IPSLCM4_v2 cd modipsl/util ; ./model IPSLCM4_v2

3. Installation des Makefiles./ins_make

4. Installation de l’expérience type (et post-traitements)Modifier «JobName» dans ../config/IPSLCM4_v2/EXP00/config.card./ins_job

5. Compilation cd ../config/IPSLCM4_v2 ; gmake

6. Soumission du Job de lancement cd EXP00qsub Job_JobName

Page 35: Version 2.2 Septembre 2008 ESCI

Nouveaux scripts : libIGCM• Infrastructure commune cohérente de script :

– libIGCM :• libIGCM/AA_job : un script commun à toutes les configurations• libIGCM/libIGCM_card, liBIGCM_comp, libIGCM_config, libIGCM_date, libIGCM_debug,

libIGCM_post, libIGCM_sys.ksh : des bibliothèques de fonctions en ksh utilisées par les jobs

• libIGCM/libIGCM_sys/libIGCM_sys_brodie.ksh, libIGCM_sys_mercure.ksh, … : des fonctions système spécifique à chaque machine

– CARD :• Des couples de fichiers card et driver décrivent les fichiers et programment le

fonctionnement de chaque composante d’une configuration

– PARAM :• Des fichiers de paramètres des différentes composantes

– config.card : • une fiche descriptive d’une configuration pour une simulation donnée

– run.card (run.card.init):• Une fiche d’information sur la simulation en cours d’exécution

NEW

Page 36: Version 2.2 Septembre 2008 ESCI

Script de référence : libIGCM/AA_job

Page 37: Version 2.2 Septembre 2008 ESCI

Schéma synoptique de la libIGCM

Page 38: Version 2.2 Septembre 2008 ESCI

1 #2 # This is config.card file for restart with an NEW libIGCM simulation tree.3 #4 #========================================================================5 #D-- Compatibility -6 [Compatibility]7 libIGCM=1.08 #D-- UserChoices -9 [UserChoices]10 #============================11 #-- (<8 chars MAX for JobName)12 JobName=LO113 LongName="SCRIPT_V1"14 TagName=IPSLCM4_v215 #============================16 #-- leap, noleap, 360d17 CalendarType=360d18 #-- Début et fin de Job19 #-- "YYYY-MM-DD"20 DateBegin=1860-01-0121 DateEnd=1869-12-3022 #============================23 #-- 1Y, 1M, 5D, 1D24 PeriodLength=1M25 #============================

config.card : UserChoices

Page 39: Version 2.2 Septembre 2008 ESCI

25 #============================26 #-- PBS Class (required on brodie mono/multi)27 #JobClass=mono28 JobClass=multi29 #============================30 #-- Total Number of Processors (minimum is 2 for a coupled configuration)31 #JobNumProcTot=232 JobNumProcTot=4

config.card : Batch

Page 40: Version 2.2 Septembre 2008 ESCI

config.card : Composantes33 #========================================================================34 #D-- ListOfComponents -35 [ListOfComponents]36 #D- For each component, Name of component, Tag of component37 ATM= (lmdz, LMDZ.4)38 SRF= (orchidee, ORCHIDEE.1.9)39 OCE= (opa, OPA8.2)40 ICE= (lim, LIM.1)41 CPL= (oasis, OASIS3)42 #========================================================================43 #D-- Executable -44 [Executable]45 Name=run_file46 #D- For each component, Real name of executable, Name of executable for oasis47 ATM= (gcm.e, lmdz.x)48 SRF= ("", "")49 OCE= (opa, opa.xx)50 ICE= ("", "")51 CPL= (oasis, oasis)

Page 41: Version 2.2 Septembre 2008 ESCI

53 #========================================================================54 #D-- Restarts -55 [Restarts]56 #D- If you want a GENERAL RULE FOR RESTARTS, put this flag to 'y'57 OverRule=n58 #D- Last day of the experience used as restart59 RestartDate=1869-12-3060 #D- Define restart simulation name (=> JOB_OS)61 RestartJobName=CD162 #D- Path Server Group Login (=> PSGL)63 RestartPath=/u/rech/ces/rces452/IGCM_OUT/IPSLCM4_v1_OASIS364 # Attention login depend de la machine66 #========================================================================67 #D-- Post -68 [Post]69 #D- Do we rebuild parallel output, this flag determines70 #D- frequency of rebuild submission71 RebuildFrequency=NONE72 #D- If you want to monitor variables, this flag determines73 #D- frequency of post-processing submission74 MonitoringFrequency=NONE75 #D- If you want to produce time series, this flag determines76 #D- frequency of post-processing submission77 TimeSeriesFrequency=10Y78 #D- If you want to produce seasonal average, this flag determines79 #D- the period of this average80 SeasonalFrequency=10Y

config.card : Restarts

y pour un redémarrage depuis une autre simulation

Donner la date, le nom de la simulation et le chemin d’accès aux fichiers

Page 42: Version 2.2 Septembre 2008 ESCI

53 #========================================================================54 #D-- Restarts -55 [Restarts]56 #D- If you want a GENERAL RULE FOR RESTARTS, put this flag to 'y'57 OverRule=n58 #D- Last day of the experience used as restart59 RestartDate=1869-12-3060 #D- Define restart simulation name (=> JOB_OS)61 RestartJobName=CD162 #D- Path Server Group Login (=> PSGL)63 RestartPath=/u/rech/ces/rces452/IGCM_OUT/IPSLCM4_v1_OASIS364 # Attention login depend de la machine66 #========================================================================67 #D-- Post -68 [Post]69 #D- Do we rebuild parallel output, this flag determines70 #D- frequency of rebuild submission71 RebuildFrequency=NONE72 #D- If you want to monitor variables, this flag determines73 #D- frequency of post-processing submission74 MonitoringFrequency=NONE75 #D- If you want to produce time series, this flag determines76 #D- frequency of post-processing submission77 TimeSeriesFrequency=10Y78 #D- If you want to produce seasonal average, this flag determines79 #D- the period of this average80 SeasonalFrequency=10Y

config.card : Post

Page 43: Version 2.2 Septembre 2008 ESCI

82 #========================================================================83 #D-- ATM -84 [ATM]85 #86 WriteFrequency="1M 1D HF"87 # If config_Restarts_OverRule == 'n' all params are read88 Restart= n89 # Last day of the experience used as restart90 RestartDate=1999-12-3091 # Define restart simulation name92 RestartJobName=2L1893 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL94 # Old component name for restart (if empty, use new name)95 OldName=96 97 #========================================================================98 #D-- OCE -99 [OCE]100 WriteFrequency="1M 1D"101 Restart= n102 ##-- Last day of the experience used as restart103 RestartDate=1999-12-30104 # Define restart simulation name105 RestartJobName=2L18106 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL107 # Old component name for restart (if empty, use new name)108 OldName=

config.card : une composante type ATM

y pour un redémarrage ATMdepuis une autre simulation

Donner la date, le nom de la simulation et le chemin d’accès aux fichiers

Page 44: Version 2.2 Septembre 2008 ESCI

# contient la date du run en cours ou du run en attente # last date of loop == .suivi[Configuration]#last PREFIXOldPrefix= HVMPSTOI_00071231#Compute date of loop == .suiviPeriodDateBegin= 0008-01-01PeriodDateEnd= 0015-12-31CumulPeriod= 2# State of Job "Start", "Running", "OnQueue", "Completed"PeriodState= Running

# contient la trace des executions[PostProcessing]# postraitements state == .datePostState = Start

MonitoringRunning=nMonitoringCompleted=

TimeSeriesRunning=nTimeSeriesCompleted=

SeasonalRunning=nSeasonalCompleted=

run.card : le fichier de suivi

Page 45: Version 2.2 Septembre 2008 ESCI

[Log]# Executable SizeLastExeSize= ( 0, 13871536 )

# CumulPeriod | PeriodDateBegin | PeriodDateEnd | RunDateBegin | RunDateEnd | RealCpuTime | UserCpuTime | SysCpuTime | ExeDate 1 | 18600101 | 18600130 | 20060203_12:00:03 | 20060203_13:02:12 | 3049 | 2895 | 135 | ATM_Aug_2_15:35-CPL_Aug_1_16:282 | 18600201 | 18600230 | 20060203_12:00:03 | 20060203_13:02:12 | 3065 | 2959 | 125 | ATM_Aug_2_15:35-CPL_Aug_1_16:28

run.card : le fichier de suivi

Page 46: Version 2.2 Septembre 2008 ESCI

Job_JobName

1. Définition de la mémoire limite#PBS -l memsz_job=4.0gb limite mémoire

2. Définition du nombre de processeurs #PBS -v PBS_NUM_PROC_TOT=::JobNumProcTot::

provient de config.card

3. Définition des limites temps CPUSur Brodie :#PBS -l cputim_job=1:00:00 limite en temps CPU pour

l’ensemble du jobSur Mercure :#PBS -l elapstim_req=1:00:00 limite en temps réel ‘elapsed’

pour l’ensemble du job

Initialisation des paramètres de batch (exemple PBS)

NEW

NEW

Page 47: Version 2.2 Septembre 2008 ESCI

Job_JobName : PBStableau des classes* IDRIS

brodie : news class            ^ -l cputim_job (limite en temps CPU par job) | | 10:00:00 +----------------+----------------+----------------+ (10H) | | | | | t2 | t2L | | | | | | | TMPDIR <= 30Gb | TMPDIR <= 90Gb | t2XL | 2:00:00 +----------------+----------------+ | (2H) | | | | | t1 | t1L | TMPDIR <= 90Gb | | | | | | TMPDIR <= 30Gb | TMPDIR <= 30Gb | | 0:30:00 +----------------+----------------+----------------+ (1/2H) | | | | t0 | t0XL | | | | | TMPDIR <= 30Gb | TMPDIR <= 90Gb | +----------------+----------------+----------------+-> 6Gb 10Gb 20Gb -l memsz_job (limite memoire par job)

* Susceptible de changement permanent

Page 48: Version 2.2 Septembre 2008 ESCI

Job_JobName : PBStableau des classes* IDRIS

brodie : news class (suite)    ======================================================================= Classes multiprocesseurs (<=8) au sein d'un noeud (MPI ou OpenMP) ========================================================================

Parametres NQSII a specifier : #PBS -q multi #PBS -l cpunum_job=<Nproc> # Nombre de processeurs (1 <= Nproc <= 8)

^ -l cputim_job (limite en temps CPU par job) | 12:00:00 +-----------------+ (12H) | | | p2t2 | | | | 1 <= Nproc <= 2 | | TMPDIR <= 45Gb | 1:00:00 +-----------------+ (1H) | | | p2t1 | | | | 1 <= Nproc <= 2 | | TMPDIR <= 45Gb | +-----------------+--> -l memsz_job (limite memoire par job) 15Gb

* Susceptible de changement permanent

NEW

Page 49: Version 2.2 Septembre 2008 ESCI

Job_JobName : PBStableau des classes* IDRIS

brodie : news class (suite)     ^ -l cputim_job (limite en temps CPU par job) | 24:00:00 +---------------------------+ (24H) | | | p4t2 | | | | 3 <= Nproc <= 4     | | TMPDIR <= 90Gb | 1:00:00 +-----------------+ | (1H) | | | | p4t1 | | | | | | 3 <= Nproc <= 4    |   | TMPDIR <= 45Gb | | +-----------------+---------+-> -l memsz_job 15Gb 30Gb ^ -l cputim_job 24:00:00 +---------------------------+ (24H) | | | p6t2 | | | | 5 <= Nproc <= 6      |     | TMPDIR <= 90Gb | 1:00:00 +---------------------------| (1H) | | | p6t1 | | | | 5 <= Nproc <= 6      | | TMPDIR <= 90Gb | +---------------------------+--> -l memsz_job 30Gb

* Susceptible de changement permanent

NEW

 ^ -l cputim_job   | 48:00:00 +----------------------------- (48H) | | p8t2 | | 7 <= Nproc <= 8 | TMPDIR <= 300Gb 2:00:00 +----------------------------- (2H) | | p8t1 | | 7 <= Nproc <= 8 | TMPDIR <= 100Gb +----------------------------> -l memsz_job 60Gb

Page 50: Version 2.2 Septembre 2008 ESCI

Job_JobName : PBStableau des classes* CCRT

* Susceptible de changement permanent

mercure : class

QUEUE ACT TYPE CPU NODE TIME MEM LIM/USER HOSTStest Oui Urgent 1 1 1h00 32G 8 2 mercure10,mercure11,…,mercure17prod Oui Normal 1 1 24h00 20G - -(20) mercure10,mercure11,…,mercure17bigmem Oui Normal 1 1 24h00 64G - - mercure10,mercure11bigtime Oui Normal 1 1 100h00 32G 3 -(1) mercure16,mercure17testpara Oui Urgent 8 8 30m00 52G 3 1 mercure10,mercure11,…,mercure17parallel Oui Normal 8 1 24h00 32G - - mercure10,mercure11,…,mercure17para8 Oui Normal 8 4 24h00 52G - - mercure10,mercure11,…,mercure17scalaire Oui - 1 1 24h00 8G 8 3 mercure

NEW

Page 51: Version 2.2 Septembre 2008 ESCI

1000 à 1700 s

1200 à 1600 s

Temps CPU

3.7 Gb (4.1 Gb 1er mois)1000 à 1700 sMercure : 4 procs

2.5 Gb (3.2 Gb 1er mois)1100 à 1300 sMercure : 2 procs

3.7 Gb (4.1 Gb 1er mois)520 à 700 sBrodie : 4 procs

2.5 Gb (3.2 Gb 1er mois)1200 à 1800 sBrodie : 2 procs

MémoireTemps écouléPlateforme

1600 à 1700 s

450 à 700 s

Job_JobName : PBSCaractéristiques pour une expérience de 1 mois

ORCA2xLMD9671

Classe du job: brodie t1, p2t2, p4t2 mercure prod, parallel

NEW

Page 52: Version 2.2 Septembre 2008 ESCI

Job_JobName : PBS_NUM_PROC_TOT

• Pour gagner en temps de restitution, il est possible de lancer LMDZ/ORCHIDEE sur plusieurs processeurs en parallèle.

• Cela est efficace sur les NEC tant que l’on garde des domaines de taille suffisante pour garder la vectorisation efficace.

• A la résolution standard (96x71), il est recommandé d’utiliser 4 processeurs en tout : 3 processeurs pour LMDZ/ORCHIDEE et 1 processeur qu’oasis et OPA se partagent.

• A préciser par le paramètre JobNumProcTot de config.card avant le lancement de la commande ins_job

• A changer dans les entêtes batch de Job_JobName

Attention! Modifier aussi le paramètre PBS de la mémoire en conséquence.#PBS -l memsz_job=5.0gb

Lancement de LMDZ/ORCHIDEE sur plusieurs processeurs

Page 53: Version 2.2 Septembre 2008 ESCI

Job_JobName : PeriodNb

Pour éviter de lancer une foule de petits jobs qui reprennent la file d’attente àchaque fois, il est possible de lancer en boucle n périodes par job.Le paramètre à modifier est dans Job_JobName (1 par défaut) : PeriodNb=1

Attention! Modifier le paramètre PBS du temps en conséquence. 1. Définition des limites temps CPU

Sur Brodie :#PBS -l cputim_job=10:00:00 limite en temps CPU pour

l’ensemble du jobSur Mercure :#PBS -l elapstim_req=10:00:00 limite en temps réel ‘elapsed’

pour l’ensemble du job

Lancement de plusieurs périodes par job

Page 54: Version 2.2 Septembre 2008 ESCI

Job_JobName : DRYRUN

Pour tester une nouvelle expérience et ne lancer que certaines étapes de lasimulation, il est possible par la variable DRYRUN de diminuer les actionslancées.Elle est positionnée à 0 par défaut.

Tests de l’expérience

Page 55: Version 2.2 Septembre 2008 ESCI

Les utilitaires de post-traitement CCRT, IDRIS

modipsl

IPSLCM4_v2

libIGCM

• create_ts• create_se• atlas_...

create_ts.job :

create_se.job :

Retour des jobs là :rhodes : $WORKDIR/IGCM_OUT/IPSLCM4_v2/JobNamemercure : $SCRATCHDIR/IGCM_OUT/IPSLCM4_v2/JobName

atlas_ORCA_LIM : pour océan et glace de meratlas_LMDZ : pour atmosphère atlas_ORCHIDEE : pour surfaces continentales

Les atlas sont basés sur ferret et sur fast : http://dods.ipsl.jussieu.fr/fast/

Page 56: Version 2.2 Septembre 2008 ESCI

Un fichier descriptif par composante (par ex opa.card)

• Fichiers d’entrée texte (namelist)• Fichiers d’entrée binaires :

• conditions initiales• conditions limites (bathymetry)

• Exécutable (opa.xx)• Fichiers de sorties binaires (netCDF)• Fichiers de sorties texte (ocean.output)• Fichiers de redémarrage (restart.nc)

Flux des données (1/6)

Page 57: Version 2.2 Septembre 2008 ESCI

Flux des données (2/6)[UserChoices]OPA_NPDT_JOURS=15

[InitialStateFiles]List= ()

[BoundaryFiles]List= ()ListNonDel= (${R_BC}/OCE/${config_UserChoices_TagName}/{RESOL_OCE}/LEVITUS_1m_Temperature_Pot_Ice_nomask.nc, .), \

(${R_BC}/OCE/${config_UserChoices_TagName}/${RESOL_OCE}/runoff_1m_nomask.nc, .)

[ParametersFiles]List= (${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}, namelist)

[RestartFiles]List= (${config_UserChoices_JobName}_${PeriodDateEnd}_restart.nc, restart.nc, orcaini.nc)

[OutputText]List= (ocean.output, opa.xx.prt, solver.stat, ftrace.out.2.0)

[

Page 58: Version 2.2 Septembre 2008 ESCI

Flux des données (3/6)[OutputFiles]List= (${PREFIX_NWRITE}_${DATE_OPA}_grid_T.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_T.nc, Post_1M_grid_T),\

(${PREFIX_NWRITE}_${DATE_OPA}_diaznl.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_diaznl.nc, Post_1M_diaznl),\

(${PREFIX_NWRIHF}_${DATE_OPA}_grid_V.nc, ${R_OUT_OCE_NWRIHF}/${PREFIX}_${WF2}_grid_V.nc, NONE)

[Post_1M_grid_T]Patches = ()GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter)MonitoringVars = (sosstsst, sossheig, sohefldo, sowaflup, sosaline, soicecov)TimeSeriesVars = (iowaflup, sohtc300, sohefldo, soicecov, somxl010, sorunoff, sosaline, sossheig, sosstsst, sowaflep, sowaflcd, sowaflup)

[Post_1M_diaznl]Patches = ()GatherWithInternal = (lon, lat, deptht, time_counter)MonitoringVars = (sozonfha, sozonfhd, sozonfhe)TimeSeriesVars = (zotempeg, zotempea, zosaling, zosalina, sozonfha, sozanfha, sozonfhd, sozanfhd, sozonfhe, sozanfhe, sozonfhg, sozanfhg, sozonfho, sozanfho, sozonfsd, sozanfsd, sozonfsg, sozanfsg, sozonfso, sozanfso)

Page 59: Version 2.2 Septembre 2008 ESCI

OPA + LIM

Flux des données (4/6)OPA + LIM namelist_ORCA2

geogra.paramoutput.paramrun.param.lithermo.paramdynami.param_ORCA2inice.param

coordinates.ncbathymetry…ahmcoefLEVITUS_1m_…runoff_1m_...

À analyser avec les outils de post-traitements

restart.ncrest_ice.om

orcaini.ncrest.om

…_grid_ ……_diaznl_……icemod…meshmask.nc

ocean.outputsolver.stattime.stepice_evoluice_mouchard

Page 60: Version 2.2 Septembre 2008 ESCI

OASIS3

flxat.ncsstoc.nc

flxat.ncsstoc.nc

cf_name_table.txtnamcouple

_ORCA2xLMD9671_ORCA2xLMD7245

grids.ncmasks.ncareas.ncwa2o.flxwa2o.runwa2o.calwo2a.tsg

cpl_oce_tau.nccpl_oce_flx.nccpl_oce_sst.nccpl_atm_tauflx.nccpl_atm_sst.nc

Oasis.prtopa.xx.prt0lmdz.x.prt0cplout

Flux des données (5/6)OASIS

À analyser avec les outils de post-traitements

Page 61: Version 2.2 Septembre 2008 ESCI

LMDZ + ORCHIDEErestart.ncrestartphy.ncsechiba_rest.nc

start.ncstartphy.ncstart_sech.nc

physiq.defgcm.defrun.deforchidee.def

Flux des données (6/6)LMDZ + ORCHIDEE

invtab.formatedlimit.nccarteveg5km.ncsoils_param.ncrouting.ncflux_icebergamipbc_sic....ncAlbedo.ncRugos.nc

tautab.formatso4.run.nat.cdfECDYN.ncECPHY.ncRelief.ncRugos.nclandiceref.nco2a.nclai2D.nc

create_etat0_limit.e

À analyser avec les outils de post-traitements

etat0_visu.ncdyn_hist[ v_ave].n

cdynzon.nchisthf.nchistmth.nc

listingnistNMC.nchistREGDYN.ncsechiba_out.ncstomate_history.n

c

Page 62: Version 2.2 Septembre 2008 ESCI

Nomenclature des noms des fichiers de sortie

Output, Analyse, Debug, …${JobName}_${PeriodDateBegin}_${PeriodDateEnd}_XX_NomFichier

Output/DA et Analyse/TS_DA:

XX 1D

Output/MO et Analyse/TS_MO

XX 1M

Analyse/SE :${JobName}_SE_${PeriodDateBegin}_${PeriodDateEnd}_NomFichier

Restart :

${JobName}_${PeriodDateEnd}_NomFichier

Page 63: Version 2.2 Septembre 2008 ESCI

Arborescence sur serveur fichiers

TS_DA TS_MO

IPSLCM4_v2

OCE SRF CPL Exe

JobName

ATM ATLASICE

RestartAnalyseOutput

[INS]DA [HF] MO

Debug SE_1860_1969

rhodes : cd $HOMEGAYA/IGCM_OUTmercure : cd $DMFDIR/IGCM_OUT

Out

OCE_[TUVW] SRFATM ICE

SE

Page 64: Version 2.2 Septembre 2008 ESCI

Arborescence sur serveur fichiersrhodes : cd $HOMEGAYAmercure : cd $DMFDIRIGCM_OUT/`-- IPSLCM4_v2 `-- JobName |-- ATLAS |-- ATM | |-- Analyse | | |-- SE | | |-- TS_DA | | |-- TS_HF | | `-- TS_MO | |-- Debug | |-- Output | | |-- DA | | `-- HF | | `-- MO | `-- Restart |-- CPL | |-- Analyse | | `-- SE | |-- Debug | |-- Output | | `-- MO | `-- Restart |-- Exe

|-- ICE | |-- Analyse | | |-- SE | | `-- TS_MO | |-- Debug | |-- Output | | `-- MO | `-- Restart |-- MONITORING |-- OCE | |-- Analyse | | |-- SE | | `-- TS_MO | |-- Debug | |-- Output | | |-- DA | | `-- MO | `-- Restart |-- Out `-- SRF |-- Analyse | |-- SE | `-- TS_MO |-- Debug |-- Output | `-- MO `-- Restart

Page 65: Version 2.2 Septembre 2008 ESCI

mc2.ipsl.jussieu.fr

Page 66: Version 2.2 Septembre 2008 ESCI

mc2.ipsl.jussieu.fr/simules.html

Page 67: Version 2.2 Septembre 2008 ESCI

mc2.ipsl.jussieu.fr/testing.php?exp=VV20

Time Series Utilitaire Répertoire gaya

Lancement Dods IDRIS : dods.ipsl.jussieu.fr

Dods IPSL : dods.ipsl.jussieu.fr/mc2ipsl/calculo/

Nouveaux scripts

1xYearly1 fichier par variable

create_ts_ye Atm/Analyse/TS_YE

À la main OK_DODS_MO2ST=nAtm/TS_YE

Synchro IPSL (SD) Pas encore

1xMonthlyidem

create_ts Atm/Analyse/TS

OK_POST_MO2ST=n OK_DODS_MO2ST=nAtm/TS

Synchro IPSL (SD) Oui Atm/TS_MO

1xDaily idem

create_ts Atm/Analyse/DA2TS

A la main OK_DODS_MO2ST=nAtm/DA

Synchro IPSL (SD) Oui Atm/TS_DA

4xDaily idem

create_ts Atm/Analyse/HF2TS

A la main OK_DODS_MO2ST=nAtm/HF

Synchro IPSL (SD) Oui Atm/TS_HF

Page 68: Version 2.2 Septembre 2008 ESCI

mc2.ipsl.jussieu.fr/testing.php?exp=VV20

Seasonnal cycle Util Répertoire gaya Lancement Dods IDRIS : dods.ipsl.jussieu.fr

Dods IPSL : dods.ipsl.jussieu.fr/mc2ipsl/calculo/

Nouveaux scripts

MO2SE base atlas, 1 fichier, 12 mois, moyenne 10 ans

mo2se Atm/Analyse/MO2SE OK_POST_SE=y

ToujoursAtm/MO2SE

Synchro IPSL (SD) Oui Atm/MO2SE

MO2YE1 fichier 1 moyenne annuelle

mo2ye Atm/Analyse/MO2YE OK_POST_MO2YE=y

OK_DODS_MO2YE=yAtm/MO2YE

Non Pas encore

MO2SN mo2sn Atm/Analyse/MO2SN OK_POST_MO2SN=y

OK_DODS_MO2SN=yAtm/MO2SN

Non Pas encore

Page 69: Version 2.2 Septembre 2008 ESCI

mc2.ipsl.jussieu.fr/testing.php?exp=VV20

Utilitaire Répertoire gaya Lancement Dods IDRIS : dods.ipsl.jussieu.fr

Dods IPSL : dods.ipsl.jussieu.fr/mc2ipsl/calculo/

Nouveaux scripts

Monitoring create_ts More/Monit/WWW/Monitoring

OK_POST_monitoring=y

toujoursMonitoring

Synchro IPSL (SD) Pas encore

Atlas mo2ye More/Atlas/WWW/VV20/SE_1860_1869

OK_POST_ATAS_SE=y

toujoursSE_1860_1869

Synchro IPSL (SD) Oui Atm/MO2SE

Ocean additionals

mo2sn More/Atlas/WWW/VV20/Images

A la main TKE2.job Toujours (si dispo)Images

Synchro IPSL (SD) Pas encore

Page 70: Version 2.2 Septembre 2008 ESCI
Page 71: Version 2.2 Septembre 2008 ESCI
Page 72: Version 2.2 Septembre 2008 ESCI
Page 73: Version 2.2 Septembre 2008 ESCI
Page 74: Version 2.2 Septembre 2008 ESCI

LMDZ

OPA

ORCHIDEE

IOIPSL

Annexe 1 : Accès au modèle IPSLCM4_v2Accès direct aux fichiers sur les serveurs SVN et CVS

brodie ou mercure : svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl’

brodie ou mercure : cvs –d :pserver:[email protected]:/home/opalod/CVSROOT login (passwd=opa2000)

brodie ou mercure : cvs –d :pserver:[email protected]:/users/lmdz/cvsroot login (passwd=lmdzb2000)

brodie ou mercure : cvs –d :pserver:[email protected]:/home/ssipsl/CVSREP login (passwd=ipsl2000)

Création du fichier $HOME/.cvspass

MODIPSL

CPL

brodie ou mercure : svn co http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk/src src

brodie ou mercure : cvs –d:pserver:[email protected]:/home/ioipsl/CVSROOT login                                                                                                                 (passwd=anonymous)

Création du répertoire ./.svn

Page 75: Version 2.2 Septembre 2008 ESCI

Auto descriptif

Portable

à Accès direct

Modifiable

Partageable

Le fichier contient l’information sur les variables contenues

Fichiers accessibles par des machines ayant des modes différents de stockage des entiers, des caractères et des nombres à virgules flottantes

Possibilité d’accéder à une donnée sans avoir à parcourir l’ensemble des données qui la précède

Possibilité d’ajouter des données dans un fichier

Possibilité d’avoir simultanément un accès en écriture et plusieurs accès en lecture

Annexe 2:Caractéristiques d’un fichier netCDF

Page 76: Version 2.2 Septembre 2008 ESCI

• Informations sur les dimensions

• Informations sur les attributs(voir conventions CF)

• Informations sur les attributs des

variables

( sans leurs valeurs)(voir conventions CF)

Structure du fichier netCDF – En-têtedimensions: lon = 72 ; lat = 46 ; presnivs = 19 ; time_counter = UNLIMITED ; // (1 currently)

// global attributes: :Conventions = "GDT 1.3" ; :file_name = "histmth.nc" ; :production = "An IPSL model" ; :TimeStamp = "2003-MAR-05 10:37:38 GMT+0100" ; :associate_file = "dyn_hist_ave.nc dynzon.nc histhf.nc histmth.nc sechiba_out.nc cpl_atm_tauflx.nc cpl_atm_sst.nc" ;

variables: float lon(lon) ; lon:units = "degrees_east" ; lon:valid_min = -180.f ; lon:valid_max = 175.f ; lon:long_name = "Longitude" ; lon:nav_model = "Default grid" ; float lat(lat) ; lat:units = "degrees_north" ; lat:valid_min = -90.f ; lat:valid_max = 90.f ; lat:long_name = "Latitude" ; lat:nav_model = "Default grid" ; float presnivs(presnivs) ; presnivs:units = "mb" ; presnivs:positive = "unknown" ; presnivs:valid_min = 388.2433f ; presnivs:valid_max = 100426.5f ; presnivs:title = "presnivs" ; presnivs:long_name = "Vertical levels" ; float time_counter(time_counter) ; time_counter:units = "seconds since 1979-01-01 00:00:00" ; time_counter:calendar = "360d" ; time_counter:title = "Time" ; time_counter:long_name = "Time axis" ; time_counter:time_origin = " 1979-JAN-01 00:00:00" ;

float tsol(time_counter, lat, lon) ; tsol:units = "K" ; tsol:missing_value = 1.e+20f ; tsol:valid_min = 1.e+20f ; tsol:valid_max = -1.e+20f ; tsol:long_name = "Surface Temperature" ; tsol:short_name = "tsol" ; tsol:online_operation = "ave(X)" ; tsol:axis = "TYX" ; tsol:interval_operation = 1800.f ; tsol:interval_write = 2592000.f ; tsol:associate = "time_counter nav_lat nav_lon" ;

ncdump -h COURS_1m_19790101_19790130_histmth.nc

Page 77: Version 2.2 Septembre 2008 ESCI

• données de taille fixe

• données de taille variable

Structure du fichier netCDF - Données

data:

tsol = 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 246.818, 248.3489, 248.3532, 248.3445, 248.003, 247.5628, 247.1862, 246.7824,…

Page 78: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncgen -

ncgen : génère un fichier netCDF ou un programme C ou FORTRAN permettantde créer un fichier netCDF.Si aucune option n’est spécifiée lors de l’invocation de ncgen, le programmese limite à vérifier la syntaxe de l’entrée CDL produisant des erreurs lors dela violation de la syntaxe

Page 79: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncgen -

Syntaxe UNIX : ncgen [ -b ] [ -o netcdf-file] [-c] [-f] [-n] [input-file]

-b : Créée un fichier (binaire) netCDF. Si l’option « -o » est absente un nom par défautsera construit à partir du nom netCDF (spécifié après le mot clef netcdf)en y ajoutant l’extension « .nc »ATTENTION : si un fichier portant ce nom existe, il sera écrasé.

-o netcdf-file :spécifie le nom du fichier créé. Si cette option est présente, elle implique la présence de l’option « -b ».

-c : Génère un code source en C qui va créer un ficier netCDF correspondant à la spécification netCDF. Le code source est écrit sur la sortie standard. Ce n’est utile que pour des fichiers CDL relativement petits, du faitque toutes les données sont incluses dans les variables d’initialisation duprogramme généré.

Page 80: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncgen -

-f : Génère un code source en FORTRAN qui va créer un fichier netCDF correspondant à la spécification netCDF. Le code source est écrit sur la sortie standard. Ce n’est utile que pour des fichiers CDL relativement petits, du faitque toutes les données sont incuses dans les variables d’initialisation duprogramme généré.

-n : Cette option est dépréciée.Fonctionne selon le même principe que l’option « -b » sauf que l’extensionest « .cdf ». Cette option n’est supportée que pour assurer la compatibilité ascendante.

Page 81: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncdump -

ncdump : génère sur la sortie standard une représentation textuelle CDLd’un ensemble de meta-données netCDF avec la possibilité d’exclure toutou partie de données variables.La sortie de ncdump doit pouvoir servir d’entrée à ncgenncdump et ncgen peuvent donc être utilisées comme fonctions inversespour passer d’une représentation textuelle à une représentation binaireet inversement.ncdump peut être aussi simplement utilisée pour explorer les fichiersnetCDF dans le but d’afficher :

• les noms et longueurs des dimensions• les noms, types et formes des variables• les noms et valeurs des attributs• et optionnellement les valeurs des données pour les variables d’un fichier netCDF

Page 82: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncdump -

Syntaxe UNIX : ncdump [ -c | -h ] [ -v var1, …] [-b lang] [-f lang][-l len] [-p fdig[, ddig]] [-n name] [input-file]

-c : affiche les valeurs des variables coordonnées ainsi que les déclarations detoutes les dimensions, variables, et attributs des valeurs.La valeur des données des variables non coordonnées ne sont pas affichées.Cette option et la plus adaptée pour une rapide visualisation de la structure etdu contenu d’un ensemble de données netCDF

-h : affiche seulement l’information d’en-tête. C’est à dire seulement les déclarationsdes dimensions, variables et attributs d’un fichier mais pas les valeursdes variables. Le résultat de l’utilisation de cette option est identique à celuide l’option « -c » à l’exception du fait que les valeurs de variables coordonnéesne sont pas incluses.

Page 83: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncdump -

-v var1, … : le résultat va inclure la valeur des données des variables spécifiées,en plus des déclarations des dimensions, variables et des attributs.Une liste d’une ou plusieurs variables, séparées par des virgules,doit être spécifiée à la suite de l’option. La liste doit représenter un seulargument pour l’option. Elle ne doit donc pas contenir de blanc ou autrecaractère espace.Les noms des variables indiquées doivent effectivement exister dans lefichier d’entrée netCDF.Par défaut, en l’absence de cette option et en l’absence des options« -c » ou « -h » les valeurs des données de toutes les variables sontaffichées.

Page 84: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncdump -

-b lang : une brève annotation, au format CDL (texte commencant par les caractères’//’) sera incluse dans la section des données à l’affichage pour chaque ‘ligne’ de données afin d’identifier les valeurs des données des variables multi-dimensionnelles.Si lang débute avec la lettre ‘C’ ou ‘c’ les conventions du langage C seront utilisées (indices basés sur zéro et dernière dimension variant la plus vite)Si lang débute avec la lettre ‘F’ ou ‘f’, les convention du langage FORTRAN seront utilisées (indices basés sur un et première dimension variant la plus vite)

- f lang : Même principe que précédemment à l’exception que l’annotation sera complète.

- l len : Change la valeur par défaut de la longueur d’une ligne à l’affichage(80 caractères)

Page 85: Version 2.2 Septembre 2008 ESCI

-p float_digits[,double_digits]spécifié la précision par défaut (nombre de chiffre significatifs) à utiliser lors de l’affichage des valeurs des données, double précision ou flottant, des attributs et des variables. Si spécifiée, cette valeur surchage la valeur de l’attribut C_format, s’il existe, d’une variable.Les flottants seront affichés avec float_digits pour les nombres significatifs.Si le champ double_digits est aussi spécifié, les valeurs en double précision seront affichées avec le nombre de chiffres significatifs correspondant.En l’absence de l’option « -p » les valeurs par défaut de la précision sont respectivement 7 et 15 pour les flottant et la double-précision. La précision requise influe sur la taille du fichier CDL. Si les deux champs sont spécifiés, ils doivent être séparés par une virgule et apparaître comme un seul argument pour l’option (pas de blancs).

Utilitaires netCDF- ncdump -

Page 86: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncdump -

- n name : CDL requière un nom pour un ensemble de données netCDF afin d’être utilisé par « ncgen –b » pour la génération du nom par

défaut d’un ensemble de données netCDF. Par défaut ncdump construit ce nom à partir du dernier champ du nom

de l’ensemble des données netCDF d’entrée, en y enlevant toute extension.

L’option « -n » sert à spécifier un autre nom. Même si le nom du fichier de sortie utilisé par « ncgen –b » peut être spécifié, il est préférable :

- d’utiliser ncdump pour changer le nom par défaut afin d’éviter

d’écraser un ensemble de données netCDF lors de l’utilisation de ncdump.

- d’éditer le fichier CDL résultant- et d’utiliser « ncgen –b » pour générer un ensemble de

données netCDF à partir du fichier CDL édité.

Page 87: Version 2.2 Septembre 2008 ESCI

rhodes : cd ${HOMEGAYA}/IGCM_OUT/IPSLCM4_V2/COURS/ATM/Output/MO

mercure : cd ${DMFDIR}/IGCM_OUT/IPSLCM4_V2/COURS/ATM/Output/MO

rhodes ou mercure : ncdump -h COURS_1m_19790101_19790130_histmth.nc

rhodes ou mercure : ncdump -h COURS_1m_19790101_19790130_histmth.nc > toto

rhodes ou mercure : ncdump -c COURS_1m_19790101_19790130_histmth.nc > tata

rhodes ou mercure: diff toto tata

rhodes ou mercure : \rm –f toto tata

Utilitaires netCDF- ncdump -- ncgen -

Affiche sur la sortie standard les valeurs des variables coordonnées

Page 88: Version 2.2 Septembre 2008 ESCI

Utilitaires netCDF- ncdump -- ncgen -

rhodes ou mercure : ncdump –p15 –b fCOURS_1m_19790101_19790130_histmth.nc >COURS_1m_19790101_19790130.cdl

rhodes ou mercure : emacs COURS_1m_19790101_19790130.cdl &

rhodes ou mercure : ncgen –o COURS_1m_19790101_19790130.ncCOURS_1m_19790101_19790130.cdl

Permet de faire des modifs « à la main » dans les fichiers netCDF

Page 89: Version 2.2 Septembre 2008 ESCI

ncrcat [-A] [-C] [-c] [-D dbg]

[-d dim,[min][,[max]][,[stride]]] [-F] [-h] [-l path]

[-n loop] [-O] [-p path] [-R] |-r] [-v var[,…]]

[-x] input-files output-files

ncrcat concatène des variables enregistrées parmi un nombre

arbitraire de fichiers d'entrée.

La dimension du fichier netCDF de sortie est par défaut la somme

des dimensions des fichiers netCDF d’entrée.

Les fichiers d'entrée peuvent avoir des tailles différentes mais

tous doivent avoir des dimensions spécifiées.

L’enregistrement des coordonnées doit avoir la même syntaxe.

Utilitaires nco- ncrcat -

Page 90: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncrcat -

ncrcat –v tsol COURS_1m_19790[1-9]01_19790[1-9]30_histmth.nc COURS_1m_19791[0-2]01_19791[0-2]30_histmth.nc COURS_1m_19880[1-9]01_19880[1-9]30_histmth.nc COURS_1m_19881[0-2]01_19881[0-2]30_histmth.nc

COURS_1m_19790101_19880130_TSOL.nc

Série temporelle de la variable TSOL sur 10 ans

Page 91: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncra -

ncra [-A] [-C] [-c] [-D dbg]

[-d dim,[min][,[max]][,[stride]]] [-F] [-h] [-l path]

[-n loop] [-O] [-p path] [-R] |-r] [-v var[,…]]

[-x] [-y op_typ] input-files output-files

ncra calcule la moyenne sur un nombre variable de fichiers d’entrée.

C’est une moyenne temporelle sur la grille spatiale.

Ce qui donne 1 seule valeur dans les fichiers de sorties.

ncra ne calcule pas de moyenne pondérée.

Page 92: Version 2.2 Septembre 2008 ESCI

ncra COURS_1m_19??0101_19??0130_histmth.nc

COURS_SE01_1979_1988_histmth.nc

ncra COURS_1m_19790101_19790130_histmth.nc

COURS_1m_198[0-8]0101_*_histmth.nc

COURS_SE01_1979_1988_histmth.nc

Permet de faire une moyenne sur tous les mois 01 de 1979 à 1988

Permet de faire une moyenne sur tous les mois 01 présents dans le répertoire

Utilitaires nco- ncra -

ncrcat COURS_SE*_1979_1988_histmth.nc

COURS_SE_1979_1988_histmth.nc Moyenne saisonnière sur 10 ans

Page 93: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncea -

ncea [-A] [-C] [-c] [-D dbg]

[-d dim,[min][,[max]][,[stride]]] [-F] [-h] [-l path]

[-n loop] [-O] [-p path] [-R] |-r] [-v var[,…]]

[-x] [-y op_typ] input-files output-files

ncea calcule la moyenne sur un nombre variable de fichiers d’entrée.

C’est une moyenne spatiale sur une grille temporelle.

Ce qui donne autant de valeurs de moyenne que de pas de temps.

Page 94: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncea -

ncea COURS_1m_1979??01_1979??30_histmth.nc 1979.nc

ncea COURS_1m_1988??01_1988??30_histmth.nc 1988.nc

ncea –n 10,4,1 COURS_1m_ 1979_1988 _histmth.nc

Moyenne

saisonnière

sur 10 ans

Car 1 sortie mensuelle par fichier

ATTENTION : ncea fait la moyenne « fichier à fichier » sur chaque point de l’axe des temps

ATTENTION : ncra fait la moyenne « fichier à fichier » sur l’ensemble des points de l’axe des temps

t

t

t

Nombre de valeurs de moyenne égale au nombre de sorties par fichiers

1 unique valeur de moyenne

Page 95: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncks -

ncks [-A] [-a] [-B] [-b binary-files] [-C] [-c] [-D dbg]

[-d dim,[min][,[max]][,[stride]]]

[-F] [-H] [-h] [-l path] [-M] [-m] [-O] [-p path] [-q]

[-R] |-r] [-s format] [-u] [-v var[,…]] [-x]

input-files output-files

ncks permet d’extraire une série de données qu’il écrit sur la sortie standard sous forme ASCII (comme ncdump) et qu’il écrit également sous forme d’un fichier binaire netCDF.

Page 96: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncks -

ncks -v sosstsst COURS_1m_19790101_19790130_grid_T.ncCOURS_1m_19790101_19790130_SOSSTSST.nc

ncks -v sosstsst COURS_1m_19881201_19881230_grid_T.ncCOURS_1m_19881201_19881230_SOSSTSST.nc

ncrcat –v sosstsst COURS_1m_19790[1-9]01_19790[1-9]30_grid_T.ncCOURS_1m_19791[0-2]01_19791[0-2]30_grid_T.nc COURS_1m_19880[19]01_19880[1-9]30_grid_T.nc COURS_1m_19881[0-2]01_19881[02]30_grid_T.ncCOURS_1m_19790101_19880130_grid_T.nc

Série temporelle de la variable SOSSTSST sur 10 ans

Page 97: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncdiff -

ncdiff [-A] [-C] [-c] [-D dbg]

[-d dim,[min][,[max]][,[stride]]] [-F] [-h] [-l path]

[-n loop] [-O] [-p path] [-R] |-r] [-v var[,…]]

[-x] file_1 file_2 file_3

ncdiff soustrait des variables dans file_2 des variables correspondantes dans file_1 et stockent les résultats dans file_3.

Page 98: Version 2.2 Septembre 2008 ESCI

Utilitaires nco- ncdiff -

ncdiff –v tsol COURS_1m_19790101_19790130_histmth.ncCOURS_1m_19790201_19790230_histmth.ncCOURS_1m_19790101_19790230_TSOL_D.nc

Différence sur la grille spatiale de la variable TSOL

Page 99: Version 2.2 Septembre 2008 ESCI

Utilitaires cdo (Climate Data Operator)

Page 100: Version 2.2 Septembre 2008 ESCI

Utilitaires cdo (Climate Data Operator)

Page 101: Version 2.2 Septembre 2008 ESCI

Utilitaires cdo (Climate Data Operator) File information (info, sinfo, diff, ...) File operations (copy, cat, merge, split, ...) Selection (selcode, selvar, sellevel, seltimestep, ...) Missing values (setctomiss, setmisstoc, setrtomiss) Arithmetic (add, sub, mul, div, ...) Mathematical functions (sqrt, exp, log, sin, cos, ...) Comparision (eq, ne, le, lt, ge, gt, ...) Conditions (ifthen, ifnotthen, ifthenc, ifnotthenc) Field statistic (fldsum, fldavg, fldstd, fldmin, fldmax, ...) Vertical statistic (vertsum, vertavg, vertstd, vertmin, ...) Time range statistic (timavg, yearavg, monavg, dayavg, ...) Ensemble statistic (enssum, ensavg, ensstd, ensmin, ...) Regression (detrend) Field interpolation (remapbil, remapcon, remapdis, ...) Vertical interpolation (ml2pl, ml2hl) Time interpolation (inttime, intyear)

Page 102: Version 2.2 Septembre 2008 ESCI

Utilitaires cdo (Climate Data Operator)Interrogation des fichiers

cdo infov OCE/Analyse/TS_MO/TEST1Y_10010101_10041230_1M_sosstsst.nc -1 : Date Time Varname Level Size Miss : Minimum Mean Maximum 1 : 1001-01-16 00:00 sosstsst 0 27118 10367 : -1.9459 13.667 30.129 2 : 1001-02-16 00:00 sosstsst 0 27118 10367 : -1.9315 13.862 30.436…… 48 : 1001-12-16 00:00 sosstsst 0 27118 10367 : -2.0008 14.019 32.187cdo infov: Processed 1301664 values from 1 variable over 48 timesteps. ( 0.09s )

cdo sinfov OCE/Analyse/TS_MO/TEST1Y_10010101_10041230_1M_sosstsst.ncFile format: netCDF -1 : Institut Source Varname Time Typ Grid Size Num Levels Num 1 : unknown unknown sosstsst variable F32 27118 1 1 1 Horizontal grids : 1 : curvilinear > size : dim = 27118 nx = 182 ny = 149…

Page 103: Version 2.2 Septembre 2008 ESCI

Utilitaires cdo (Climate Data Operator)Cycle diurne moyen

T500.nc : un fichier toute les 6 heures

cdo timselmean,30 -seltimestep,1/72000/4 T500.nc final_01.nccdo timselmean,30 -seltimestep,2/72000/4 T500.nc final_02.nccdo timselmean,30 -seltimestep,3/72000/4 T500.nc final_03.nccdo timselmean,30 -seltimestep,4/72000/4 T500.nc final_04.nc

cdo mergetime final_0* final.nc

cdo -r settaxis,1951-01-01,03:00,180hou final.nc final2.nc

Page 104: Version 2.2 Septembre 2008 ESCI

Utilitaires cdo (Climate Data Operator)Changement de grille

En interpolant directement :cdo setgrid,IPSL.ORCA2_gridCF.nc sst.nc inter.nccdo remapbic,r360x180 inter.nc sst_regular.nc

En pré calculant le fichier de poids :cdo setgrid,IPSL.ORCA2_gridCF.nc sst.nc inter.nccdo genbic,r360x180 inter.nc remapweight.nccdo remap, remapweight.nc inter.nc sst_regular.nc

Page 106: Version 2.2 Septembre 2008 ESCI

Contributions

L’ensemble du groupe ESCI : équipe système climat IPSL

[email protected]