Aktionen

NetCDF Tidekennwerte des Wasserstandes: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
imported>Lang Guenther
Zeile 280: Zeile 280:


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


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

Version vom 16. September 2010, 09:14 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_ana,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_ana,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

Für den Mittelwert werden keine weiteren Zeitangaben benötigt.

Eintrittszeit des Tideniedrigwassers

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

Alle Ereignisse

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" ;

Maximalwert

Knoten

double Mesh2_node_lw_max_time(time_ana,nMesh2_node) ;
weitere Attribute analog zu "Mesh2_node_hw_max_time" ;

Knoten

double Mesh2_poly_lw_max_time(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_hw_max_time" ;

Minimalwert

Knoten

double Mesh2_node_lw_min_time(time_ana,nMesh2_node) ;
weitere Attribute analog zu "Mesh2_node_hw_min_time" ;

Knoten

double Mesh2_poly_lw_min_time(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_hw_min_time" ;

Mittelwert

Für den Mittelwert werden keine weiteren Zeitangaben benötigt.

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

Alle Ereignisse

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.

Maximalwert

double Mesh2_poly_wet_area_hw_max(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_wet_area_hw" ;

Minimalwert

double Mesh2_poly_wet_area_hw_min(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_wet_area_hw" ;

Mittelwert

Wasserbedeckte Polygonfläche bei Tnw

Alle Ereignisse

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

Maximalwert

double Mesh2_poly_wet_area_lw_max(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_wet_area_hw_max".

Minimalwert

double Mesh2_poly_wet_area_lw_min(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_wet_area_hw_min".

Mittelwert

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

Alle Ereignisse

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"

Maximalwert

integer Mesh2_subpoly_mask_hw_max(time_ana,nMesh2_subpoly) ;
weitere Attribute analog zu "Mesh2_subpoly_mask_hw" ;

Minimalwert

integer Mesh2_subpoly_mask_hw_min(time_ana,nMesh2_subpoly) ;
weitere Attribute analog zu "Mesh2_subpoly_mask_hw" ;

Mittelwert

Subpolygonmaske bei Tnw

Alle Ereignisse

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

Maximalwert

integer Mesh2_subpoly_mask_lw_max(time_ana,nMesh2_subpoly) ;
weitere Attribute analog zu "Mesh2_subpoly_mask_hw_max" ;

Minimalwert

integer Mesh2_subpoly_mask_lw_min(time_ana,nMesh2_subpoly) ;
weitere Attribute analog zu "Mesh2_subpoly_mask_hw_min" ;

Mittelwert

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 = "time_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 = "time_hw: 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 Analysezeitraum 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_time" ;
Mesh2_node_hw_max:grid_mapping = "crs" ;

Polygone

double Mesh2_poly_hw_max(time_ana,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 = "time_ana: 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:ancillary_variables = "Mesh2_poly_hw_max_time" ;
Mesh2_poly_hw_max:grid_mapping = "crs" ;

Minimalwert

  • Für den Analysezeitraum wird das minimale Thw abgelegt;
  • Dieser Wert wird (zeitlich) dem Analysezeitraum 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_min(time_ana,nMesh2_node) ;
weitere Attribute analog zu "Mesh2_node_hw_max" ;

Polygone

double Mesh2_poly_hw_min(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_hw_max" ;

Mittelwert

  • Für den Analysezeitraum wird das mittlere Thw abgelegt;
  • Dieser Wert wird (zeitlich) dem Analysezeitraum zugeordnet (beachte bounds in "time_ana");
  • Identische Berechnung für die Gitter Classic und SubGrid;

Knoten

double Mesh2_node_hw_mit(time_ana,nMesh2_node) ;
weitere Attribute analog zu "Mesh2_node_hw_max" ;

Polygone

double Mesh2_poly_hw_mit(time_ana,nMesh2_poly) ;
weitere Attribute analog zu "Mesh2_poly_hw_max" ;

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