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>).)
 
(18 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 3: Zeile 3:


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.


=Vertikalkoordinate ''Depth'' für z-Schichten=
=(Hilfs-) Vertikalkoordinate ''Depth_ZT'' 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.
 
===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.
 
===Schichtgrenzen===


:: double heightbnd(height,bnd) ;   
Es wird eine zeit- und ortsabhängige Hilfs-Koordinatenvariable, zusammen mit einer entsprechenden ''Boundaryvariablen'' verwendet.
 
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>
 
=Zeit- und ortsabhängige Vertikalkoordinate ''Depth_ZT'' für z-Schichten=
 
An Stelle einer echten Koordinatenvariable, wie oben mit z.B. ''Depth'' beschrieben, könnte auch eine zeit- und ortsabhängige Hilfs-Koordinatenvariable Verwendung finden.


==Dimensionen==
==Dimensionen==


: dimensions:     
: dimensions:     
:: time = ''numer of time steps'', siehe auch [[NetCDF Zeitkoordinate]] ;
:: time     = ''numer of time steps'', siehe auch [[NetCDF Zeitkoordinate]] ;
:: depth = ''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 ;
:: bnd     = 2 ''number of boundaries'';


==Variablen==   
==Variablen==   
Zeile 98: Zeile 21:
===Hilfs-Koordinatenvariable ''depth_zt''===
===Hilfs-Koordinatenvariable ''depth_zt''===


:: double depth_zt(depth) ;     
:: double depth_zt(time,nlayer,ndata) ;     
::: depth_zt:standard_name = "'''depth'''" ; \\ yet to be determined '''ocean_z_layer_depth_coordinate'''   
::: depth_zt:standard_name = "'''depth'''" ; \\ yet to be determined ???
::: depth_zt:long_name = "depth" ;     
::: depth_zt:long_name = "time and space dependent depth of data points" ;     
::: depth_zt:units = "m" ;
::: depth_zt:units = "m" ;
::: depth_zt:axis = "Z"
::: depth_zt:axis = "Z"
::: depth_zt:positive = "down"
::: depth_zt:positive = "down"
::: depth_zt:bounds = "depthbnd"
::: depth_zt:bounds = "depthbnd_zt"
::: depth_zt: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.


===Schichtgrenzen===
===Schichtgrenzen===


:: double depthbnd(depth,bnd) ;     
:: double depthbnd_zt(time,nlayer,ndata,bnd) ;     


Bemerkungen:
Bemerkungen:
* depthbnd(n,1) bezeichnet die (räumlich) ''obere'' Schichtgrenze der n-ten Schicht.
* 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(n,2) bezeichnet die (räumlich) ''untere'' Schichtgrenze der n-ten Schicht.
* 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=
=Anmerkungen, Fragen=


* Datei ist nicht vollständig CF-konform - ggf. Erweiterungen erforderlich!
Siehe unter ''Bemerkungen'' bei den einzelnen Definitionen oben.
* Kann das Attribut ''formula_terms'' für eine dimensionsbehaftete Variable mit verwendet werden?


----
----

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