CMOR/CDO¶
Stand 23.5.17Der cdo cmor Operator für Version 1.8.2 ist geeignet CMIP5 konforme Daten mit CMOR2 zu erzeugen. Dabei wurden folgende Funktionalitäten eingebaut:
- Mittels eines Files, welches über einen keyvalue mit keyword mapping_table übergeben wird, können Variablen vorbehandelt, bspw. umbenannt werden. Die Keywörter ähneln dabei denen, welche in den Parametertabellen bei setpartab genutzt werden - ein wichtiger Unterschied ist, dass statt out_name das keyword cmor_name genutzt wird, da CMOR genau diesen Variablennamen benötigt, aber die Variable ggf. im Outfile nach dem MIP_name benannt wird, der wieder anders sein kann.
- Infofiles, welche im Wesentlichen globale Attribute enthalten, werden über das keyword info übergeben und enthalten pro Zeile ein key=value pair.
- Über das keyword output_mode kann der append_mode eingeschaltet werden. Dabei kann entweder über das keyword last_chunk ein chunk file mitgeliefert werden oder es wird versucht, auf ein description file zuzugreifen, in welchem der zuletzt im append_mode herausgeschriebene Dateiname abgespeichert wird.
- Zeitwerte und Zeitgrenzen (time_bnds) werden automatisch mittels der Referenzzeit, gegeben durch das keyword required_time_units, und der Frequenz, gegeben durch die MIP_table, berechnet falls nicht vorhanden (für cell_method=mean). Auch bestimmte Gitterzellgrenzen (grid_bnds) werden bilinear interpoliert.
Gleichzeitig wurde im CDI-Datenmodell der Gittertyp CHAR_XY sowie der Z-Achsentyp ZAXIS_CHAR entwickelt, um Achsen vom Typ Character zu verarbeiten. Dies ermöglicht einerseits eine leichte Einbindung ohne Umstellung des gesamten Datenmodells. Andererseits ist eine Character Achse eigentlich ungerichtet, was sich nicht mit den Dimensionen der CDIs verträgt. Vor einiger Zeit wurden bereits von Florian Prill vom DWD subtypes in die CDIs eingeführt, die ebenfalls die Prozessierung von Character Achsen ermöglichen sollten. Es muss geprüft werden, ob subtype nicht die geeignetere Lösung ist.
Bekannte Bugs:- Der append_mode scheitert bei hybriden vertikalen Achsen. Dies scheint ein CMOR2-spezifischer Fehler zu sein, die Entwickler sind informiert.
- Projektionen sind noch nicht eingebaut
Old:¶
Nächstes Meeting Di. 23.8.16 11:00 am DKRZ Raum 207Agenda (bitte erweitern nach Bedarf; Reihenfolge egal)
- Konforme Formatierung
- Format von CMIP-Konfigurationsdateien (json?)
- Welchen Funktionsumfang soll der 'cdo cmor ..' Operator haben?
- Konforme CDOs
- single value Dimensionen mit einem CDO-Operator in eine Datei einfügen;
- andere benötigte Felder (z.B. Vegetationstypen, Basinnamen, straits, ...) mit einem CDO-Operator in eine Datei einfügen;
- CMIP-global NetCDF-Attribut 'frequency' einfügen, updaten, ...
- Landdaten: Vegetationstypen etc. müssen eingebaut, bzw. mitgeführt werden
- Ozeandaten: mit Level- und einer zusätzlichen Achse (z.B. Overturning)
Der "cdo cmor,..." Operator soll am DKRZ, MPI-M und anderen Instituten zur standardkonformen Aufbereitung von CMIP5 und CMIP6 Daten, einschliesslich der Daten der 'endorsedMIPs', sowie zur Datenaufbereitung für die Publikation im CMIP-ESGF Archiv benutzt werden.
Das bedeutet, dass es sowohl möglich sein muss, Dateien zu verarbeiten, die schon die gewünschte Anzahl von Zeitebenen enthalten, als auch die Ausgabe an schon vorhandene Dateien anzuhängen (Kettenläufe).
Inputdateien¶
- enthalten eine Teilmenge der Variablen, die in den CMOR Tabellen enthalten sind
- liegen mit der von der CMOR Tabelle vorgegebenen Zeitachse vor
- sind CF-konformes NetCDF, und für jede Variable gibt es die für die Standardisierung erforderlichen Informationen (z. B. single-value-Dimension)
Interface¶
cdo cmor,tab[,OPTION=value ...] ifile [opattern]
mit
Parameter | |
---|---|
tab | Name der MIP Tabelle wie von PCMDI spezifiziert |
OPTION |
value |
---|---|
var | kommaseparierte Liste von Variablen, die alle zu tab gehören und in der Datei enthalten sind (optional) |
|
ergibt sich aus ifile |
chunk | "replace" (default): pro Eingabedatei ein Chunk; "append": Ausgabedatei in eine vorhandene Datei anhängen |
info | kommaseparierte Liste von Eingabedateien für die Konfiguration und Metadaten |
gridinfo | Gitterdatei |
opattern
(optional) soll das Setzen eines beliebigen Dateinamensmusters erlauben, in das der Variablenname und die Zeitinformation eingesetzt wird, um die endgültigen Namen zu erzeugen. Die damit erzeugten Names sind unter Umständen nicht CMOR konform! [zur Diskussion]
CDO CMOR operator¶
Installation and running of the current implementation of the CDO CMOR operator for CDO 1.8.2.
Installation and running of the implementation of the CDO CMOR operator for CDO le 1.8.1.