Version 2.1
Download
1 / 100

Version 2.1 21 janvier 2008 ESCI - PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on

Version 2.1 21 janvier 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Version 2.1 21 janvier 2008 ESCI' - kenadia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Slide1 l.jpg

Version 2.1

21 janvier 2008

ESCI


Acc s au mod le syst me terre et analyse des r sultats l.jpg
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



Slide4 l.jpg
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


P le de mod lisation l.jpg
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

INCA

NEMO/TOP/PISCES


Slide6 l.jpg

LMDZ

F. Hourdin

Bureau du CSPOLE

Responsable : P. Braconnot

J.-L. Dufresne,L. Fairhead, M.-A. Foujols

P. Friedlingstein

F. Hourdin, C. Lévy, O. Marti

20e-21eme

J.L Dufresne,

P. Friedlingstein

INCA

M. Schulz

Tropiques

J.P. Duvel,

S. Janicot

ORCHIDEE

N. De Noblet

NEMO-OPA

S. Masson,

G. Madec

Expertise

complémentaire

F. Lott, L. Li, S. Bekki,

G. Krinner,Th. Fichefet

G. Ramstein

NEMO-TOP

L. Bopp

Conseil scientifique

du pôle de modélisation


Slide7 l.jpg

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

  • Tests sensibilité

  • KE/Ti

  • Flux eau

  • Paleo

  • ???

IPSL_CM4(IPCC)

IPSLCM4_v1

IPSL_CM4+(IPCC)

Utilisation des sols

Paléo végétation

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

IPSL_CM4(loop)

Passage LMDZ4

Passage Verrions // des modèles

IPSL_CM4(//)

Haute résolution

IPSLCM4_v2

IPSL_CM4(chimie-aérosols)

IPSL_ESM_V1

INCA

Nouvel exercice GIEC 2009

Evolution des composantes

IPSLCM5

Nouveau modèle


Historique des versions du mod le coupl l.jpg
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 : en cours

    Principes similaires, utilisables pour toute configuration

NEW


Slide9 l.jpg

Atmosphere :

LMDZ

Ocean, sea-ice

ORCA-LIM

Land surface, vegetation

ORCHIDEE

CH4, COVs,

Aérosols

Aérosols

Polluant emissions

CO2 emissions

Déforestation,

land use

Human activities

Energy,

water

cycle

Circulation, precip...

Evaporation, rivers...

SST, ice extent..

Vegetation,

soil carbon

CO2

Carbon

cycle

Biogeochemistry

DMS

NOx, O3

Iron

Chemistry,

aerosols

Chemistry

Sea salt




Historique des versions de r f rence du mod le coupl ipsl depuis ipslcm4 v1 l.jpg
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)

  • 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

NEW


Version de r f rence l.jpg
Version de référence IPSL depuis IPSLCM4_v1

  • Chaque composante est validée en forcé par les personnes ad hoc

    • tag fixé

    • atlas sur le WWW

  • Une expérience type est disponible

    • IPSLCM4_v1 : 2L24 (préindustrielle - base simulation IPCC)

    • IPSLCM4_v2 : 2L20 (actuel)

  • Poursuite de la démarche itérative

    • Nouvelle étude

    • Suivi des nouveautés

      • Orchidee 1_9_1

      • LMDZ4 avec parallélisme LMDZ4_V3_1

      • Nouveaux scripts (libIGCM)

  • Configurations cohérentes en plus grand nombre

    • LMDZINCA_v2, ORCA2LIM_v2, LMDZOR_v2

    • IPSL_ESM_V1


Slide14 l.jpg

Différentes composantes du IPSL depuis IPSLCM4_v1

modèle couplé IPSLCM4_v2

Responsables ESCI

Composante

Information

Tag

72x45x19, 96x 71x19, 144x96x19

LMDZ4

L. Fairhead

LMDZ4_V3_1

ORCHIDEE

orchidee_1_9_1

M. Mancip

ipsl_cm4_v1_11

key_orca_r2 key_ice_lln …

ORCA_LIM

Équipe système OPA

SVN

IOIPSL

v2_1_1

J. Bellier

A. Caubel et CERFACS

CPL

OASIS 3

Head

Compilation et fichiers d’entrée

A. Caubel, MA Foujols et groupe CPLIPSL

IPSLCM4_v2

IPSLCM4_v2_1

Nouveaux scriptsexécution et post-traitements

S Denvil, P Brockmann, M Mancip

libIGCM

Sans (HEAD)

NEW


Documentations l.jpg
Documentations IPSL depuis IPSLCM4_v1

  • 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 : avoir un compte sur forge.ipsl.jussieu.fr pour pouvoir modifier wiki, tickets et sources.

    • Compte commun : climato/climato

    • Machine commune de gestion des projets - Olivier Thauvin (SA)

  • Wiki IPSLCM4_v2 : http://forge.ipsl.jussieu.fr/igcmg/wiki/IPSLCM4_v2_PAR

  • Documentation libIGCM (inclut exemple IPSLCM4_v2) :http://wiki.ipsl.jussieu.fr/wiki_ipsl/IGCMG/libIGCM/DocUtilisateur/InstallationIPSLCM4v2


Documentation forge ipsl jussieu fr igcmg l.jpg
Documentation IPSL depuis IPSLCM4_v1forge.ipsl.jussieu.fr/igcmg

WIKI

Sources SVN

Tickets


Principes 1 7 l.jpg

LMDZ IPSL depuis IPSLCM4_v1

Principes (1/7)

ATMOSPHERE


Principes 2 7 l.jpg
Principes IPSL depuis IPSLCM4_v1(2/7)

« DRIVER

OFFLINE »

PROCESSUS

de SURFACE

ORCHIDEE_OL

ORCHIDEE

LMDZ


Principes 3 7 l.jpg

Expérience type IPSL depuis IPSLCM4_v1 : 1 an

sur le site Cabauw

ORCHIDEE_OL

Expérience type :

1 an

LMDZOR

Principes (3/7)

ORCHIDEE_OL

ORCHIDEE

LMDZ


Principes 4 7 l.jpg

OPA IPSL depuis IPSLCM4_v1

LIM

TRC

LMDZ

Principes (4/7)

GLACE

OCEAN

TRACEUR

ORCHIDEE


Principes 5 7 l.jpg

Expérience type IPSL depuis IPSLCM4_v1 : 1 an

ORCA2_LIM

Expérience type : 1 an

ORCA2_LIM_TRC

Principes (5/7)

ORCHIDEE

LMDZ

OPA

LIM

TRC


Principes 6 7 l.jpg

IPSLCM4_v2 IPSL depuis IPSLCM4_v1

Expérience type :

10 ans

Etats initiaux

Principes (6/7)

COUPLEUR

CERFACS

ORCHIDEE

LMDZ

OASIS

OPA

LIM


Slide23 l.jpg

fichiers IPSL depuis IPSLCM4_v1

fichiers

IOIPSL/ NETCDF

IOIPSL/ NETCDF

Principes (7/7)

ORCHIDEE_OL

ORCHIDEE

LMDZ

OASIS

OPA

LIM

TRC


Slide24 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(1/10)

  • Accès à modipsl (SVN)brodie ou mercure :ksh

    alias svn_ano=‘svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl’

    brodie ou mercure :mkdir IPSLCM4_v2

    brodie ou mercure :cd IPSLCM4_v2

    brodie ou mercure :svn_ano

IPSLCM4_v2

modipsl

.svn

bin

util

doc

lib

config

modeles

tmp


Slide25 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(2/10)

Accès aux fichiers sur les serveurs SVN et CVS

MODIPSL

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

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

IOIPSL

Création du répertoire ./.svn

CPL

brodie ou mercure : cvs –d:pserver:anonymous@cvs.ipsl.jussieu.fr:/home/ioipsl/CVSROOT login                                                                                                                 (passwd=anonymous)

OPA

brodie ou mercure : cvs –d :pserver:opa@cvs.ipsl.jussieu.fr:/home/opalod/CVSROOT login (passwd=opa2000)

brodie ou mercure : cvs –d :pserver:lmdzbrowse@piaf.lmd.jussieu.fr:/users/lmdz/cvsroot login (passwd=lmdzb2000)

LMDZ

brodie ou mercure : cvs –d :pserver:sechiba@cvs.ipsl.jussieu.fr:/home/ssipsl/CVSREP login (passwd=ipsl2000)

ORCHIDEE

Création du fichier $HOME/.cvspass


Slide26 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(3/10)

  • mod.def

  • model

  • ins_make

  • ins_job

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

Extraction des modèles validés disponibles

Installation et configuration des Makefiles

Installation et configuration des scripts de lancement

IPSLCM4_v2

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

modipsl

bin

.svn

doc

lib

config

modeles

tmp

util


Slide27 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(4/10)

- fichier mod.def -

1 #- $Id$

2 #---------------------------------------------------------------------

3 #-This file is the definition file of the script "model".

4 #---------------------------------------------------------------------

5 #- Each model is defined by

6 #- (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 repository

10 #- tag/revision of the component

11 #- index of the repository in the server table

12 #- installation path in the local working directory

13 #- local working directory in modipsl

14 #- (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 informations

20 #-

21 #-S- 1 cvs anonymous@cvs.ipsl.jussieu.fr:/home/ioipsl/CVSROOT

22 #-S- 2 cvs sechiba@cvs.ipsl.jussieu.fr:/home/ssipsl/CVSREP

23 #-S- 3 cvs lmdzbrowse@cvs.lmd.jussieu.fr:/home/cvsroot

24 #-S- 4 cvs opa@cvs.ipsl.jussieu.fr:/home/opalod/CVSROOT

25 #-S- 5 cvs nemo@cvs.ipsl.jussieu.fr:/home/opalod/NEMOCVSROOT

26 #-S- 6 cvs inca@cvs.ipsl.jussieu.fr:/home/incaipsl/CVSROOT

27 #-S- 7 svn --username nemo_user http://forge.ipsl.jussieu.fr/nemo/svn

28 #-S- 8 svn http://forge.ipsl.jussieu.fr/igcmg/svn

29 #------------------------------------------------------------------


Slide28 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(4/10 - suite)

- fichier mod.def -

#-

87 #-H- IPSLCM4_v2 IPSLCM4_v2 configuration with parallel LMDZ4 and ORCHIDEE

88 #-H- IPSLCM4_v2 official release : october 2007

89 #-H- IPSLCM4_v2 ORCA tag ipsl_cm4_v1_11

90 #-H- IPSLCM4_v2 IOIPSL/src svn tags/v2_1_1

91 #-H- IPSLCM4_v2 LMDZ4 tag LMDZ4_V3_1

92 #-H- IPSLCM4_v2 ORCHIDEE tag orchidee_1_9_1

93 #-H- IPSLCM4_v2 OASIS3 tag HEAD

94 #-H- IPSLCM4_v2 IPSLCM4_v2 svn new scripts

95 #-M- IPSLCM4_v2 arnaud.caubel@lsce.ipsl.fr

96 #-C- IPSLCM4_v2 IOIPSL/tags/v2_1_1/src HEAD 8 IOIPSL/src modeles

97 #-C- IPSLCM4_v2 ORCHIDEE orchidee_1_9_1 2 . modeles

98 #-C- IPSLCM4_v2 OASIS3 ? 1 prism .

99 #-C- IPSLCM4_v2 LMDZ4 LMDZ4_V3_1 3 . modeles

100 #-C- IPSLCM4_v2 CONFIG/tags/IPSLCM4_v2_1/IPSLCM4_v2 HEAD 8 IPSLCM4_v2 config

101 #-C- IPSLCM4_v2 libIGCM ? 1 . .

102 #-C- IPSLCM4_v2 OPA/SRC_ORCA ipsl_cm4_v1_11 4 . modeles

103 #-C- IPSLCM4_v2 OPA/SRC_UCL ipsl_cm4_v1_11 4 . modeles

104 #-C- IPSLCM4_v2 UTIL/fait_AA_make ipsl_cm4_v1_8 4 . modeles


Slide29 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(5/10)

IPSLCM4_v2

modipsl

  • Accès à MODIPSL (SVN)

    svn_ano ; cd modipsl/util

  • Accès à IPSLCM4_v2

    brodie ou mercure:./model IPSLCM4_v2

bin

doc

lib

libIGCM

prism

config

modeles

tmp

util

.svn

IPSLCM4_v2

LMDZ4

OPA

CVS

IOIPSL

CPL

UTIL

ORCHIDEE


Slide30 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(6/10)

  • AA_make.ldef

  • AA_make.gdef

  • AA_make

Makefile

Accès à MODIPSL (SVN)

svn_ano ; cd modipsl/util

Accès à IPSLCM4_v2 ./model IPSLCM4_v2

Installation des Makefiles

brodie ou mercure :./ins_make

IPSLCM4_v2

modipsl

bin

doc

lib

modeles

prism

tmp

util

.svn

libIGCM

config

  • AA_make.gdef

IPSLCM4_v2


Slide31 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(7/10)

Accès à MODIPSL (SVN)

svn_ano ; cd modipsl/util

Accès à IPSLCM4_v2 ./model IPSLCM4_v2

Installation des Makefiles ./ins_make

Installation de l’expérience type

brodie ou mercure :vi ../config/IPSLCM4_v2/EXP00/config.card

# Modifier JobName= LO1 par défaut

./ins_job

IPSLCM4_v2

modipsl

libIGCM

lib

config

bin

doc

modeles

tmp

util

.svn

IPSLCM4_v2

AA_job

NEW

EXP00

Job_JobName

config.card


Slide32 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(8/10)

Accès à MODIPSL

svn_ano ; cd modipsl/util

Accès à IPSLCM4_v2 ./model IPSLCM4_v2

Installation des Makefiles ./ins_makevi ../config/IPSLCM4_v2/EXP00/config.card

Installation de l’expérience type (partie post-traitement)brodie ou mercure :./ins_job

IPSLCM4_v2

modipsl

NEW

config

libIGCM

modeles

atlas_LMDZ.job

atlas_ORCHIDEE.job

atlas_ORCA_LIM.job

create_ts.job

mo2se.job

AA_atlas_LMDZ

AA_atlas_ORCHIDEE

AA_atlas_ORCA_LIM

AA_create_ts

AA_mo2se


Slide33 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(9/10)

  • create_etat0_limit.e

  • gcm.e

  • oasis

  • opa

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

  • Acces à IPSLCM4_v2 ./model IPSLCM4_v2

  • Installation des Makefiles ./ins_make

  • Installation de l’expérience type

    vi ../config/IPSLCM4_v2/EXP00/config.card

    ./ins_job

  • Compilation brodie ou mercure : cd ../config/IPSLCM4_v2

    brodie ou mercure : gmake

IPSLCM4_v2

modipsl

NEW

bin

doc

lib

config

tmp

.svn

util

IPSLCM4_v2

Makefile


Slide34 l.jpg

Accès au modèle IPSLCM4_v2 IPSL depuis IPSLCM4_v1(10/10)

IPSLCM4_v2

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

  • Acces à IPSLCM4_v2 ./model IPSLCM4_v2

  • Installation des Makefiles ./ins_make

  • Installation de l’expérience type

    vi ../config/IPSLCM4_v2/EXP00/config.card./ins_job

  • Compilationcd ../config/IPSLCM4_v2gmake # attention brodie

  • Soumission du Job de lancement

    brodie ou mercure :cd EXP00

    brodie ou mercure :qsub Job_JobName

modipsl

config

IPSLCM4_v2

EXP00

Job_JobName

COMP

PARAM

  • dynami.param

  • gcm.def

  • geogram.param

  • inice.param

  • namcouple

  • namelist

  • offline.def

  • orchidee.def

  • output.param

  • physiq.def

  • run.def

  • run.param.li

  • thermo.param

  • lim.card

  • lim.driver

  • lmdz.card

  • lmdz.driver

  • oasis.card

  • oasis.driver

  • opa.card

  • opa.driver

  • orchidee.card

  • orchidee.driver


Slide35 l.jpg

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

  • Accès à MODIPSL (SVN)svn_ano

  • Acces à IPSLCM4_v2cd modipsl/util ; ./model IPSLCM4_v2

  • Installation des Makefiles./ins_make

  • Installation de l’expérience type (et post-traitements)

    vi ../config/IPSLCM4_v2/EXP00/config.card # JobName=LO1

    ./ins_job

  • Compilationcd ../config/IPSLCM4_v2 ; gmake

  • Soumission du Job de lancementcd EXP00 qsub Job_JobName


Slide36 l.jpg

Nouveaux scripts : libIGCM IPSLCM4_v2

NEW

  • Infrastructure commune cohérente de script :

    • libIGCM :

      • libIGCM/AA_job : un script commun à tous

      • libIGCM/libIGCM_card, liBIGCM_comp, libIGCM_config, libIGCM_date, libIGCM_debug, libIGCM_post, libIGCM_sys.ksh : des fonctions en ksh communes à tous

      • libIGCM/libIGCM_sys/libIGCM_sys_brodie.ksh, libIGCM_sys_mercure.ksh, … : des fonctions particulières par machine utilisée

    • CARD :

      • Des fichiers driver et carddécrivant les fichiers des composantes d’une configuration et programmant leur fonctionnement

    • PARAM :

      • Des fichiers texte d’entrée des différentes composantes

    • config.card :

      • une fiche descriptive d’une configuration pour une simulation type

    • run.card (run.card.init):

      • Une fiche bilan de la simulation en cours d’exécution


Slide37 l.jpg

Nouveaux scripts : libIGCM IPSLCM4_v2

  • Mise en œuvre prototype pour :

    • IPSLCM4_v1_OASIS3 (CHILI)

  • Mise en œuvre validée pour un ensemble de configurations cohérentes :

    • IPSLCM4_v2,

    • LMDZINCA_v2,

    • IPSL_ESM_V1, …

  • A été testé et tourne régulièrement sur :

    • CEA (mercure : NEC SX-8R)

    • IDRIS (brodie : NEC SX-8)

  • Documentation :http://wiki.ipsl.jussieu.fr/wiki_ipsl/IGCMG/libIGCM/DocUtilisateur

NEW




Slide40 l.jpg

config.card : UserChoices IPSLCM4_v2

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

8 #D-- UserChoices -

9 [UserChoices]

10 #============================

11 #-- (<8 chars MAX for JobName)

12 JobName=LO1

13 LongName="SCRIPT_V1"

14 TagName=IPSLCM4_v2

15 #============================

16 #-- leap, noleap, 360d

17 CalendarType=360d

18 #-- Début et fin de Job

19 #-- "YYYY-MM-DD"

20 DateBegin=1860-01-01

21 DateEnd=1869-12-30

22 #============================

23 #-- 1Y, 1M, 5D, 1D

24 PeriodLength=1M

25 #============================


Slide41 l.jpg

config.card : Batch IPSLCM4_v2

25 #============================

26 #-- PBS Class (required on brodie mono/multi)

27 #JobClass=mono

28 JobClass=multi

29 #============================

30 #-- Total Number of Processors (minimum is 2 for a coupled configuration)

31 #JobNumProcTot=2

32 JobNumProcTot=4


Slide42 l.jpg

config.card : Restarts IPSLCM4_v2

53 #========================================================================

54 #D-- Restarts -

55 [Restarts]

56 #D- If you want a GENERAL RULE FOR RESTARTS, put this flag to 'y'

57 OverRule=n

58 #D- Last day of the experience used as restart

59 RestartDate=1869-12-30

60 #D- Define restart simulation name (=> JOB_OS)

61 RestartJobName=CD1

62 #D- Path Server Group Login (=> PSGL)

63 RestartPath=/u/rech/ces/rces452/IGCM_OUT/IPSLCM4_v1_OASIS3

64 # Attention login depend de la machine

66 #========================================================================

67 #D-- Post -

68 [Post]

69 #D- Do we rebuild parallel output, this flag determines

70 #D- frequency of rebuild submission

71 RebuildFrequency=NONE

72 #D- If you want to monitor variables, this flag determines

73 #D- frequency of post-processing submission

74 MonitoringFrequency=NONE

75 #D- If you want to produce time series, this flag determines

76 #D- frequency of post-processing submission

77 TimeSeriesFrequency=10Y

78 #D- If you want to produce seasonal average, this flag determines

79 #D- the period of this average

80 SeasonalFrequency=10Y

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


Slide43 l.jpg

config.card : Post IPSLCM4_v2

53 #========================================================================

54 #D-- Restarts -

55 [Restarts]

56 #D- If you want a GENERAL RULE FOR RESTARTS, put this flag to 'y'

57 OverRule=n

58 #D- Last day of the experience used as restart

59 RestartDate=1869-12-30

60 #D- Define restart simulation name (=> JOB_OS)

61 RestartJobName=CD1

62 #D- Path Server Group Login (=> PSGL)

63 RestartPath=/u/rech/ces/rces452/IGCM_OUT/IPSLCM4_v1_OASIS3

64 # Attention login depend de la machine

66 #========================================================================

67 #D-- Post -

68 [Post]

69 #D- Do we rebuild parallel output, this flag determines

70 #D- frequency of rebuild submission

71 RebuildFrequency=NONE

72 #D- If you want to monitor variables, this flag determines

73 #D- frequency of post-processing submission

74 MonitoringFrequency=NONE

75 #D- If you want to produce time series, this flag determines

76 #D- frequency of post-processing submission

77 TimeSeriesFrequency=10Y

78 #D- If you want to produce seasonal average, this flag determines

79 #D- the period of this average

80 SeasonalFrequency=10Y


Slide44 l.jpg

config.card : ATM IPSLCM4_v2

82 #========================================================================

83 #D-- ATM -

84 [ATM]

85 #

86 WriteFrequency="1M 1D HF"

87 # If config_Restarts_OverRule == 'n' all params are read

88 Restart= n

89 # Last day of the experience used as restart

90 RestartDate=1999-12-30

91 # Define restart simulation name

92 RestartJobName=2L18

93 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL

94 # 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= n

102 ##-- Last day of the experience used as restart

103 RestartDate=1999-12-30

104 # Define restart simulation name

105 RestartJobName=2L18

106 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL

107 # Old component name for restart (if empty, use new name)

108 OldName=

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


Slide45 l.jpg

config.card : OCE IPSLCM4_v2

82 #========================================================================

83 #D-- ATM -

84 [ATM]

85 #

86 WriteFrequency="1M 1D HF"

87 # If config_Restarts_OverRule == 'n' all params are read

88 Restart= n

89 # Last day of the experience used as restart

90 RestartDate=1999-12-30

91 # Define restart simulation name

92 RestartJobName=2L18

93 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL

94 # 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= n

102 ##-- Last day of the experience used as restart

103 RestartDate=1999-12-30

104 # Define restart simulation name

105 RestartJobName=2L18

106 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL

107 # Old component name for restart (if empty, use new name)

108 OldName=

y pour un redémarrage OCEdepuis une autre simulation

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


Slide46 l.jpg

y IPSLCM4_v2 pour un redémarrage ICEdepuis une autre simulation

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

y pour un redémarrage SRFdepuis une autre simulation

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

config.card : ICE et SRF

110 #========================================================================

111 #D-- ICE -

112 [ICE]

113 WriteFrequency="1M"

114 Restart= n

115 ##-- Last day of the experience used as restart

116 RestartDate=1999-12-30

117 # Define restart simulation name

118 RestartJobName=2L18

119 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL

120 # Old component name for restart (if empty, use new name)

121 OldName=

122

123 #========================================================================

124 #D-- SRF -

125 [SRF]

126 WriteFrequency="1M"

127 Restart=n

128 ##-- Last day of the experience used as restart

129 RestartDate=1999-12-30

130 # Define restart simulation name

131 RestartJobName=2L18

132 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL

133 #-- Old component name for restart (if empty, use new name)

134 OldName=


Slide47 l.jpg

y IPSLCM4_v2 pour un redémarrage CPLdepuis une autre simulation

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

config.card : CPL

136 #========================================================================

137 #D-- CPL -

138 [CPL]

139 WriteFrequency="1D"

140 Restart= n

141 ##-- Last day of the experience used as restart

142 RestartDate=1999-12-30

143 # Define restart simulation name

144 RestartJobName=2L18

145 RestartPath=${ARCHIVE}/p86denv/SORTIES_CPL_IPSL

146 # Old component name for restart (if empty, use new name)

147 OldName=

148

149 #========================================================================


Job jobname pbs l.jpg
Job_ IPSLCM4_v2JobName : PBS

Initialisation des paramètres de batch (PBS)

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

  • Définition du nombre de processeurs #PBS -v PBS_NUM_PROC_TOT=::JobNumProcTot:: provient de config.card

  • Définition des limites temps CPU

    Sur Brodie :

    #PBS -l cputim_job=1:00:00 limite en temps CPU pour l’ensemble du job

    Sur Mercure :

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

NEW

NEW


Slide49 l.jpg

Job_ IPSLCM4_v2JobName : PBS

tableau 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


Slide50 l.jpg

Job_ IPSLCM4_v2JobName : PBS

tableau 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

NEW

* Susceptible de changement permanent


Slide51 l.jpg

Job_ IPSLCM4_v2JobName : PBS

tableau 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

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

* Susceptible de changement permanent


Slide52 l.jpg

Job_J IPSLCM4_v2obName : PBS

tableau des classes* CCRT

NEW

mercure : class

QUEUE ACT TYPE CPU NODE TIME MEM LIM/USER HOSTS

test Oui Urgent 1 1 1h00 32G 8 2 mercure10,mercure11,…,mercure17

prod Oui Normal 1 1 24h00 20G - -(20) mercure10,mercure11,…,mercure17

bigmem Oui Normal 1 1 24h00 64G - - mercure10,mercure11

bigtime Oui Normal 1 1 100h00 32G 3 -(1) mercure16,mercure17

testpara Oui Urgent 8 8 30m00 52G 3 1 mercure10,mercure11,…,mercure17

parallel Oui Normal 8 1 24h00 32G - - mercure10,mercure11,…,mercure17

para8 Oui Normal 8 4 24h00 52G - - mercure10,mercure11,…,mercure17

scalaire Oui - 1 1 24h00 8G 8 3 mercure

* Susceptible de changement permanent


Slide53 l.jpg

Classe du job: IPSLCM4_v2

brodie t1, p2t2, p4t2

mercure prod, parallel

Job_JobName : PBS

Caractéristiques pour une expérience de 1 mois

ORCA2xLMD9671

NEW

Plateforme

Temps CPU

Temps écoulé

Mémoire

1200 à 1600 s

1200 à 1800 s

2.5 Gb (3.2 Gb 1er mois)

Brodie : 2 procs

1600 à 1700 s

520 à 700 s

3.7 Gb (4.1 Gb 1er mois)

Brodie : 4 procs

1000 à 1700 s

1100 à 1300 s

2.5 Gb (3.2 Gb 1er mois)

Mercure : 2 procs

1000 à 1700 s

450 à 700 s

3.7 Gb (4.1 Gb 1er mois)

Mercure : 4 procs


Job jobname pbs num proc tot l.jpg
Job_ IPSLCM4_v2JobName : PBS_NUM_PROC_TOT

Lancement de LMDZ/ORCHIDEE sur plusieurs processeurs

  • 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


Job jobname periodnb l.jpg
Job_ IPSLCM4_v2JobName : PeriodNb

Lancement de plusieurs périodes par job

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.

  • Définition des limites temps CPU

    Sur Brodie :

    #PBS -l cputim_job=10:00:00 limite en temps CPU pour l’ensemble du job

    Sur Mercure :

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


Job jobname dryrun l.jpg
Job_ IPSLCM4_v2JobName :DRYRUN

Tests de l’expérience

Pour tester une nouvelle expérience et ne lancer que certaines étapes de la

simulation, il est possible par la variable DRYRUN de diminuer les actions

lancées.

Elle est positionnée à 0 par défaut.


Slide57 l.jpg

Les utilitaires de post-traitement au CCRT IPSLCM4_v2

IPSLCM4_v2

create_ts.job :

mo2se.job :

Retour des jobs là :

Mercure : $SCRATCHDIR/IGCM_OUT/IPSLCM4_v2/JobName

atlas_ORCA_LIM : pour océan et glace de mer

atlas_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/

modipsl

libIGCM

  • create_ts

  • mo2se

  • atlas_...


Slide58 l.jpg

Les utilitaires de post-traitement à l’IDRIS IPSLCM4_v2

IPSLCM4_v2

Recopiés sur rhodes: $HOME/JobName/modipsl/libIGCM

create_ts.job :

mo2se.job :

Retour des jobs là :

rhodes : $WORKDIR/IGCM_OUT/IPSLCM4_v2/JobName

atlas_ORCA_LIM : pour océan et glace de mer

atlas_LMDZ : pour atmosphère

atlas_ORCHIDEE : pour surfaces continentales

modipsl

libIGCM

  • create_ts

  • mo2se

  • atlas_...





Slide62 l.jpg

Flux des données IPSLCM4_v2(1/4)

Fichiers d’entrée texte (IGCM_comp_GetInputParametersFiles)

Fichiers d’entrée binaires (netCDF) :

conditions initiales (IGCM_comp_GetInputInitialStateFiles)

conditions limites (IGCM_comp_GetInputBoundaryFiles)

Exécutable

Fichiers de sorties binaires (netCDF)

Fichiers de sorties texte

Fichiers de redémarrage (IGCM_comp_GetInputRestartFiles)


Slide63 l.jpg

namelist_ORCA2 IPSLCM4_v2

geogra.param

output.param

run.param.li

thermo.param

dynami.param_ORCA2

inice.param

coordinates.nc

bathymetry…

ahmcoef

LEVITUS_1m_…

runoff_1m_...

orcaini.nc

rest.om

restart.nc

rest_ice.om

…_grid_ …

…_diaznl_…

…icemod…

meshmask.nc

ocean.output

solver.stat

time.step

ice_evolu

ice_mouchard

À analyser avec les outils de post-traitements

Flux des données (2/4)

OPA + LIM

OPA + LIM


Slide64 l.jpg

flxat.nc IPSLCM4_v2

sstoc.nc

flxat.nc

sstoc.nc

Oasis.prt

opa.xx.prt0

lmdz.x.prt0

cplout

cpl_oce_tau.nc

cpl_oce_flx.nc

cpl_oce_sst.nc

cpl_atm_tauflx.nc

cpl_atm_sst.nc

À analyser avec les outils de post-traitements

Flux des données (3/4)

OASIS

grids.nc

masks.nc

areas.nc

wa2o.flx

wa2o.run

wa2o.cal

wo2a.tsg

cf_name_table.txt

namcouple_ORCA2xLMD9671_ORCA2xLMD7245

OASIS3


Slide65 l.jpg

invtab.formated IPSLCM4_v2

limit.nc

carteveg5km.nc

soils_param.nc

routing.nc

flux_iceberg

amipbc_sic....nc

Albedo.nc

Rugos.nc

tautab.format

so4.run.nat.cdf

ECDYN.nc

ECPHY.nc

Relief.nc

Rugos.nc

landiceref.nc

o2a.nc

lai2D.nc

physiq.def

gcm.def

run.def

orchidee.def

start.nc

startphy.nc

start_sech.nc

create_etat0_limit.e

restart.nc

restartphy.nc

sechiba_rest.nc

etat0_visu.nc

dyn_hist[ v_ave].nc

dynzon.nc

histhf.nc

histmth.nc

nistNMC.nc

histREGDYN.nc

sechiba_out.nc

stomate_history.nc

listing

À analyser avec les outils de post-traitements

Flux des données (4/4)

LMDZ + ORCHIDEE

LMDZ + ORCHIDEE


Nomenclature des noms des fichiers de sortie l.jpg
Nomenclature des noms des fichiers de sortie IPSLCM4_v2

Output, Analyse, Debug, …

${JobName}_${PERIODE_DATE_BEGIN}_${PERIODE_DATE_END}_XX_NomFichier

Output/DA et Analyse/TS_DA:

XX 1D

Output/MO et Analyse/TS_MO

XX 1M

Analyse/SE :

${JobName}_SE_${PERIODE_DATE_BEGIN}_${PERIODE_DATE_END}_NomFichier

Restart

${JobName}_${PERIODE_DATE_END}_NomFichier


Arborescence sur serveur fichiers l.jpg
Arborescence sur serveur fichiers IPSLCM4_v2

IPSLCM4_v2

rhodes : cd $HOMEGAYA/IGCM_OUT

mercure : cd $DMFDIR/IGCM_OUT

JobName

SRF

ATM

ICE

Out

ATLAS

OCE

CPL

Exe

Output

Restart

Analyse

Debug

SE_1860_1969

TS_DA

SE

TS_MO

OCE_[TUVW]

SRF

ATM

ICE

DA

[HF]

[INS]

MO


Arborescence sur serveur fichiers68 l.jpg
Arborescence sur serveur fichiers IPSLCM4_v2

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

rhodes : cd $HOMEGAYA

mercure : cd $DMFDIR

IGCM_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




Slide75 l.jpg

Caractéristiques d’un fichier IPSLCM4_v2

netCDF

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


Slide76 l.jpg

Structure du fichier netCDF – En-tête IPSLCM4_v2

  • Informations sur les dimensions

  • Informations sur les attributs

  • (voir conventions CF)

  • Informations sur les attributs des

  • variables

  • ( sans leurs valeurs)

  • (voir conventions CF)

dimensions: 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


Slide77 l.jpg

Structure du fichier netCDF - Données IPSLCM4_v2

  • données de taille fixe

  • données de taille variable

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,…


Slide78 l.jpg

Utilitaires netCDF IPSLCM4_v2

- ncgen -

ncgen : génère un fichier netCDF ou un programme C ou FORTRAN permettant

de créer un fichier netCDF.

Si aucune option n’est spécifiée lors de l’invocation de ncgen, le programme

se limite à vérifier la syntaxe de l’entrée CDL produisant des erreurs lors de

la violation de la syntaxe


Slide79 l.jpg

Utilitaires netCDF IPSLCM4_v2

- 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éfaut

sera 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 fait

que toutes les données sont incuses dans les variables d’initialisation du

programme généré.


Slide80 l.jpg

Utilitaires netCDF IPSLCM4_v2

- 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 fait

que toutes les données sont incuses dans les variables d’initialisation du

programme généré.

-n : Cette option est dépréciée.

Fonctionne selon le même principe que l’option « -b » sauf que l’extension

est « .cdf ». Cette option n’est supportée que pour assurer la compatibilité

ascendante.


Slide81 l.jpg

Utilitaires netCDF IPSLCM4_v2

- 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 à ncgen

  • ncdump et ncgen peuvent donc être utilisées comme fonctions inverses

  • pour 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


Slide82 l.jpg

Utilitaires netCDF IPSLCM4_v2

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


Slide83 l.jpg

Utilitaires netCDF IPSLCM4_v2

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


Slide84 l.jpg

Utilitaires netCDF IPSLCM4_v2

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


Slide85 l.jpg

Utilitaires netCDF IPSLCM4_v2

- ncdump -

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


Slide86 l.jpg

Utilitaires netCDF IPSLCM4_v2

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


Slide87 l.jpg

rhodes :cd ${HOMEGAYA}/SORTIES_CPL_IPSL/COURS/Atm/Output/MO

mercure :cd ${DMFDIR}/SORTIES_CPL_IPSL/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

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


Slide88 l.jpg

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

  • Utilitaires netCDF

  • ncdump -

  • ncgen -

rhodes ou mercure :ncdump –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


Slide89 l.jpg

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.


Slide90 l.jpg

Série temporelle de la variable TSOL sur 10 ans fichiers netCDF

  • 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


Slide91 l.jpg

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.


Slide92 l.jpg

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

Moyenne saisonnière sur 10 ans

  • Utilitaires nco

  • ncra -

ncra COURS_1m_19790101_19790130_histmth.nc

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

COURS_SE01_1979_1988_histmth.nc

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

COURS_SE01_1979_1988_histmth.nc

ncrcat COURS_SE*_1979_1988_histmth.nc

COURS_SE_1979_1988_histmth.nc


Slide93 l.jpg

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.


Slide94 l.jpg

Moyenne 1988

saisonnière

sur 10 ans

Car 1 sortie mensuelle par fichier

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

t

t

1 unique valeur de moyenne

t

  • 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

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


Slide95 l.jpg

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.


Slide96 l.jpg

Série temporelle de la variable SOSSTSST sur 10 ans 1988

  • 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


Slide97 l.jpg

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.


Slide98 l.jpg

Différence sur la grille spatiale de la variable TSOL 1988

  • Utilitaires nco

  • ncdiff -

ncdiff –v tsol COURS_1m_19790101_19790130_histmth.ncCOURS_1m_19790201_19790230_histmth.ncCOURS_1m_19790101_19790230_TSOL_D.nc


Netcdf nco convention cf l.jpg
netCDF, nco 1988Convention CF

http://www.unidata.ucar.edu/packages/netcdf/

http://www.cgd.ucar.edu/cms/eaton/cf-metadata/

http://nco.sourceforge.net/


Contributions l.jpg
Contributions 1988

Patrick Brockmann, Patricia Cadule, Arnaud Caubel, Sébastien Denvil, Marie-Alice Foujols, Martial Mancip, Yann Meurdesoif

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

esci@ipsl.jussieu.fr