Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 / 11 Organisatorisches 1.Dokumente in: https://code.zmaw.de/projects/cdo/wiki/CMOR https://code.zmaw.de/projects/cdo/wiki/CMOR i.CDO-CMOR_Konforme-Formatierung.ppt.

Ähnliche Präsentationen


Präsentation zum Thema: "1 / 11 Organisatorisches 1.Dokumente in: https://code.zmaw.de/projects/cdo/wiki/CMOR https://code.zmaw.de/projects/cdo/wiki/CMOR i.CDO-CMOR_Konforme-Formatierung.ppt."—  Präsentation transkript:

1 1 / 11 Organisatorisches 1.Dokumente in: https://code.zmaw.de/projects/cdo/wiki/CMOR https://code.zmaw.de/projects/cdo/wiki/CMOR i.CDO-CMOR_Konforme-Formatierung.ppt als Diskussionsgrundlage ii.Konforme CDOs.ppt 2.Eingabedateien zum Testen in: mistral:/work/ik0555/cmip5/archive/CMIP5/output/MPI-M. 3.Eine Testversion der CDOs gibt es unter: mistral:/home/zmaw/m214003/local/bin/cdo 4.Die Sourcen gibt demnächst unter: https://code.zmaw.de/projects/cdo/files https://code.zmaw.de/projects/cdo/files 5.Über die Klimaindizes reden !!! später.... *Jeder will Großes erreichen, ohne sich darüber im Klaren zu sein, dass das Leben aus kleines Sachen besteht. Steve Bjoernson * RI W

2 2 / 11 CMIP[5,6,...] und CDOs Ziele: A.es gibt einen cdo operator „cmor“ mit cdo cmor,tab,[OPTION=value,...] ifile ofile-c der CMIP-konforme Ausgabedateien erzeugt, falls a)-b) erfüllt sind: a)die Eingabedatei ifile enthält CMIP Variablen mit korrekter Aggregation; die Einheit kann mit Hilfe der udunit-Bibliothek (in CMOR) oder durch Übergabe von geeigneten Operatoren + Operanden geändert werden; b)die Eingabedatei ifile enthält alle von CMOR benötigten Hilfs- Variablen (z.B. inkl. single-value Koordinaten); c)die Koordinatenvariablen können auch in einem separaten Grid-file enthalten sein; B.die cdos liefern grundsätzlich so weit wie möglich CMIP-konforme Dateien C.eine cdo-Ausgabe von CMIP-konformen Eingabedateien ist so weit wie möglich CMIP-konform (cdo ifile1-c... ifileN-c ofile-c) „file-c“ sind soweit wie möglich CMIP-konforme Dateien „so weit wie möglich“: vollständig für CMIP-Variablen „CMIP-Variablen“ sind die in standard_output.xls für CMIP5; für CMIP6 steht die Liste noch nicht fest;

3 3 / 11 CMIP und CDOs A.Konforme Formatierung Hintergrund: Die Erfahrung mit Daten, die zur ESGF-Publikation eingereicht wurden, zeigt, dass nicht erwartet werden kann, dass eine CMIP-konforme Formatierung erreicht wird, ohne die CMOR-Bibliothek zu benutzen. Die ESGF-Publikation muss dann verweigert werden, mit den entsprechenden Auswirkungen auf den reibungsfreien Ablauf mit korrigierten Daten. 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. Deshalb sollen die cdos in die Lage versetzt werden, gegen die CMOR-Lib zu linken, um CMIP5 und später CMIP6+² Variablen entsprechend den Projekt-Standards zu formatieren. Es wird angestrebt, dass dieser Operator auch von Programmierern benutzt wird, die vorher schon mit der CMOR-Bibliothek gearbeitet haben. Das bedeutet, dass das Verhalten des CDO-Operators dem der CMOR-Bibliotheks-Aufrufe möglichst nahe kommen sollte. ²DECK, CMIP6, und endorsedMIPs

4 4 / 11 A.Konforme Formatierung: cdo cmor,tab,[OPTION=value,...] ifile ofile-c Bemerkungen: 1.Der Name der Ausgabedatei ist durchgestrichen, um zu erinnern, dass er nicht gesetzt werden kann! 2.Es müssen nicht alle tab-Variablen in i-file enthalten sein. 3.Die Ergebnisdatei ofile-c wird nur eine Variable enthalten, sonst ist sie nicht CMIP-konform. Das wird durch die CMOR-Bibliothek sichergestellt. 4.Da die Erfahrung zeigt, dass nicht garantiert werden kann, dass die Dateien mit den verlangten Namen abgegeben werden, solange Freiheiten in der Namensgebung bestehen, soll der Name der Ausgabe-Datei, der von CMOR gesetzt wird, nicht veränderbar bzw. nicht anzugeben sein. Es können Konflikte zwischen den Use- Cases aus dem WF der Wissenschaftler, die normalerweise weniger Restriktionen wünschen, und Use-Cases im Zusammenhang mit der Aufbereitung für das offizielle CMIP-Archiv entstehen. Z.B. könnte gewünscht werden, den ofile-c Namen angegeben zu können, wenn im WF der Wissenschaftler der vorgeschriebene Name nicht akzeptabel ist. Die gewünschten Freiheiten sollen zulassen werden, wenn ein bestimmter environment-Parameter (CDO_PS_CMOR) gesetzt ist. Es muss im Auge behalten werden, dass sowohl die CDOs als auch die Skripte auch außerhalb des MPIs benutzt werden (sollen). CMIP und CDOs

5 5 / 11 A.Konforme Formatierung: cdo cmor,tab,[OPTION=value,...] ifile ofile-c Bemerkungen (cntd): 5.cdo cmor muß wg. der operationellen Kettenverarbeitung auch die append-Funktion der CMOR2 Bibliothek ermöglichen. Für den täglichen WF bei der Datenverarbeitung und Analyse ist das nicht zwingend notwendig, und es kann auch der Befehl ‚cdo cat...‘ benutzt werden. Dazu müssen aber zunächst die CDOs CMIP-konform arbeiten (s. Punkt B. oben). Wg. der kommenden CMIP6-Aktivitäten und den damit verbundene Terminen kann nicht riskiert werden, sich von B. oder C. abhängig zu machen. Eventuell gibt es auch Performanzgründe für die Benutzung der CMOR-Append-Funktionalität. Das Schlüsselwort ist oflag mit den Werten ‚replace‘ oder ‚append‘. 6.Die CMOR2-Bibliothek prüft, ob the Flussrichtung (‚positive‘ Attribut) angegeben ist, falls verlangt, und ob die Einheiten angegeben sind; letzteres immer. Gegebenenfalls wird das Vorzeichen der Fluss-Variablen geändert, und die Werte der Variablen werden so modifiziert, dass sie die richtigen Einheiten haben (udunit). Soll also die unveränderte Standard-CMOR-Bibliothek benutzt werden, muss als OPTION-Schlüsselwort ‚pos‘ mit den Werten ‚u‘ für ‚up‘ oder ‚d‘ für ‚down‘ gegeben werden falls verlangt. Das Vorzeichen der Variablenwerte wird gegebenenfalls von der CMOR-Library geändert. Entsprechend werden von der udunit-Bibliothek die Variablenwerte an die geforderten Einheiten angepasst, wenn die eingegebenen Einheiten nicht den Verlangten entspricht. Ein ccp-flag _CDO_CMOR_EXPERT_MODE ist eingeführt, das die CMOR-Library die beiden Checks überspringen lässt (fertig für ‚positive; demnächst für die Einheiten). Das ginge natürlich auch über einen ProgrammSchalter, erfordert aber mehr Eingriffe in den Quellcode. CMIP und CDOs

6 6 / 11 A.Konforme Formatierung: Bemerkungen (cntd): 7. cdo cmor soll in der Lage sein, gewünschte Variablen unter den in der Eingabedatei enthaltenen Variablen auswählen zu können. Diese müssen alle zur selben MIP-Tabelle tab gehören und werden als Liste (kommasepariert?) mit der Option übergeben. Der Default für die Option vars soll sein, alle Variablen in einer Datei CMIP-konform aufzubereiten. Dazu müssen sie zu derselben MIP-Tabelle tab gehören. Ein nicht zu tab gehöriger 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. Dies soll nur mit dem CDO_PS_CMOR Umgebungsparameter ermöglicht werden, denn vi.die Standard-Reaktionen der Software sollten unabhängig davon sein, über welche Schnittstelle (CDOs, andere Programme) die CMOR-Bibliotheksaufrufe getätigt werden. vii.Es könnten sich mit dem vars-Defaultwert Probleme ergeben, wenn sich Variablen in der Datei befinden, die als Hilfsvariablen für andere Targetvariablen verwendet werden (z.B. ps für cl). Das bleibt abzuwarten. viii.Im operationellen Gebrauch in Skripten möchte man die Anzahl der Variablen für eine ausgewogene Lastbilanz vorgeben können, ohne die Verteilung der Variablen in einzelnen Dateien ändern zu müssen. Wg. der Performanz wird eventuell auf einen Aufruf mit mehreren Variablen verzichtet werden (aber nicht auf die Option). CMIP und CDOs

7 7 / 11 CMIP und CDOs

8 8 / 11 CMIP und CDOs: Zeitplan A.Konforme Formatierung mit den CDOs sollte mit den aufgelisteten Funktionalitäten möglich sein, wenn die Verarbeitung der CMIP6- Projektergebnisse beginnt. Also nach dem derzeitigen Stand Jul 2016. Hier ist die erste Ausbaustufe (s.u.) gemeint, nicht nur der DKRZ- Wrapper. Das BMBF-Projekt started vermutlich Juli 2016. Dann wird mit der Modifikation in Richtung ‚letzte Ausbaustufe‘ begonnen. Wie viele Stufen es dazwischen gibt, und ob sie ‚released‘ werden, bleibt den Projektmitarbeitern vorbehalten. Alle Stufen nach der ersten sollten aber für den Nutzer transparent bleiben. Rückfalllösung für CMIP6: Jörg‘s Programm mit Wrapper A.(und C.) entsprechend den Planungen des MPI-Ms

9 9 / 11 A.Konforme Formatierung 1. Ausbaustufe: Vorteil: wohldefinierte Schnittstellen und Zuständigkeiten transparenter Übergang CMIP5  CMIP6  CMIP7... implementierbar ohne größere Änderungen der CDOs eventuell Tabelle mit Zuordnung : CMIP-Variablenname ECHAM-,JSBACH-,MPIOM-,HAMOCC-CodeNummern zusätzliche/lokale CMIP Tabelle(n) mit lokalen Variablen/Experimenten möglich cdo cmor ifile cmor.xcmorN.a ofile-c DKRZPCMDIMPI-M Name wird von CMOR gesetzt

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

11 11 / 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 Bibliothek-Aufrufe in den CDOs getätigt: DKRZPCMDIMPI-M cdo cmor ifile cmor.xcmorN.a/so ofile-c X PCMDIMPI-M cdo cmor ifile cmorN.a ofile-c Name wird von CMOR gesetzt ² da Jörg‘s CMOR.x-Program nicht fertig ist, müssen wir festlegen, wie der workflow bei der Zusammenarbeit mit Mathis sein soll

12 12 / 11 Übergang *.f90  *.c : *.f90 in SVN-tag Cdo – Wrapper in A.Konforme Formatierung

13 13 / 11 A.Konforme Formatierung: Eingabe* cdo cmor ifile cmor.xcmorN.a ofile-c ² optional ³ nicht benötigt ²³ hoffentlich aus den NetCDF- Dateien ableitbar user info file : ufile institute_id institution contact table_dir model info file:mfile model_id [references]² calendar source grid_dir grid_file et al. experiment info file: efile project_id product branch_time req_time_units experiment_id forcing parent_experiment_id parent_experiment_rip member [ comment history]² et al. command-line Eingabe tab [einzige mandatory] vars oflag userinfo modinfo expinfo oper cval pos units time gfile ifile

14 14 / 11 Aufruf : cdo cmor,...[,cdocmorinfo=file1,...,fileN][,gridinfo=gfile][...] ifile ofile-c Bemerkungen: 1.cdocmorinfo??? enthält eine kommaseparierte Liste mit beliebig vielen Dateinamen, in denen die von CMOR benötigten MetaDaten abgelegt sind. Zu den Dateien gibt es Default-Namen und eine Default-Hierachie, die beim Aufruf überschrieben werden können. 2.Defaultverzeichnisse: i.$HOME ii.. iii.Kommandozeile iv.vollständiger Pfad (inkl. filename) in der Kommandozeile 3.Die Dateien fileL, L=1,N enthalten Zeilen: attribute-name=attribute-value. 4.Default: eine Datei mit Namen.cdocmorinfo 5.gridinfo gibt die Datei an, aus der Gitterinformationen gelesen werden. Ein ESM kann mehrere Gitter, und damit mehrere Gitterinformationsdateien haben. Diese Dateien werden nur benötigt, wenn nicht alle erforderlichen Gitterangaben in ifile stehen. gfile kann mit dieser Option geändert werden, ohne fileN zu editieren. A.Konforme Formatierung

15 15 / 11 A.Konforme Formatierung: CommandLineEingabe cdo cmor,tab,[vars=varList][,oper=operator,cval=constant][...] \ ifile ofile-c Bemerkungen: 1.Die Angabe von tab ist erforderlich und muss einer MIP-Tabelle entsprechen; keine Prüfung auf CV, damit lokale Tabellen möglich sind; Abbruch, wenn die verlangte Tabelle nicht existiert ($table_dir/‚project_id‘_‘tab‘). Alle anderen Parameter sind optional. 2. varList ist eine komma-separierte Liste von zu tab gehörigen Variablen. Die Variablennamen müssen den CMIP-Kurznamen entsprechen. Wenn eine Datei mit Zuordnungstabelle in mfile angegeben ist, wird geprüft, ob der Variablenname aus tab in der Zuordnungstabelle steht. Wenn das so ist, werden dort die Aggregation, Codenummern, lokale Variablennamen, ‚positive‘- Flussrichtungen, und tatsächliche Einheiten ausgelesen. Wenn diese Angaben mit der Kommandozeile übergeben werden, haben letztere Vorrang. 3.Die Angabe von operator und constant kann benutzt werden, um einfache Änderungen der Einheiten durchzuführen. Das ist auch über die units-Angabe per udunits in der CMOR-Bibliothek möglich, wenn sie unverändert benutzt wird. Dann MUSS aber bei jedem Aufruf eine Einheit mitgegeben werden, bzw. jede zu verarbeitende Variable muss über die Zuordnungstabelle mit einer Einheit versehen werden.

16 16 / 11 A.Konforme Formatierung: CommandLineEingabe cdo cmor,tab,[...[,oflag=output-mode][...] ifile ofile-c 5.Der output-mode kann die Werte ‚replace‘ oder ‚append‘ annehmen: Falls es mehrere Dateien gibt, an die auf Grund ihrer Dateienamen angehängt werden könnte, wird eine Warnung ausgegeben, und die jüngste Datei wird ausgewählt. Wenn oflag nicht besetzt ist, wird eine neue Datei angelegt (Default=replace). Die Namen von Dateien, die sich zum Fortschreiben eigenen, können sich nur in dem ersten Datum des am Ende des Dateinamens angegebenen Zeit-Bereichs unterscheiden. Der Dateiname – bis auf dieses Datums – wird im CMOR-Programm konstruiert. Dasselbe gilt für die Verzeichnisstruktur. Dateinamen werden mit System-Calls aufgelistet. Bei oflag=append wird das letzte Datum im vorherigen Chunk in der CMOR-Darstellung aus dem ersten Zeitwert im aktuellen Chunk und der Frequenz hergeleitet. Sollte es mehrere Dateien mit der entsprechenden Namensbasis im Arbeitsverzeichnis geben, wird die neueste Datei ausgewählt. ls –lrt: tas_MPI-ESM-P_historical_r1i1p1_190501-190912.nc tas_MPI-ESM-P_historical_r1i1p1_190001-190912.nc tas_MPI-ESM-P_historical_r1i1p1_191001-191912.nc

17 17 / 11 A.Konforme Formatierung: CommandLineEingabe cdo cmor,... [pos=direction[,units=unit][,time=cell_method] ifile ofile-c 6.Der Wert für direction kann die Werte ‚u‘ oder ‚d‘ annehmen, und gibt die Richtung positiver Flüsse an. Die Richtung ist auch in der standard_output-Tabelle notiert. Wenn die beiden Angaben nicht übereinstimmen, wird durch CMOR das Vorzeichen geändert. Es ist nicht möglich, die Angabe wegzulassen, wenn gewährleistet ist, dass das Vorzeichen der Variablen den Vorgaben entspricht. K.T. ist gefragt worden, ob CMOR optional auf die Angabe verzichten könnte. Es wurde freigestellt, die Änderung lokal vorzunehmen. Das haben wir getan, und die Änderung am PCMDI vorschlagen. Z. Z. wird ein _CDO_CMOR_EXPERT_MODE cpp-flag für die Aktivierung der lokalen Option benutzt. Das soll mal ein Umgebungsparameter regeln, oder? 7.Für unit gilt Entsprechendes. Bei Nicht-Übereinstimmung werden die Werte der Variablen mit udunit geändert. Umgebungsparameter bzw. cpp-flag für die CMOR-Bibliothek wie in 6. 8.Bei Aufruf der CMOR-Routinen muss angegeben werden, welche cell_method die Zeitachse benutzt. Mögliche Werte sind ‚point‘, ‚mean‘, oder ‚clim. Bei ‚point‘ müssen keine time_bnds angegeben werden. Wg. der time_bnds ist es nicht möglich, auf die Angabe zu verzichten, d.h. sie muss entweder über die Kommandozeile, oder über die Zuordnungstabelle kommen.

18 18 / 11 A.Konforme Formatierung: ‘shape‘

19 19 / 11 CDIs gridTypesCF grid_mapping GRID GAUSSIAN ECHAMlatitude_longitude GRID LONLATlatitude_longitude GRID LCClambert_conformal_conic GRID SPECTRAL GRID GME ICON? GRID CURVILINEAR GRnm, TPnm ? GRID UNSTRUCTURED FE(S)OM? GRID REFERENCE else: GRID GENERIC A.Konforme Formatierung: Gitter

20 20 / 11 CMOR bekannte Gitter ( = CF-Standard grid_mapping list): albers_conical_equal_area azimuthal_equidistant lambert_azimuthal_equal_area lambert_conformal_conic lambert_cylindrical_equal_area latitude_longitude mercator orthographic polar_stereographic rotated_latitude_longitude stereographic transverse_mercator vertical_perspective A.Konforme Formatierung: Gitter

21 21 / 11 a)Über die CommandLineEingabe wird der Projekt-Kurzname eingeben der Variablen eingegeben: i.in ‚component‘_‘project_id_‘MIP-Tabelle‘.txt wird dem Kurznamen der lokale Name oder Code etc. zugeordnet, mit dem die Variable in den Eingabedateien gespeichert ist. Beispiel: MPESM1_CMIP5_Amon.txt (Kopie von Kalles echam6cmip5_last_version) c[ode]=3-byte integer [default=000/‘ ‚?] n[local (model) variable name]=‚local name‘[default=CMIP-unit; optional] o[ut_name]=abc [no default, mandatory, CV] u[nits]=‚udunit‘[default=CMIP-unit; optional] c[ell_method]=‚time aggregation‘[m(default)|p|c, CV; mandatory] p[ositive]=‚flux direction‘[u|d|““(default), CV, optional] b)Granularität der Tabellen echam6_CMIP5.txt MPI-ESM1_CMIP5.txt... oder hamocc_CMIP6.txt MPI-ESM2_CMIP6.txt c)Die lokale Änderung der CMOR-library ist nicht nötig, wenn noch positive=u/d und unit=„...“ in den Zeilen der Zuordnungstabelle würde. A.Konforme Formatierung: Zuordnungsabelle für GRIB Codes, Modellnamen, etc... &parameter code=123 name=modnam output_name=projnam unit=„...“ positive=u|d time_cell_method=p|m/c (&parameter c=123 n=modnam o=projnam u=„...“ p=u|d time_cell_method=p|m/c)...

22 22 / 11 MPI-ESM-LR (T63,L47) 1 Variable, 5 Jahre, 1 L, tgl. Daten: Real/User/Sys = 8.1/7.3/0.7 sec 3 Variablen, 10 Jahre, 1 L, monatliche Daten: Real/User/Sys = 5.2/1.9/0.9 sec (NetCDF) 3 Variablen, 10 Jahre, 1 L, monatliche Daten: Real/User/Sys = 5.8/2.4/2.0 sec (GRIB) 3 Variablen, 10 Jahre, 1 L, monatliche Daten: Real/User/Sys = 3.7/2.1/1.3 sec (GRIB; Datei wie oben) 1 Variable, 10 Jahre, 17 L, monatliche Daten: Real/User/Sys = 10.4/9.0/1.3 sec (GRIB, 705 MB) A.Konforme Formatierung: Performanz


Herunterladen ppt "1 / 11 Organisatorisches 1.Dokumente in: https://code.zmaw.de/projects/cdo/wiki/CMOR https://code.zmaw.de/projects/cdo/wiki/CMOR i.CDO-CMOR_Konforme-Formatierung.ppt."

Ähnliche Präsentationen


Google-Anzeigen