Post on 06-Apr-2016
transcript
1 / 11
Organisatorisches
1. Versionsarchiv für Dokumente?Vorschlag: CDO-Wiki (code.zmaw); z.Z.
i. CMIP-CDOs.ppt als Diskussionsgrundlageii. CDOandCMIP-Standard.docx
2. Eingabedateien zum Testen in:/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/
3. Raumreservierung 207 jeden 2. Dienstag? 4. nächstes Treffen am Di. 14. Juli 10:00
2 / 11
CMIP[5,6,...] und CDOsDefinition: file-c sind soweit wie möglich CMIP-konforme DateienDefinition: „so weit wie möglich“: vollständig für CMIP-VariablenDefinition: CMIP5-Variablen sind die in standard_output.xls
A. es gibt einen cdo operator „cmor“ mit cdo cmor,var,tab,... ifile ofile-c
falls: ifile enthält genau eine CMIP Variable inkl. ancillary_variablesvar ist ein CMIP oder MPI-ESM Variablenname
B. die cdos liefern grundsätzlich so weit wie möglich CMIP-konforme Dateien
C. cdo Ausgabe von CMIP-konformen Eingabedateien ist CMIP so weit wie möglich CMIP-konform
cdo <operator> ifile1-c ... ifilen-c ofile-c
die cdos können • bei der täglichen Arbeit und • in den CMIP5/6 processing Skripten verwendet werden
Bjorn ist glücklich
3 / 11
CMIP[5,6+,...] und CDOs: WordingA. Konforme Formatierung:
es gibt einen cdo operator „cmor“ mit cdo cmor,var,tab,... ifile ofile-c
Hintergrund:Es soll einen Befehl geben, der benutzt werden kann, bzw. soll, um CMIP5 und später CMIP6+² Variablen entsprechend den Projekt-Standards zu formatieren. Das bedeutet, dass die Daten gegebenenfalls ins ESGF eingefüllt werden sollen. Dafür ist es essentiell, dass die Daten den vom Projekt vorgeschriebenen Namen haben. Die Erfahrung mit Daten, die zur ESGF-Publikation eingereicht wurden, zeigt, dass leider nicht erwartet werden kann, dass die Daten mit den verlangten Namen abgegeben werden, solange Freiheiten in der Namensgebung bestehen. Bei der ESGF-Publikation muss dann die Annahme der Daten verweigert werden, mit den entsprechenden Auswirkungen auf den reibungsfreien Ablauf. Wenn alles schief geht, kann es passieren, dass die Daten unter falschen Instituts-, Modell-, oder Experimentnamen im ESGF liegen, und von den Datennutzern nicht gefunden werden können. Aus diesem Grund sollte es nicht möglich sein, den Ausgabefilenamen anzugeben. Aus diesem Grund ist der oben angegebene Dateiname durchgestrichen. Eventuell muss eine Umbenennung erfolgen.Kalle sieht es kritisch, wenn kein o-file-c Namen angegeben werden kann, da im WF der Wissenschaftler der vorgeschriebene Name nicht akzeptabel sein kann. Stephanie sieht keinen Use-Case hierfür. Die Ergebnisdatei ofile-c darf nur eine Variable enthalten.
²DECK, CMIP6, und endorsedMIPs
4 / 11
CMIP[5,6+,...] und CDOs: WordingB. Konforme CDOsdie cdos liefern grundsätzlich so weit wie möglich CMIP konforme Dateien
Hintergrund: Es soll auch möglich sein, die CDOs zu benutzen, um Datenverarbeitung durchzuführen, ohne eine schon vorhandene Konformität nötigerweise zu zerstören, bzw. eine CDO-Ausgabedatei soll grundsätzlich soweit wie möglich standardkonform sein, ohne allerdings den gewohnten WF der Wissenschaftler mit den CDOs einzuschränken. Ein Beispiel ist die Zusammenfassung mehrerer Variablen in einer Datei. Dabei sollen sich nicht die Metadaten (Dimensions-, Koordinatennamen, ..) ändern, aber die Konformität ist damit natürlich zerstört. Sie müsste über den Aufruf ‚cdo cmor,var,tab,... [-selname,var] ifile‘ wiederhergestellt werden.
5 / 11
A. Konforme Formatierung
1. Ausbaustufe:
Vorteil:• wohldefinierte Schnittstellen• transparenter Übergang CMIP5 CMIP6 CMIP7 ...• implementierbar ohne weitere Änderungen der CDOs• eventuell Tabelle mit Zuordnung :
CMIP-Variablenname <-> ECHAM-,JSBACH-,MPIOM-,HAMOCC-Codenr. • zusätzliche CMIP Tabelle(n) mit lokalen Variablen/Experimenten möglich
cdo cmorifile
cmor.x cmor2.aofile-c
DKRZ PCMDIMPI-M
Name wird von CMOR gesetzt
6 / 11
CMIP[5,6,...] und CDOsIMDI/CMOR Postprocessing workflow für CMIP5 Experimente
cmor.a
cmor.x
7 / 11
A. Konforme Formatierung
letzte Ausbaustufe:
Die Verarbeitung in cmor.x wird Schritt für Schritt in die CDOs verschoben. In der letzten Stufe werden die CMOR Library-Aufrufe in den CDOs getätigt:
DKRZ PCMDIMPI-Mcdo cmor
ifilecmor.x cmor2.a
ofile-cXPCMDIMPI-M
cdo cmorifile
cmor2.aofile-c
Name wird von CMOR gesetzt
Name wird von CMOR gesetzt
8 / 11
A. Konforme Formatierung: Eingabe
cdo cmorifile
cmor.x cmor2.aofile-c
var: variable nametab: MIP table namerealm³shape²³ffilegfileifile
command-line Eingabe
branch_timebasetimeexperiment_idforcingparent_experiment_idparent_experiment_ripinitialisation_methodphysics_versionrealization[ comment history references]²
command-line file name: ffile
input_dirtabs_dirgrids_dirarch_dirproject_idinstitute_idmodel_idcalendarcontactsourceproduct
env. params file name:gfile
² optional³ nicht benötigt²³ kann eventuell aus den Daten abgeleitet werden
9 / 11
A. Konforme Formatierung: Eingabecdo cmorf,ffilecdo cmorg,gfile cmor,var,tab[[,realm],shape] ifile ofile-c
odercdo cmor,var,tab[[,realm],shape] [-cmorf,ffile] [-cmorg,gfile] ifile ofile-c
var: variable nametab: MIP table namerealmshapeffilegfile [es gibt default name]ifile
command-line Eingabe
branch_timebasetimeexperiment_idforcingparent_experiment_idparent_experiment_ripinitialisation_methodphysics_versionrealization[ comment history references]
command-line file name: ffile
input_dirtabs_dirgrids_dirarch_dirproject_idinstitute_idmodel_idcalendarcontactsourceproduct
env. params file name:gfile
10 / 11
A. Konforme Formatierung: CommandLineEingabe
cdo cmor,var,tab[[,realm],shape] -cmorf,ffile -cmorg,gfile ifile ofile-c
cdo cmorifile
cmor.x cmor2.aofile-c
var: variable name (CV) tab: MIP table name (CV)realm (CV)shapeExpid-fileProj-fileifile
command-line Eingabe:
23. Juni 15
I. Wird ‚tab‘ benötigt?Z.B.: ‚tas‘ existiert in tab=Amon, day, und 3hr.Kann nicht aus der Frequenz hergeleitet werden, wenn lokale Tabellen (z.B. myAmon) existieren.
II. Wird ‚realm‘ benötigt? Nein. In CMIP5 nur zum Aufbau einer Verzeichnis-Struktur, um die alte Datei im Fall eines ‚append‘ zu finden.
III. Wird ‚shape‘ benötigt?Kann man vielleicht aus den Dimensionen herleiten...
Name wird von CMOR gesetzt
Action !
11 / 11
cdo cmor,var,tab[,[realm,]shape] -cmorf,ffile -cmorg,gfile ifile
Für CMIP5 und CMIP-Daten:IV. shape (DKRZ CV): agrid, ogrid, alevel, ...
Systematisch: axy, oxy, axyl, axyp, oyz, ... (passages, basins?)Kann man das aus den Daten herleiten? Aus ‚var‘ und Daten?Wurde zum Chunking benötigt.
V. ffile: Namenskonvention (‘experiment_id‘_‘rip‘...ksh) ? Default (experiment_id_rip.ksh) ?environment parameter => experiment_id_rip.ksh => ffile
VI. gfile: Namenskonvention (‚project_id‘_‘institute_id‘_‘model_id‘...ksh) ? Default (project_id_institute_id_model_id.ksh) ?environment parameter => project_id_institute_id_model_id.ksh => gfile
VII. Übergabe an cmor.x durch Aufbau der NAMELISTs? => cmor.x zunächst ohne Änderung
Action !
A. Konforme Formatierung: CommandLineEingabe
12 / 11
&CMORCTRL INPUT_FILENAME=${ifile}CHUNK_RANGE = "“ (def=“”)TABLE_NAME = Amon def=NAREALM = "${realm}“ def=atmosREC_NUM = ${RecDay} header!OUT_FLAG = "replace"
(if chunk_range=“”)SHAPE = "${shape}"ANZVARS = 1var =tasunit =„K“Expid-file =aquaControl_r1i1p1.kshProj-file = MPI-M_MPI-ESM-LR.ksh/
A. Konforme Formatierung: filescdo cmor,var,tab[[,realm],shape] -cmorf,ffile -cmorg,gfile ifile
experiment_id=„aquaControl“realization=1initialization_method=1physics_version=1baseyear=1850forcing=„N/A“parent_experiment_id=„N/A“parent_experiment_rip=„N/A“branch_time=0.0[ comment=„“ history=„“ references=„“]
ffile=aquaControl_r1i1p1.ksh &CMORCONST
INPUT_DIRNAME = “${input_dir}“TABDIR = "${tabs_dir}“ GRIDFILE_DIRNAME = "${grids_dir}“ OUTPUT_DIRNAME = "${arch_dir}“PROJECT_TEXT = "${project_id}“MOD_ID = "${model_id}“INSTITUTE_ID =“${institute_id}“ SOURCE_TEXT = "${source}”CONTACT_TEXT = “${contact}”CALENDAR_TEXT = “${calendar}“PRODUCT =„${product} EXPEID = "${exeriment_id}“ RUN = "${realization}“ INM = "${initialisation_method}“ PHV = "${physics_version}“ FORCING_TEXT = "${forcing}“ HISTORY_TEXT = "${history}" COMMENT_TEXT = "${comment:-""}" REFERENCES_TEXT = "${references}“ INIT_YEAR = ${baseyear} PAR_MOD = "${parent_experiment_id}“ PAR_RIP = "${parent_member_rip}" BRANCH_T = ${branch_time} ZOSCONST = ${zosga},${zossga}/
input_dir=“.”tabs_dir=“.”grids_dir=“.”arch_dir=“.”project_id=CMIP5model_id=MPI-ESM-LRinstitute_id=MPI-Msource=„my model“contact=ich@inst.decalendar=standardproduct=output
gfile=MPI-M_MPI-ESM-LR.ksh
cdo cmorifile
cmor.x cmor2.aofile-c
13 / 11
B. Konforme CDOsz.B. Vergleiche: header von
• cl_Amon_...._178001-178912.nc• cl_Amon_...._178001-178912_copy.nc• cl_Amon_...._178001-178912_selname.nc
Mit cdo copy cl_Amon_...._178001-178912.nc >
cl_Amon_...._178001-178912_copy.nc cdo selname,cl cl_Amon_...._178001-178912.nc >
cl_Amon_...._178001-178912_selname.nc
14 / 11
B. Konforme CDOs
B. die cdos liefern grundsätzlich so weit wie möglich CMIP konforme Dateien
z.B. Vergleiche: header von • cl_Amon_...._178001-178912.nc• cl_Amon_...._178001-178912_copy.nc• cl_Amon_...._178001-178912_selname.nc
Mit cdo copy cl_Amon_...._178001-178912.nc >
cl_Amon_...._178001-178912_copy.nc cdo selname,cl cl_Amon_...._178001-178912.nc >
cl_Amon_...._178001-178912_selname.nc
9. Juni 15
15 / 11
B. Konforme CDOsheader - Vergleich1. bnds => nb2 2. time:axis = "T„ geht verloren 3. Vertical coordinate
a. lev:standard_name verlorenb. lev:formulac. lev:formula_termsd. lev_bnds:formulae. lev_bnds:standard_name verloren (aber gegen CF conventions)f. lev_bnds:units verloren (gegen CF)g. lev_bnds:formula_termsh. double ap(lev) verloreni. double b(lev) verlorenj. float ps(time, lat, lon) verloren
4. cl:ancillary_variables = “ps ap b ap_bnds b_bnds“
9. Juni 15
Action ! (leicht)
Action ! (schwierig; CDOs könnten die alten Daten nicht mehr lesen)
Action ! (PCMDI)
Action ! (leicht)
16 / 11
B. Konforme CDOsheader - Vergleich (ctnd)5. var:cell_measures = “area: areacella“ geht verloren; 6. global history-Attribut anhängen:
E.g.: “Raw output...with IMDI ...; CMOR rewrote ...““Raw output...[with ‘infrastructure‘...]; CMOR rewrote ...; CDO selname,cl ...“
7. tracking_id muss er-/gesetzt werden8. creation_date muss er-/gesetzt werden9. Location von areacella in var:associated_files = "baseURL: http://......“
9. Juni 15
Action ! (leicht)
Action ! (leicht)
Action ! (leicht)Action ! (leicht)
17 / 11
Zu diskutieren:I. Inwieweit ist es sinnvoll, die Modelle diese Dateien erzeugen zu lassen?II. Soll cdo cmor auch GRIB Daten lesen/ausgeben können?III. Brauchen wir eine Liste mit Use-Cases?