Aktionen

NetCDF Tidekennwerte des Wasserstandes: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
imported>Lang Guenther
Zeile 67: Zeile 67:
==Eintrittszeit des Tidehochwassers==
==Eintrittszeit des Tidehochwassers==


In dieser Variablen die tatsächlichen Eintrittszeiten abgelegt, und nicht die Eintrittszeitdifferenzen in Bezug auf eine Referenzposition.
In diesen Variablen werden die tatsächlichen Eintrittszeiten abgelegt, und nicht die Eintrittszeitdifferenzen in Bezug auf eine Referenzposition.


===Alle Ereignisse===
===Alle Ereignisse===

Version vom 16. September 2010, 08:33 Uhr

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 ;
time_ana = 1 ; \\ mean time for period of data analysis
time_hw = number of events for tidal high water at reference location (tide) ;
time_lw = number of events for tidal low water at reference location (tide) ;
Two = 2 ; \\ constant

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

Analysezeitraum

double time_ana(time_ana) ;
time_ana:standard_name = "time" ;
time_ana:long_name = "mean time for period of data analysis)" ;
time_ana:units = "time units since YYYY-MM-DD hh:mm:ss zone" ;
time_ana:calendar = "gregorian" ;
time_ana:bounds = ""time_ana_bnd" ;
double time_ana_bnd(time_ana,Two) ; \\ start and end time for period of data analysis

Thw-Zeiten

double time_hw(time_hw) ;
time_hw:standard_name = "time" ;
time_hw:long_name = "time of tidal high water at reference location (tide)" ;
time_hw:units = "time units since YYYY-MM-DD hh:mm:ss zone" ;
time_hw:calendar = "gregorian" ;

Tnw-Zeiten

double time_lw(time_lw) ;
time_lw:standard_name = "time" ;
time_lw:long_name = "time of tidal low water at reference location (tide)" ;
time_lw:units = "time units since YYYY-MM-DD hh:mm:ss zone" ;
time_lw:calendar = "gregorian" ;

Hilfsvariablen

Eintrittszeit des Tidehochwassers

In diesen Variablen werden die tatsächlichen Eintrittszeiten abgelegt, und nicht die Eintrittszeitdifferenzen in Bezug auf eine Referenzposition.

Alle Ereignisse

Knoten

double Mesh2_node_hw_time(time_hw,nMesh2_node) ;
Mesh2_node_hw_time:standard_name = "??? oder time" ; \\ yet to be determined
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" ;
Mesh2_node_hw_time:coordinates = "Mesh2_node_lon Mesh2_node_lat" ;
Mesh2_node_hw_time:_FillValue = fillvalue ;
Mesh2_node_hw_time:valid_range = valid minimum, valid maximum ;
Mesh2_node_hw_time:grid_mapping = "crs" ;

Polygone

double Mesh2_poly_hw_time(time_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" ;
Mesh2_poly_hw_time:coordinates = "Mesh2_poly_lon Mesh2_poly_lat" ;
Mesh2_poly_hw_time:_FillValue = fillvalue ;
Mesh2_poly_hw_time:valid_range = valid minimum, valid maximum ;
Mesh2_poly_hw_time:grid_mapping = "crs" ;

Maximalwert

Knoten

double Mesh2_node_hw_max_time(time_ana,nMesh2_node) ;
Mesh2_node_hw_max_time:standard_name = "??? oder time" ; \\ yet to be determined
Mesh2_node_hw_max_time:long_name = "time of maximum tidal high water for 2D mesh nodes" ;
weitere Attribute analog zu "Mesh2_node_hw_time" ;

Polygone

double Mesh2_poly_hw_max_time(time_hw,nMesh2_poly) ;
Mesh2_poly_hw_max_time:standard_name = "time" ;
Mesh2_poly_hw_max_time:long_name = "time of maximum tidal high water for 2D mesh polygons" ;
weitere Attribute analog zu "Mesh2_poly_hw_time" ;

Minimalwert

Knoten

double Mesh2_node_hw_min_time(time_ana,nMesh2_node) ;
Mesh2_node_hw_min_time:standard_name = "??? oder time" ; \\ yet to be determined
Mesh2_node_hw_min_time:long_name = "time of minimum tidal high water for 2D mesh nodes" ;
weitere Attribute analog zu "Mesh2_node_hw_time" ;

Polygone

double Mesh2_poly_hw_min_time(time_hw,nMesh2_poly) ;
Mesh2_poly_hw_time:standard_name = "time" ;
Mesh2_poly_hw_time:long_name = "time of minimum tidal high water for 2D mesh polygons" ;
weitere Attribute analog zu "Mesh2_poly_hw_time" ;

Mittelwert

Eintrittszeit des Tideniedrigwassers

In dieser Variablen die tatsächlichen Eintrittszeiten abgelegt, und nicht die Eintrittszeitdifferenzen in Bezug auf eine Referenzposition.

Knoten

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

Knoten

double Mesh2_poly_lw_time(time_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 Thw

double Mesh2_poly_wet_area_hw(time_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(time_lw,nMesh2_poly) ;
weitere 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(time_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 Tnw

integer Mesh2_subpoly_mask_lw(time_lw,nMesh2_subpoly) ;
weitere Attribute analog zu "Mesh2_subpoly_mask_hw" ;

Tidehochwasser

Definition siehe Tidekennwerte des Wasserstandes, Tidehochwasser (Thw).

Alle Ereignisse

  • Für jedes Ereignis an der Referenzposition Tide wird ein Thw-Wert erzeugt;
  • Jedes Ereignis wird (zeitlich) dem Ereignis an der Referenzposition Tide zugeordnet;
  • Identische Berechnung für die Gitter Classic und SubGrid;
  • Die tatsächlichen Eintrittszeiten sind über ancillary_variables zu erreichen.

Knoten

double Mesh2_node_hw(time_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_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:ancillary_variables = "Mesh2_node_hw_time" ;
Mesh2_node_hw:grid_mapping = "crs" ;

Polygone

double Mesh2_poly_hw(time_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_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:ancillary_variables = "Mesh2_poly_hw_time" ;
Mesh2_poly_hw:grid_mapping = "crs" ;

Maximalwert

  • Für den Analysezeitraum wird das maximale Thw abgelegt;
  • Dieser Wert wird (zeitlich) dem Analysezeitraums zugeordnet (beachte bounds in "time_ana");
  • Identische Berechnung für die Gitter Classic und SubGrid;
  • Die tatsächlichen Eintrittszeiten sind über ancillary_variables zu erreichen.

Knoten

double Mesh2_node_hw_max(time_ana,nMesh2_node) ;
Mesh2_node_hw_max:standard_name = "???" ; \\ yet to be determined for high water
Mesh2_node_hw_max:long_name = "tidal high water level for 2D mesh nodes, maximum within period of data analysis" ;
Mesh2_node_hw_max:units = "m" ;
Mesh2_node_hw_max:coordinates = "Mesh2_node_lon Mesh2_node_lat" ;
Mesh2_node_hw_max:_FillValue = fillvalue ;
Mesh2_node_hw_max:valid_range = valid minimum, valid maximum ;
Mesh2_node_hw_max:cell_methods = "time_ana: maximum nMesh2_node: point" ;
Mesh2_node_hw_max:ancillary_variables = "????????????" ;
Mesh2_node_hw_max:grid_mapping = "crs" ;

Polygone

double Mesh2_poly_hw_max(nMesh2_poly) ;
Mesh2_poly_hw_max:standard_name = "???" ; \\ yet to be determined for high water
Mesh2_poly_hw_max:long_name = "tidal high water level for 2D mesh polygons, maximum within period of data analysis" ;
Mesh2_poly_hw_max:units = "m" ;
Mesh2_poly_hw_max:coordinates = "Mesh2_poly_lon Mesh2_poly_lat" ;
Mesh2_poly_hw_max:_FillValue = fillvalue ;
Mesh2_poly_hw_max:valid_range = valid minimum, valid maximum ;
Mesh2_poly_hw_max:cell_methods = "???????: maximum nMesh2_poly: mean" ;
Mesh2_poly_hw_max:cell_measures = "nMesh2_poly: Mesh2_poly_wet_area_hw_max" ;
Mesh2_poly_hw_max:subgrid_mask = "Mesh2_subpoly_mask_hw_max" ;
Mesh2_poly_hw_max:grid_mapping = "crs" ;

Minimalwert

Mittelwert

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 = "nMesh2_poly: 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