1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente: https://code.zmaw.de/projects/cdo/wiki/CMOR z.Z. https://code.zmaw.de/projects/cdo/wiki/CMOR i.CMIP-CDOs.ppt.

Slides:



Advertisements
Ähnliche Präsentationen
Suche in Texten (Stringsuche )
Advertisements

Kombinatorische Topologie in der 3d Geomodellierung
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
Algorithmus. Ein Kochrezept, zum Beispiel: Kartoffelbrei.
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Cambridge – First Certificate of English
Imperative Programmierung Funktionen und Parameter
Hypothesen testen: Grundidee
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Wir müssen also überlegen: Implementierung der Knoten, Implementierung der Kanten, daraus: Implementierung des Graphen insgesamt. Annahme: die Knoteninhalte.
Manpower Associates is a $14
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
Kakuro Regeln und Strategien
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Vom SAP-IDoc zum Host Die Verarbeitung und Aufbereitung von SAP Daten für die Bereitstellung auf dem HOST. M.Scheeren, Lattwein GmbH, Mai 2011.
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Programmiersprache C 4
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Unterprogramme in JAVA
Projekt: Schüler verbessern ihren Unterricht
Allgemeine Funktionalitätsbeschreibung
Projekt: Schüler verbessern ihren Unterricht
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Vom graphischen Differenzieren
ExKurs EinfG 1/13 Dr. Barbara Hoffmann LiteraturKompetenz Objekte einfügen: Tabellen Mit dem elektronischen Schreiben ist es Ihnen leicht gemacht,
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Schritt für Schritt-Anleitung
Unterprogramme / Methoden
1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente: z.Z. i.CMIP-CDOs.ppt.
1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente? Vorschlag: CDO-Wiki (code.zmaw); z.Z. i.CMIP-CDOs.ppt als Diskussionsgrundlage ii.CDOandCMIP-Standard.docx.
1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente: i.CMIP-CDOs.ppt.
1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente: i.CMIP-CDOs.ppt.
Vieren - Programmierung Im Jahre 1981 traten die ersten Viren auf, die noch sehr einfach gestrickt waren, und nicht sehr destruktiv waren. Mittlerweile.
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Ihr Stimmzettel sieht z.B. so aus:
1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente: i.CMIP-CDOs.ppt.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Reihenfolge der Operatoren
ResA am Arbeitsplatz Das Vorgehen ist angelehnt an „5 S“ und bietet Ihnen die Möglichkeit das Konzept der 5 Disziplinen ressourcenschonenden Arbeitens.
1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente: i.CMIP-CDOs.ppt.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
1 / 11 Organisatorisches 1.Dokumente in: i.CDO-CMOR_Konforme-Formatierung.ppt.
1 / 11 Organisatorisches 1.Dokumente in: i.CDO-CMOR_Konforme-Formatierung.ppt.
1 / 11 Organisatorisches 1.Die Dokumente CDO-CMOR_Konforme-Formatierung.ppt und Konforme_CDOs.ppt sind wieder zu einem Dokument zusammengefasst (alter.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
Tutorium Software-Engineering SS14 Florian Manghofer.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
CMIP6-DICAD – FU Berlin Thomas Schartner
Das IT - Informationssystem
Organisatorisches Die Dokumente CDO-CMOR_Konforme-Formatierung.ppt und Konforme_CDOs.pptx sind wieder zu einem Dokument zusammengefasst (Name: CDO-CMOR.pptx).
Implementieren von Klassen
 Präsentation transkript:

1 / 11 Organisatorisches 1.Versionsarchiv für Dokumente: z.Z. i.CMIP-CDOs.ppt als Diskussionsgrundlage ii.CDOandCMIP-Standard.docx (noch nicht) 2.Eingabedateien zum Testen in: /work/ik0555/cmip5/archive/CMIP5/output/MPI-M/ 3.nächstes Treffen am Di. 28. Juli 10:00 in Raum 207 DKRZ

2 / 11 CMIP[5,6,...] und CDOs Definition: file-c sind soweit wie möglich CMIP-konforme Dateien Definition: „so weit wie möglich“: vollständig für CMIP-Variablen Definition: CMIP5-Variablen sind die in standard_output.xls A.es gibt einen cdo operator „cmor“ mit cdo cmor,var,tab,... ifile ofile-c der CMIP-konforme Ausgabedateien erzeugt, falls: ifile enthält genau eine CMIP Variable inkl. ancillary_variables var 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 so weit wie möglich CMIP-konform cdo ifile1-c... ifilen-c ofile-c

3 / 11 CMIP[5,6+,...] und CDOs: Wording A.Konforme Formatierung: 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. Die Ergebnisdatei ofile-c wird nur eine Variable enthalten, sonst ist sie nicht CMIP-konform. CMIP-konform bedeutet, dass die Daten ins ESGF eingefüllt werden können. 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 soll es nicht möglich sein, den Ausgabefilenamen anzugeben, weshalb der oben angegebene Dateiname durchgestrichen ist. 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. Um Konflikte zwischen den Use-Cases aus dem WF der Wissenschaftler und Use-Cases im Zusammenhang mit der Aufbereitung für das offizielle CMIP-Archiv zu lösen, ist es vielleicht einfacher, 2 CDO-Operatoren zu entwickeln. Das macht es leichter, die Restriktionen aus dem CMIP-Standard durchzusetzen. Es muss im Fokus behalten werden, dass sowohl die CDOs als auch die Skripte auch außerhalb des MPIs benutzt werden (sollen). ²DECK, CMIP6, und endorsedMIPs

4 / 11 CMIP[5,6+,...] und CDOs: Wording A.Konforme Formatierung: cdo cmor,var,tab,... ifile ofile-c Vorschlag : ein zweiter Operator cdo pcmor,var,tab,... ifile ofile-c soll die gewünschten Freiheiten zulassen Bemerkung: ‚cmor‘ muß wg. der (jährlichen) operationellen Kettenverarbeitung einen ‚chunk_range‘ übergeben; für pcmor ist das nicht zwingend notwendig. Wenn die CDOs CMIP-konform arbeiten, könnte man das auch mit einem nachgelagerten ‚cdo cat...‘ erledigen. Letzen Endes eine Entscheidung am MPI-M. Bemerkung: Optimalerweise sollte cdo cmor,,tab,... alle Variablen in einer Datei CMIP-konform aufbereiten. Voraussetzung ist, dass alle Variablen in der Datei einen CMIP-Standardnamen haben. Dazu müssen sie zu derselben MIP-Tabelle ‚tab‘ gehören. Ein falscher Name würde – wenn er in einen CMOR-Bibliotheksaufruf übergeben wird, einen Abbruch durch die Bibliothek erzeugen. Wenn es gewünscht ist, dass solche Variablen einfach nur ignoriert werden, müsste vor den CMOR-Bibliotheksaufrufen sichergestellt werden, dass die MIP- Tabellen gelesen werden, um gegebenenfalls eine Warnung auszugeben, und zur Verarbeitung der nächsten Variablen überzugehen.

5 / 11 CMIP[5,6+,...] und CDOs: Wording B. Konforme CDOs die 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 unnö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. Schon ein konformer Dateiname ist nicht mehr möglich. Die Konformität müsste über den Aufruf ‚cdo cmor,var,tab,... [-selname,var] ifile‘ wiederhergestellt werden.

6 / 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 cmor ifile cmor.xcmor2.a ofile-c DKRZPCMDIMPI-M Name wird von CMOR gesetzt

7 / 11 CMIP[5,6,...] und CDOs IMDI/CMOR Postprocessing workflow für CMIP5 Experimente cmor.a cmor.x NetCDFfiles(shape**)

8 / 11 A.Konforme Formatierung Der ‚shape‘-Parameter (siehe letzte Folie unten rechts) ist problematisch für die Nutzer, es ist aber nicht klar, ob er abgeschafft werden kann. Eine einfache, aber suboptimale Lösung wäre, dies über eine Tabelle zu pflegen. Es ginge aber nicht über eine MIP-Tabelle, sondern nur über eine zusätzliche Tabelle, z.b. ([cmip-var=tas,echam=temp2,shape=agrid],...). Für nicht-CMIP-Variablen müssten also 2 Tabellen gepflegt werden. Eine zweite Lösung wäre, die Übergabe zwingend zu machen, aber viel Support zu geben (Ausgabe von möglichen 2D-shapes, 3D-shapes,...). Noch problematischer wird es, wenn darüber nachgedacht wird, auch Daten von anderes ESMs zu verarbeiten – optimalerweise, ohne genau zu wissen wie die Gitter aussahen. cdo cmor ifile cmor.xcmor2.a ofile-c DKRZPCMDIMPI-M Name wird von CMOR gesetzt

9 / 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: DKRZPCMDIMPI-M cdo cmor ifile cmor.xcmor2.a ofile-c X PCMDIMPI-M cdo cmor ifile cmor2.a ofile-c Name wird von CMOR gesetzt

10 / 11 A.Konforme Formatierung: Eingabe cdo cmor ifile cmor.xcmor2.a ofile-c var: variable name tab: MIP table name realm³ shape²³ [chunk-range] ffile gfile ifile command-line Eingabe branch_time basetime experiment_id forcing parent_experiment_id parent_experiment_rip initialisation_method physics_version realization [ comment history references]² command-line file name: ffile input_dir tabs_dir grids_dir arch_dir project_id institute_id model_id calendar contact source product env. params file name: gfile ² optional ³ nicht benötigt ²³ kann eventuell aus den Daten abgeleitet werden

11 / 11 A.Konforme Formatierung: Aufruf cdo cmorf,ffile cdo cmorg,gfile cdo cmor,var,tab[[,realm],shape[,chunk-range]] ifile ofile-c oder cdo cmor,var,tab[[,realm],shape[,chunk-range]] [-cmorf,ffile] [-cmorg,gfile] \ ifile ofile-c var: variable name tab: MIP table name realm shape ffile gfile [es gibt default name] ifile command-line Eingabe branch_time basetime experiment_id forcing parent_experiment_id parent_experiment_rip initialisation_method physics_version realization [ comment history references] command-line file name: ffile input_dir tabs_dir grids_dir arch_dir project_id institute_id model_id calendar contact source product env. params file name: gfile hier handelt es sich nur um einen Vorschlag; Action ! : Uwe teil mit, wie das Interface aussehen soll

12 / 11 A.Konforme Formatierung: CommandLineEingabe cdo cmor,var,tab[[,realm],shape[,chunk-range]] -cmorf,ffile -cmorg,gfile ifile ofile-c cdo cmor ifile cmor.xcmor2.a ofile-c var: variable name (CV) tab: MIP table name (CV) realm (CV) shape Expid-file Proj-file ifile command-line Eingabe: 23. Juni 15 Name wird von CMOR gesetzt

13 / 11 cdo cmor,var,tab[,[realm,]shape[,chunk-range]] -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? => i.cmor.x kann zunächst ohne Änderung benutzt werden ii.die Skripten für die Experimente und das Postprocessing können ohne Änderung die verschiedenen Ausbaustufen von ‚‘cdo cmor,...‘ benutzen A.Konforme Formatierung: CommandLineEingabe

14 / 11 &CMORCTRL INPUT_FILENAME=${ifile} CHUNK_RANGE = "“ (def=“”) TABLE_NAME = Amon def=NA REALM = "${realm}“ def=atmos REC_NUM = ${RecDay} header! OUT_FLAG = "replace" (if chunk_range=“”) SHAPE = "${shape}" ANZVARS = 1 var =tas unit =„K“ Expid-file =aquaControl_r1i1p1.ksh Proj-file = MPI-M_MPI-ESM-LR.ksh / A.Konforme Formatierung: files cdo cmor,var,tab[[,realm],shape[,chunk-range]] -cmorf,ffile cmorg,gfile ifile experiment_id=„aquaControl“ realization=1 initialization_method=1 physics_version=1 baseyear=1850 forcing=„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=CMIP5 model_id=MPI-ESM-LR institute_id=MPI-M source=„my model“ calendar=standard product=output gfile= MPI-M_MPI-ESM-LR.ksh cdo cmor ifile cmor.xcmor2.a ofile-c

15 / 11 &CMORVAR INPUT_FILENAME=${ifile} CHUNK_RANGE = "“ (def=“”) TABLE_NAME = Amon (no def) REC_NUM = ${RecDay} header! OUT_FLAG = "replace" (if chunk_range=“”) SHAPE = "${shape}" ANZVARS = 1 var =tas unit =„K“ Expid-file =aquaControl_r1i1p1.ksh Proj-file = MPI-M_MPI-ESM-LR.ksh / A.Konforme Formatierung: files cdo cmor,var,tab[[,realm],shape[,chunk-range]] -cmorf,ffile -cmorg,gfile ifile experiment_id=„aquaControl“ realization=1 initialization_method=1 physics_version=1 baseyear=1850 forcing=„N/A“ parent_experiment_id=„N/A“ parent_experiment_rip=„N/A“ branch_time=0.0 [ comment=„“ history=„“ references=„“] ffile= aquaControl_r1i1p1.ksh &CMOREXP 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=CMIP5 model_id=MPI-ESM-LR institute_id=MPI-M source=„my model“ calendar=standard product=output gfile= MPI-M_MPI-ESM-LR.ksh cdo cmor ifile cmor.xcmor2.a ofile-c &CMORINST 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} ZOSCONST = ${zosga},${zossga} /

16 / 11 B. Konforme CDOs B. die cdos sollen so weit wie möglich CMIP konforme Dateien liefern Vergleiche header von allen CMIP5 Dateien in /work/ik0555/.../esmrcp85/ mit den headern derselben Datei, wenn sie von einem CDO-Operator verarbeitet wurden. ‚esmrcp85‘ ist das Experiment mit vermutlich den meisten Variablen. Die Vergleiche sind inkrementell, d.h. was schon mit ‚cdo copy‘ notiert wurde, wird beim Vergleich für einen nächsten CDO-Operator nicht mehr erwähnt; was schon für eine Modellkomponente notiert wurde, wird beim Vergleich für eine andere Komponente nicht mehr erwähnt. 9. Juni 15

17 / 11 All realms / grids: 1.bnds => nb2 Action! 5.time:axis = "T„ geht verloren Action! 6.global history-Attribut anhängen: Action! E.g.: “Raw output...with IMDI...; CMOR rewrote...“ “Raw output...[with ‘infrastructure‘...]; CMOR rewrote...; CDO selname,cl...“ 7.tracking_id muss er-/gesetzt werden Action! 8.creation_date muss er-/gesetzt werden Action! 9.time:units = "days since’ ‘ :00:00" ; versus Action! time:units = "days since’ ‘ :00:00" ; 9. Juni 15 B. header–Vergleich nach cdo copy

18 / 11 Realm / grid atmos: 1.var:cell_measures = “area: areacella“ geht verloren; Action! 2.Location von areacella in var:associated_files = "baseURL: 3.var:grid_type = “gaussian“ ; Action! 4.Single value dimension treatment by CMOR (siehe andere Beispiele unten): Beispiel: float sfcWind(time, lat, lon) ; sfcWind:coordinates = "height" ; double height ; height:axis = "Z" ; height:long_name = "height" ; height:positive = "up" ; height:standard_name = "height" ; height:units = "m" ; ² data: height = 2 ; 9. Juni 15 B. header–Vergleich nach cdo copy geht verloren Action!

19 / 11 B. header–Vergleich nach cdo copy Realm / grid atmos: 1.Vertical coordinate a.lev:standard_name verloren b.lev:formula = "p = ap + b*ps" ; c.lev:formula_terms = "ap: ap b: b ps: ps" ; d.lev_bnds:formula e.lev_bnds:formula_terms="ap: ap_bnds b: b_bnds ps: ps" f.lev_bnds:standard_name verloren (sollte nicht vorhanden sein CF conventions) g.lev_bnds:units verloren (“ “ “ “) h.double [ap|b](lev) verloren i.[ap|b]_bnds(lev, x); dimension x statt bnds j.float ps(time, lat, lon) verloren Mögl. Lösung: CMOR schreibt auch cl:ancillary_variables = “ps ap b ap_bnds b_bnds“ oder über “formula_terms“ regeln; Bemerkung: es sollte darüber nachgedacht werden, ob man die Variablen auf ECHAM- Modellleveln erst mal außen vor lassen kann. Vielleicht gibt es aber hier nur ein Missverständnis. 9. Juni 15

20 / 11 Realm / grid land: 1.float baresoilFrac(time, lat, lon) ; bareSoilFrac:coordinates = “type“; char type(strlen)² ; type:long_name = "surface type" type:standard_name = "area_type" ; 2.float landCoverFrac(time, type, lat, lon) landCoverFrac:coordinates = "type_description" ; char type_description(type, strlen) ; type_description:long_name = "plant functional type" ; type_description:standard_name = "area_type" ; ² data: type = "bare_ground" ; 9. Juni 15 B. header–Vergleich nach cdo copy geht verloren (s.o.) Action!

21 / Juni 15 B. header–Vergleich nach cdo copy

22 / Juni 15 B. header–Vergleich nach cdo copy

23 / Juni 15 B. header–Vergleich nach cdo copy

24 / 11 Realm / grid ocnBgchem: 1.single value vertical dimension (siehe realm/grid = atmos Punkt 4.): bfe:coordinates = "lat lon" ; statt bfe:coordinates = "depth lat lon" ; double depth ; depth:axis = "Z" ; depth:long_name = "depth" ; depth:positive = "down" ; depth:standard_name = "depth" ; depth:units = "m" ; data: depth = 0 ; 9. Juni 15 B. header–Vergleich nach cdo copy

25 / 11 Realm / grid atmos: 1.Vertical coordinate a.double ap_bnds(lev) verloren b.double b_bnds(lev) verloren 9. Juni 15 B. header–Vergleich nach cdo selname

26 / 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?

27 / 11 Installation und Distributionen...