Aktionen

NetCDF Tidekennwerte des Wasserstandes

Aus BAWiki

Version vom 15. September 2010, 15:43 Uhr von imported>Lang Guenther (Polygone)

Kurze Beschreibung

Tidekennwerte des Wasserstands. Daten des (synoptischen) Wasserstands liegen entweder an den Knoten (node) oder den Polygonen (poly) vor. Daher werden die daraus abgeleiteten Tidekennwerte des Wasserstandes an denselben Positionen berechnet. Ohne Beschränkung der Allgemeinheit werden die NetCDF Tidekennwerte des Wasserstandes hier nur für zwei-dimensionale Gitter (Dreiecksgitter, Unstrukturiertes Gitter mit SubGrid) formuliert.

Weitere Beschreibungen

Dimensionen

Insofern nicht schon vorab definiert (siehe oben) werden noch folgende Dimensionen benötigt:

dimensions:
nMesh0_refl = number of reference locations ;
nEvent_hw = number of events for tidal high water ;
nEvent_lw = number of events for tidal low water ;

Referenzpositionen

Koordinaten und Beschreibung

  • Zur Kennzeichnung besonderer Positionen, z. B. der Referenzpositionen Tide und Phase wird eine Beschreibung der nMesh0_refl Koordinaten, der Topologievariablen sowie der Koordinatentransformation analog zu NetCDF Einzelpositionen benötigt.
  • Optional können auch Positionsbezeichnungen hinzugefügt werden.

Charakterisierung

integer Mesh0_refl_type(nMesh0_refl) ;
Mesh0_refl_type:standard_name = "???" ; \\ yet to be defined
Mesh0_refl_type:long_name = "type of reference location" ;
Mesh0_refl_type:_FillValue = fillvalue ;
Mesh0_refl_type:valid_range = 1, 2 ;
Mesh0_refl_type:valid_values = 1, 2 ;
Mesh0_refl_type:flag_meanings = "reference_location_tide, reference_location_phase"

Zeitkoordinaten

Die nachfolgenden Variablen sind in der Regel keine echten Koordinatenvariablen. Sie werden im NetCDF-Jargon als auxiliary coordinate variables bezeichnet.

Eintrittszeit des Tidehochwassers

Im Gegensatz zu dem u. g. Kennwert "Tidehochwasserzeit" werden in dieser Variablen die tatsächlichen Eintrittszeiten abgelegt, und nicht die Eintrittszeitdifferenzen in Bezug auf eine Referenzposition.

Knoten

double Mesh2_node_hw_time(nEvent_hw,nMesh2_node) ;
Mesh2_node_hw_time:standard_name = "time" ;
Mesh2_node_hw_time:long_name = "time of tidal high water for 2D mesh nodes" ;
Mesh2_node_hw_time:units = "time units since YYYY-MM-DD hh:mm:ss zone" ;
Mesh2_node_hw_time:calendar = "gregorian" ;

Kann man das machen, eine multidimensionale Zeitkoordinate verwenden?

Polygone

double Mesh2_poly_hw_time(nEvent_hw,nMesh2_poly) ;
Mesh2_poly_hw_time:standard_name = "time" ;
Mesh2_poly_hw_time:long_name = "time of tidal high water for 2D mesh polygons" ;
Mesh2_poly_hw_time:units = "time units since YYYY-MM-DD hh:mm:ss zone" ;
Mesh2_poly_hw_time:calendar = "gregorian" ;

Kann man das machen, eine multidimensionale Zeitkoordinate verwenden?

Eintrittszeit des Tideniedridwassers

Im Gegensatz zu dem u. g. Kennwert "Tideniedrigwasserzeit" werden in dieser Variablen die tatsächlichen Eintrittszeiten abgelegt, und nicht die Eintrittszeitdifferenzen in Bezug auf eine Referenzposition.

Knoten

double Mesh2_node_lw_time(nEvent_lw,nMesh2_node) ;
weitere Attribute analog zu "Mesh2_node_hw_time" ;

Knoten

double Mesh2_poly_lw_time(nEvent_lw,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_hw_time" ;

Gewichte

Gewichte werden insbesondere im Postprocessing benötigt, um abgeleitete Daten korrekt berechnen zu können, falls die hierfür relevanten Gewichtsfaktoren nicht in einfacher Weise aus den Koordinaten abgeleitet werden können. Die Verwendung von Gewichten bringt daher eine große Sicherheit in die späteren Weiterverarbeitung der Daten.

Wasserbedeckte Polygonfläche bei Tnw

double Mesh2_poly_wet_area_hw(nEvent_hw,nMesh2_poly) ;
Mesh2_poly_wet_area_hw:standard_name = "???" ; \\ eventually not required
Mesh2_poly_wet_area_hw:long_name = "wet area above 2D mesh polygons at tidal low water" ;
Mesh2_poly_wet_area_hw:units = "m2" ;
Mesh2_poly_wet_area_hw:coordinates = "Mesh2_poly_lon Mesh2_poly_lat" ;
Mesh2_poly_wet_area_hw:_FillValue = fillvalue ;
Mesh2_poly_wet_area_hw:valid_range = valid minimum, valid maximum ;
Mesh2_poly_wet_area_hw:grid_mapping = "crs" ;
Hinweis: bei klassischen Gitternetzen ist die nasse, also von Wasser bedeckte Polygonfläche entweder Null oder gleich der maximalen Polygonfläche. In neueren Verfahren, wie z. B. UnTRIM2, kann die nasse Polygonfläche hingegen kontinuierlich zwischen Null und der maximalen Polygonfläche, je nach dem Grad der Wasserbedeckung, in stark nichtlinearer Weise variieren.

Wasserbedeckte Polygonfläche bei Tnw

double Mesh2_poly_wet_area_lw(nEvent_lw,nMesh2_poly) ;
Attribute analog zu "Mesh2_poly_wet_area_hw".

Masken

Diese Informationen werden i. d. R. nur bei der Visualisierung von Datensätzen mit SubGrid benötigt. Für Berechnungsgitter mit hinterlegtem SubGrid liegen viele Analyseergebnisse nur auf dem (groben) Berechnungsgitter vor. Für eine detaillierte Visualisierung, z. B. des Thw, werden zusätzliche Informationen benötigt, welche SubPolygone eines Polygons wasserbedeckt sind und welche nicht. Für diese Zwecke stehen verschiedene Maskenvariablen bereit.

Subpolygonmaske bei Thw

integer Mesh2_subpoly_mask_hw(nEvent_hw,nMesh2_subpoly) ;
Mesh2_subpoly_mask_hw:standard_name = "???" ; \\ yet to be defined
Mesh2_subpoly_mask_hw:long_name = "mask for subpolygons at tidal high water, dry or wet" ;
Mesh2_subpoly_mask_hw:coordinates = "Mesh2_subpoly_lon Mesh2_subpoly_lat" ;
Mesh2_subpoly_mask_hw:_FillValue = fillvalue ;
Mesh2_subpoly_mask_hw:valid_range = 0, 1 ;
Mesh2_subpoly_mask_hw:valid_values = 0, 1 ;
Mesh2_subpoly_mask_hw:flag_meanings = "dry, wet"
Mesh2_subpoly_mask_hw:grid_mapping = "crs"

Subpolygonmaske bei Thw

integer Mesh2_subpoly_mask_lw(nEvent_lw,nMesh2_subpoly) ;
Mesh2_subpoly_mask_lw:standard_name = "???" ; \\ yet to be defined
Mesh2_subpoly_mask_lw:long_name = "mask for subpolygons at tidal low water, dry or wet" ;
Mesh2_subpoly_mask_lw:coordinates = "Mesh2_subpoly_lon Mesh2_subpoly_lat" ;
Mesh2_subpoly_mask_lw:_FillValue = fillvalue ;
Mesh2_subpoly_mask_lw:valid_range = 0, 1 ;
Mesh2_subpoly_mask_lw:valid_values = 0, 1 ;
Mesh2_subpoly_mask_lw:flag_meanings = "dry, wet"
Mesh2_subpoly_mask_lw:grid_mapping = "crs"


Tidehochwasser

Knoten

double Mesh2_node_hw(nEvent_hw,nMesh2_node) ;
Mesh2_node_hw:standard_name = "???" ; \\ yet to be determined for high water
Mesh2_node_hw:long_name = "tidal high water level for 2D mesh nodes" ;
Mesh2_node_hw:units = "m" ;
Mesh2_node_hw:coordinates = "Mesh2_node_hw_time Mesh2_node_lon Mesh2_node_lat" ;
Mesh2_node_hw:_FillValue = fillvalue ;
Mesh2_node_hw:valid_range = valid minimum, valid maximum ;
Mesh2_node_hw:cell_methods = "nEvent_hw: point nMesh2_node: point" ;
Mesh2_node_hw:grid_mapping = "crs" ;

Bei knotenorientierten Daten des Thw handelt es sich sowohl für die Zeit- als auch den Ort um Punktdaten. D. h. das Ereignis gilt für einen Termin und einen bestimmten Ort. Mittelungen in Zeit- oder Ortsrichtung spielen keine Rolle.

Polygone

double Mesh2_poly_hw(nEvent_hw,nMesh2_poly) ;
Mesh2_poly_hw:standard_name = "???" ; \\ yet to be determined for high water
Mesh2_poly_hw:long_name = "tidal high water level for 2D mesh polygons" ;
Mesh2_poly_hw:units = "m" ;
Mesh2_poly_hw:coordinates = "Mesh2_poly_hw_time Mesh2_poly_lon Mesh2_poly_lat" ;
Mesh2_poly_hw:_FillValue = fillvalue ;
Mesh2_poly_hw:valid_range = valid minimum, valid maximum ;
Mesh2_poly_hw:cell_methods = "nEvent_hw: point nMesh2_poly: mean" ;
Mesh2_poly_hw:cell_measures = "nMesh2_poly: Mesh2_poly_wet_area_hw" ;
Mesh2_poly_hw:subgrid_mask = "Mesh2_subpoly_mask_hw" ;
Mesh2_poly_hw:grid_mapping = "crs" ;

Im Gegensatz zu knotenorientierten Daten werden für polygonbezogene Daten ggf. noch weitere, hier Blau markierte Informationen benötigt. Dies gilt insbesondere in Zusammenhang mit der Verwendung von SubGrid.

Tideniedrigwasser

Knoten

double Mesh2_node_lw(nEvent_lw,nMesh2_node) ;
Mesh2_node_lw:standard_name = "???" ; \\ yet to be determined for low water
Mesh2_node_lw:long_name = "tidal low water level for 2D mesh nodes" ;
Mesh2_node_lw:units = "m" ;
Mesh2_node_lw:coordinates = "Mesh2_node_lw_time Mesh2_node_lon Mesh2_node_lat" ;
Mesh2_node_lw:_FillValue = fillvalue ;
Mesh2_node_lw:valid_range = valid minimum, valid maximum ;
Mesh2_node_lw:cell_methods = "nEvent_lw: point nMesh2_node: point" ;
Mesh2_node_lw:grid_mapping = "crs" ;

Bei knotenorientierten Daten des Tnw handelt es sich sowohl für die Zeit- als auch den Ort um Punktdaten. D. h. das Ereignis gilt für einen Termin und einen bestimmten Ort. Mittelungen in Zeit- oder Ortsrichtung spielen keine Rolle.

Polygone

double Mesh2_poly_lw(nEvent_lw,nMesh2_poly) ;
Mesh2_poly_lw:standard_name = "???" ; \\ yet to be determined for low water
Mesh2_poly_lw:long_name = "tidal low water level for 2D mesh polygons" ;
Mesh2_poly_lw:units = "m" ;
Mesh2_poly_lw:coordinates = "Mesh2_poly_lw_time Mesh2_poly_lon Mesh2_poly_lat" ;
Mesh2_poly_lw:_FillValue = fillvalue ;
Mesh2_poly_lw:valid_range = valid minimum, valid maximum ;
Mesh2_poly_lw:cell_methods = "nEvent_lw: point nMesh2_poly: mean" ;
Mesh2_poly_lw:cell_measures = "Mesh2_poly_wet_area_lw" ;
Mesh2_poly_lw:subgrid_mask = "Mesh2_subpoly_mask_lw" ;
Mesh2_poly_lw:grid_mapping = "crs" ;

Im Gegensatz zu knotenorientierten Daten werden für polygonbezogene Daten ggf. noch weitere, hier Blau markierte Informationen benötigt. Dies gilt insbesondere in Zusammenhang mit der Verwendung von SubGrid.

Tidemittelwasser

Tidehub

Flutdauer

Ebbedauer

Flutdauer:Ebbedauer

Tidedauer

Tidehochwasserzeit

Tideniedrigwasserzeit

Überflutungsdauer



zurück zu NetCDF


Strukturübersicht