Aktionen

NetCDF Vertikalkoordinate: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(Die LinkTitles-Erweiterung hat automatisch Links zu anderen Seiten hinzugefügt (<a target="_blank" rel="nofollow noreferrer noopener" class="external free" href="https://github.com/bovender/LinkTitles">https://github.com/bovender/LinkTitles</a>).)
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 4: Zeile 4:
Lage der Schichtgrenzen und Schichtmitten für z-Schichten. Es kann ein Höhen- oder ein Tiefenkoordinatensystem benutzt werden.
Lage der Schichtgrenzen und Schichtmitten für z-Schichten. Es kann ein Höhen- oder ein Tiefenkoordinatensystem benutzt werden.
# Entwurf für ein Tiefensystem, mit einer zeit- und ortsabhängigen Hilfs-Vertikalkoordinate.
# Entwurf für ein Tiefensystem, mit einer zeit- und ortsabhängigen Hilfs-Vertikalkoordinate.
# Jeweils ein Entwurf für ein Höhen- bzw. Tiefen-System mit Berechnungsvorschrift für die zeitvariablen z-Koordinaten mit Hilfe des Attributs ''formula_terms''.
 
=Zeit- und ortsabhängige Vertikalkoordinate ''Depth_ZT'' für z-Schichten=
=(Hilfs-) Vertikalkoordinate ''Depth_ZT'' für z-Schichten=


Es wird eine zeit- und ortsabhängige Hilfs-Koordinatenvariable, zusammen mit einer entsprechenden ''Boundaryvariablen'' verwendet.
Es wird eine zeit- und ortsabhängige Hilfs-Koordinatenvariable, zusammen mit einer entsprechenden ''Boundaryvariablen'' verwendet.
Zeile 14: Zeile 14:
:: time    = ''numer of time steps'', siehe auch [[NetCDF Zeitkoordinate]] ;
:: time    = ''numer of time steps'', siehe auch [[NetCDF Zeitkoordinate]] ;
:: nlayer  = ''number of layers'' ;
:: nlayer  = ''number of layers'' ;
:: ndata    = ''number of data locations'', könnte ''node'', ''edge'', ''poly'' ... sein ;   
:: ndata    = ''number of data locations'', könnte ''node'', ''edge'', ''[[POLY|poly]]'' ... sein ;   
:: bnd      = 2 ''number of boundaries'';
:: bnd      = 2 ''number of boundaries'';


Zeile 38: Zeile 38:
* Vorteil: Vollständig konform mit dem CF Metadatenstandard.
* Vorteil: Vollständig konform mit dem CF Metadatenstandard.
* Nachteil: Für jeden Termin müssen für alle Positionen und Schichten die Grenzen geschrieben werden. Daher sind sehr viele Daten redundant vorhanden.
* Nachteil: Für jeden Termin müssen für alle Positionen und Schichten die Grenzen geschrieben werden. Daher sind sehr viele Daten redundant vorhanden.
=Vertikalkoordinate ''Depth'' für z-Schichten=
==Dimensionen==
: dimensions:   
:: depth = ''number of layers'' ; 
:: bnd  = 2 ;
==Variablen== 
===Koordinatenvariable ''depth''===
:: double depth(depth) ;   
::: depth:standard_name = "'''depth'''" ; \\ yet to be determined '''ocean_z_layer_depth_coordinate'''   
::: depth:long_name = "depth" ;   
::: depth:units = "m" ;
::: depth:axis = "Z"
::: depth:positive = "down"
::: depth:bounds = "depthbnd"
::: depth:formula_terms = "d: depthbnd e: ''elevation'' b: ''bottom''"
Bemerkungen:
* ''elevation'' ist eine Variable, in welcher die (zeitvariable) Wasserspiegellage enthalten sein muss. ''standard_name'' = '''sea_surface_height_above_geoid''' gemäß [http://cf-pcmdi.llnl.gov/documents/cf-standard-names/standard-name-table/15/cf-standard-name-table.html ''CF standard name table'']. Nach Oben positiv.
* ''bottom'' ist eine Variable, in welcher die (zeitvariable) Lage der Gewässersohle enthalten sein muss. ''standard_name'' = '''sea_floor_depth_below_geoid''' gemäß [http://cf-pcmdi.llnl.gov/documents/cf-standard-names/standard-name-table/15/cf-standard-name-table.html ''CF standard name table'']. Nach Unten positiv.
* <font color=red>Es ist nicht ganz klar, ob das Attribut ''formula_terms'' für dimensionsbehaftete Vertikalkoordinaten zulässig ist.</font>
* <font color=red>Ein Standardname für diese Art der Koordinatentransformation steht bislang nicht zur Verfügung. Mit Deltares abstimmen.</font>
* Vorteil: Die Menge der zu schreibenden Daten ist gering.
* Nachteil: Ggf. muss ein neuer Standardname für diese spezielle Transformation definiert werden. Zusätzlich müssen ggf. ''Measure''-Variablen in der Datei vorhanden sein.
===Schichtgrenzen===
:: double depthbnd(depth,bnd) ;   
Bemerkungen:
* depthbnd(n,1) bezeichnet die (räumlich) ''obere'' Schichtgrenze der n-ten Schicht.
* depthbnd(n,2) bezeichnet die (räumlich) ''untere'' Schichtgrenze der n-ten Schicht.
===Berechnungsvorschrift===
* Falls eine Schicht vollständig wassergefüllt oder vollständig wasserfrei ist gilt:
*: <math>\texttt{depth}(k) = 0.5 \times \left( d(k,1) + d(k,2) \right)</math>
* Falls eine Schicht teilweise wassergefüllt ist gilt:
*: <math>\texttt{depth}(k) = 0.5 \times \left( \max\left[-e,d(k,1)\right] + \min\left[b,d(k,2)\right] \right)</math>
=Vertikalkoordinate ''Height'' für z-Schichten=
==Dimensionen==
: dimensions:   
:: height = ''number of layers'' ; 
:: bnd  = 2 ;
==Variablen== 
===Koordinatenvariable ''height''===
:: double height(height) ;   
::: height:standard_name = "'''height'''" ; \\ yet to be determined '''ocean_z_layer_height_coordinate'''   
::: height:long_name = "height" ;   
::: height:units = "m" ;
::: height:axis = "Z"
::: height:positive = "up"
::: height:bounds = "heightbnd"
::: height:formula_terms = "d: heightbnd e: ''elevation'' b: ''bottom''"
Bemerkungen:
* ''elevation'' ist eine Variable, in welcher die (zeitvariable) Wasserspiegellage enthalten sein muss. ''standard_name'' = '''sea_surface_height_above_geoid''' gemäß [http://cf-pcmdi.llnl.gov/documents/cf-standard-names/standard-name-table/15/cf-standard-name-table.html ''CF standard name table'']. Nach Oben positiv.
* ''bottom'' ist eine Variable, in welcher die (zeitvariable) Lage der Gewässersohle enthalten sein muss. ''standard_name'' = '''sea_floor_depth_below_geoid''' gemäß [http://cf-pcmdi.llnl.gov/documents/cf-standard-names/standard-name-table/15/cf-standard-name-table.html ''CF standard name table'']. Nach Unten positiv.
* <font color=red>Es ist nicht ganz klar, ob das Attribut ''formula_terms'' für dimensionsbehaftete Vertikalkoordinaten zulässig ist.</font>
* <font color=red>Ein Standardname für diese Art der Koordinatentransformation steht bislang nicht zur Verfügung. Mit Deltares abstimmen.</font>
* Vorteil: Die Menge der zu schreibenden Daten ist gering.
* Nachteil: Ggf. muss ein neuer Standardname für diese spezielle Transformation definiert werden. Zusätzlich müssen ggf. ''Measure''-Variablen in der Datei vorhanden sein.
===Schichtgrenzen===
:: double heightbnd(height,bnd) ;   
Bemerkungen:
* heightbnd(n,1) bezeichnet die (räumlich) ''untere'' Schichtgrenze der n-ten Schicht.
* heightbnd(n,2) bezeichnet die (räumlich) ''obere'' Schichtgrenze der n-ten Schicht.
===Berechnungsvorschrift===
* Falls eine Schicht vollständig wassergefüllt oder vollständig wasserfrei ist gilt:
*: <math>\texttt{height}(k) = 0.5 \times \left( d(k,1) + d(k,2) \right)</math>
* Falls eine Schicht teilweise wassergefüllt ist gilt:
*: <math>\texttt{height}(k) = 0.5 \times \left( \max\left[b,d(k,1)\right] + \min\left[-e,d(k,2)\right] \right)</math>


=Anmerkungen, Fragen=
=Anmerkungen, Fragen=

Aktuelle Version vom 21. Oktober 2022, 09:31 Uhr

Kurze Beschreibung

Lage der Schichtgrenzen und Schichtmitten für z-Schichten. Es kann ein Höhen- oder ein Tiefenkoordinatensystem benutzt werden.

  1. Entwurf für ein Tiefensystem, mit einer zeit- und ortsabhängigen Hilfs-Vertikalkoordinate.

(Hilfs-) Vertikalkoordinate Depth_ZT für z-Schichten

Es wird eine zeit- und ortsabhängige Hilfs-Koordinatenvariable, zusammen mit einer entsprechenden Boundaryvariablen verwendet.

Dimensionen

dimensions:
time = numer of time steps, siehe auch NetCDF Zeitkoordinate ;
nlayer = number of layers ;
ndata = number of data locations, könnte node, edge, poly ... sein ;
bnd = 2 number of boundaries;

Variablen

Hilfs-Koordinatenvariable depth_zt

double depth_zt(time,nlayer,ndata) ;
depth_zt:standard_name = "depth" ; \\ yet to be determined ???
depth_zt:long_name = "time and space dependent depth of data points" ;
depth_zt:units = "m" ;
depth_zt:axis = "Z"
depth_zt:positive = "down"
depth_zt:bounds = "depthbnd_zt"

Schichtgrenzen

double depthbnd_zt(time,nlayer,ndata,bnd) ;

Bemerkungen:

  • depthbnd_zt(i,k,n,1) bezeichnet die (räumlich) obere Schichtgrenze der k-ten Schicht für den i-ten Zeitpunkt an Position n.
  • depthbnd_zt(i,k,n,2) bezeichnet die (räumlich) untere Schichtgrenze der k-ten Schicht für den i-ten Zeitpunkt an Position n.
  • Vorteil: Vollständig konform mit dem CF Metadatenstandard.
  • Nachteil: Für jeden Termin müssen für alle Positionen und Schichten die Grenzen geschrieben werden. Daher sind sehr viele Daten redundant vorhanden.

Anmerkungen, Fragen

Siehe unter Bemerkungen bei den einzelnen Definitionen oben.


zurück zu NetCDF


Strukturübersicht