Difference between revisions of "Variables"

From WikiROMS
Jump to navigationJump to search
Line 17: Line 17:
;<span id="Hz"></span>'''Hz'''  
;<span id="Hz"></span>'''Hz'''  
:Vertical level thicknesses, <math>\,H_z\,(\xi,\eta,s)</math>.
:Vertical level thicknesses, <math>\,H_z\,(\xi,\eta,s)</math>.
:'''dimension =''' '''Hz'''(LBi:UBi,LBj:UBj,N(ng))
:'''dimension =''' '''Hz'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|N(ng)]])
:'''pointer =''' GRID(ng)%'''Hz'''
:'''pointer =''' [[mod_grid.F|GRID(ng)%]]'''Hz'''
:'''tangent =''' <span class="red">tl_Hz</span>
:'''tangent =''' <span class="red">tl_Hz</span>
:'''adjoint =''' <span class="purple">ad_Hz</span>
:'''adjoint =''' <span class="purple">ad_Hz</span>
Line 33: Line 33:


==<span class="alphabet">L</span>==
==<span class="alphabet">L</span>==
;<span id="LBi"></span>'''LBi'''
:Array lower bound dimension in the '''i'''-direction.
;<span id="LBj"></span>'''LBj'''
:Array lower bound dimension in the '''j'''-direction.


==<span class="alphabet">M</span>==
==<span class="alphabet">M</span>==


==<span class="alphabet">N</span>==
==<span class="alphabet">N</span>==
;<span id="N"></span>'''N'''
Number of vertical levels for each nested grid.
:'''dimension =''' '''N([[#Ngrids|Ngrids]])
:'''routine =''' [[mod_param.F]]
;<span id="Ngrids"></span>'''Ngrids'''
:Number of nested and/or connected grids to solve.
:'''routine =''' [[mod_param.F]]
;<span id="NAT"></span>'''NAT'''
Number of active tracer-type variables. Usually, it has a value of two for potential temperature and salinty.
:'''routine =''' [[mod_param.F]]
;<span id="NBT"></span>'''NBT'''
Number of biological tracer-type variables.
:'''CPP =''' [[BIOLOGY]]
:'''routine =''' [[mod_param.F]]
;<span id="NCT"></span>'''NCS'''
Number of cohesive (mud) sediment tracer-type variables.
:'''CPP =''' [[SEDIMENT]]
:'''routine =''' [[mod_param.F]]
;<span id="NNS"></span>'''NNS'''
Number of non-cohesive (sand) sediment tracer-type variables.
:'''CPP =''' [[SEDIMENT]]
:'''routine =''' [[mod_param.F]]
;<span id="NST"></span>'''NST'''
Number of sediment tracer-type variables, NST=[[#NCS|NCS]]+[[#NCS|NNS]].
:'''CPP =''' [[SEDIMENT]]
:'''routine =''' [[mod_param.F]]
;<span id="NT"></span>'''NT'''
Total number of tracer-type variables for each nested grid. Currently, NT=[[#NAT|NAT]]+[[#NPT|NPT]]+[[#NST|NST]]+[[#NBT|NBT]].
:'''dimension =''' '''NT([[#Ngrids|Ngrids]])
:'''routine =''' [[mod_param.F]]


==<span class="alphabet">O</span>==
==<span class="alphabet">O</span>==
Line 49: Line 95:
:''In situ'' density anomaly computed as a function of potential temperature, salinity, and depth.  
:''In situ'' density anomaly computed as a function of potential temperature, salinity, and depth.  
::<math>\,\sigma(\xi,\eta,s) = \rho(\xi,\eta,s) - 1000</math>.
::<math>\,\sigma(\xi,\eta,s) = \rho(\xi,\eta,s) - 1000</math>.
:'''dimension =''' '''rho'''(LBi:UBi,LBj:UBj,N)
:'''dimension =''' '''rho'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|N(ng)]])
:'''pointer =''' OCEAN(ng)%'''rho'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''rho'''
:'''tangent =''' <span class="red">tl_rho</span>
:'''tangent =''' <span class="red">tl_rho</span>
:'''adjoint =''' <span class="purple">ad_rho</span>
:'''adjoint =''' <span class="purple">ad_rho</span>
Line 65: Line 111:
;<span id="t"></span>'''t'''  
;<span id="t"></span>'''t'''  
:Tracer-type variables, <math>\,T(\xi,\eta,s,t,itrc)</math>.
:Tracer-type variables, <math>\,T(\xi,\eta,s,t,itrc)</math>.
:'''dimension =''' '''t'''(LBi:UBi,LBj:UBj,N,3,NT)
:'''dimension =''' '''t'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|N(ng)]],3,[[#NT|NT(ng)]])
:'''pointer =''' OCEAN(ng)%'''t'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''t'''
:'''tangent =''' <span class="red">tl_t</span>
:'''tangent =''' <span class="red">tl_t</span>
:'''adjoint =''' <span class="purple">ad_t</span>
:'''adjoint =''' <span class="purple">ad_t</span>
Line 81: Line 127:
! CPP
! CPP
|-
|-
| '''itemp'''
| [[itemp|itemp]]
| Potential temperature
| Potential temperature
| Celsius
| Celsius
| [[SOLVE3D]]
| [[SOLVE3D]]
|-
|-
| '''isalt'''
| [[#isalt|isalt]]
| Salinity
| Salinity
| None
| None
| [[SALINITY]]
| [[SALINITY]]
|-
|-
| '''inert'''(1:NPT)
| [[#inert|inert(1:NPT)]]
| NPT inert tracers
| [[#NPT|NPT]] inert tracers
| kilogram meter<sup>-3</sup>
| kilogram meter<sup>-3</sup>
| [[T_PASSIVE]]
| [[T_PASSIVE]]
|-
|-
| '''idsed'''(1:NST)
| [[#idsed|idsed(1:NST)]]
| NST sediment tracers
| [[#NST|NST]] sediment tracers
| kilogram meter<sup>-3</sup>
| kilogram meter<sup>-3</sup>
| [[SEDIMENT]]
| [[SEDIMENT]]
|-
|-
| '''idbio'''(1:NBT)
| [[idbio|idbio(1:NBT)]]
| NBT biology tracers
| [[#NBT|NBT]] biology tracers
| millimole meter<sup>-3</sup>
| millimole meter<sup>-3</sup>
| [[BIOLOGY]]
| [[BIOLOGY]]
Line 109: Line 155:


==<span class="alphabet">U</span>==
==<span class="alphabet">U</span>==
;<span id="UBi"></span>'''UBi'''
:Array upper bound dimension in the '''i'''-direction.
;<span id="UBj"></span>'''UBj'''
:Array upper bound dimension in the '''j'''-direction.


;<span id="u"></span>'''u'''  
;<span id="u"></span>'''u'''  
:Total momentum component in the &xi;-direction, <math>\,u(\xi,\eta,s,t)</math>.
:Total momentum component in the &xi;-direction, <math>\,u(\xi,\eta,s,t)</math>.
:'''dimension =''' '''u'''(LBi:UBi,LBj:UBj,N,2)
:'''dimension =''' '''u'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|N(ng)]],2)
:'''pointer =''' OCEAN(ng)%'''u'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''u'''
:'''tangent =''' <span class="red">tl_u</span>
:'''tangent =''' <span class="red">tl_u</span>
:'''adjoint =''' <span class="purple">ad_u</span>
:'''adjoint =''' <span class="purple">ad_u</span>
Line 124: Line 176:
:Vertically-integrated momentum component in the &xi;-direction, <math>\bar u(\xi,\eta,t)</math>.
:Vertically-integrated momentum component in the &xi;-direction, <math>\bar u(\xi,\eta,t)</math>.
::<math>\bar u = \frac{1}{D} \int_{-h}^{\zeta} u\,H_z\,dz</math>
::<math>\bar u = \frac{1}{D} \int_{-h}^{\zeta} u\,H_z\,dz</math>
:'''dimension =''' '''ubar'''(LBi:UBi,LBj:UBj,3)
:'''dimension =''' '''ubar'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],3)
:'''pointer =''' OCEAN(ng)%'''ubar'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''ubar'''
:'''tangent =''' <span class="red">tl_ubar</span>
:'''tangent =''' <span class="red">tl_ubar</span>
:'''adjoint =''' <span class="purple">ad_ubar</span>
:'''adjoint =''' <span class="purple">ad_ubar</span>
Line 136: Line 188:
;<span id="v"></span>'''v'''  
;<span id="v"></span>'''v'''  
:3D momentum component in the &eta;-direction, <math>\,v(\xi,\eta,s,t)</math>.
:3D momentum component in the &eta;-direction, <math>\,v(\xi,\eta,s,t)</math>.
:'''dimension =''' '''v'''(LBi:UBi,LBj:UBj,N,2)
:'''dimension =''' '''v'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|N(ng)]],2)
:'''pointer =''' OCEAN(ng)%'''v'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''v'''
:'''tangent =''' <span class="red">tl_u</span>
:'''tangent =''' <span class="red">tl_u</span>
:'''adjoint =''' <span class="purple">ad_u</span>
:'''adjoint =''' <span class="purple">ad_u</span>
Line 148: Line 200:
:Vertically-integrated momentum component in the &eta;-direction, <math>\bar v(\xi,\eta,t)</math>.
:Vertically-integrated momentum component in the &eta;-direction, <math>\bar v(\xi,\eta,t)</math>.
::<math>\bar v = \frac{1}{D} \int_{-h}^{\zeta} v\,H_z\,dz</math>
::<math>\bar v = \frac{1}{D} \int_{-h}^{\zeta} v\,H_z\,dz</math>
:'''dimension =''' '''vbar'''(LBi:UBi,LBj:UBj,3)
:'''dimension =''' '''vbar'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],3)
:'''pointer =''' OCEAN(ng)%'''vbar'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''vbar'''
:'''tangent =''' <span class="red">tl_vbar</span>
:'''tangent =''' <span class="red">tl_vbar</span>
:'''adjoint =''' <span class="purple">ad_vbar</span>
:'''adjoint =''' <span class="purple">ad_vbar</span>
Line 160: Line 212:
;<span id="W"></span>'''W'''  
;<span id="W"></span>'''W'''  
:Terrain-following, vertical velocity component, <math>\,\Omega(\xi,\eta,s)\,Hz/mn</math>.
:Terrain-following, vertical velocity component, <math>\,\Omega(\xi,\eta,s)\,Hz/mn</math>.
:'''dimension =''' '''W'''(LBi:UBi,LBj:UBj,0:N)
:'''dimension =''' '''W'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|0:N(ng)]])
:'''pointer =''' OCEAN(ng)%'''W'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''W'''
:'''tangent =''' <span class="red">tl_W</span>
:'''tangent =''' <span class="red">tl_W</span>
:'''adjoint =''' <span class="purple">ad_W</span>
:'''adjoint =''' <span class="purple">ad_W</span>
Line 172: Line 224:
;<span id="wvel"></span>'''wvel'''  
;<span id="wvel"></span>'''wvel'''  
:True vertical velocity component, <math>\,w(\xi,\eta,s)</math>. It is computed only for output purposes.
:True vertical velocity component, <math>\,w(\xi,\eta,s)</math>. It is computed only for output purposes.
:'''dimension =''' '''wvel'''(LBi:UBi,LBj:UBj,0:N)
:'''dimension =''' '''wvel'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|0:N(ng)]])
:'''pointer =''' OCEAN(ng)%'''wvel'''
:'''pointer =''' [[mod_ocean.f|OCEAN(ng)%]]'''wvel'''
:'''units =''' meter second<sup>-1</sup>
:'''units =''' meter second<sup>-1</sup>
:'''sign = ''' positive downwards (downwelling), negative upwards (upwelling
:'''sign = ''' positive downwards (downwelling), negative upwards (upwelling
Line 188: Line 240:
;<span id="zeta"></span>'''zeta'''  
;<span id="zeta"></span>'''zeta'''  
:Free-surface, <math>\,\zeta(\xi,\eta,t)</math>.
:Free-surface, <math>\,\zeta(\xi,\eta,t)</math>.
:'''dimension =''' '''zeta'''(LBi:UBi,LBj:UBj,3)
:'''dimension =''' '''zeta'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],3)
:'''pointer =''' OCEAN(ng)%'''zeta'''
:'''pointer =''' [[mod_ocean.F|OCEAN(ng)%]]'''zeta'''
:'''tangent =''' <span class="red">tl_zeta</span>
:'''tangent =''' <span class="red">tl_zeta</span>
:'''adjoint =''' <span class="purple">ad_zeta</span>
:'''adjoint =''' <span class="purple">ad_zeta</span>
Line 198: Line 250:
;<span id="z_r"></span>'''z_r'''  
;<span id="z_r"></span>'''z_r'''  
:Actual depths of variables at &rho;-points, <math>\,Z_r(\xi,\eta,s)</math>.
:Actual depths of variables at &rho;-points, <math>\,Z_r(\xi,\eta,s)</math>.
:'''dimension =''' '''z_r'''(LBi:UBi,LBj:UBj,N)
:'''dimension =''' '''z_r'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|N(ng)]])
:'''pointer =''' GRID(ng)%'''z_r'''
:'''pointer =''' [[mod_grid.f|GRID(ng)%]]'''z_r'''
:'''units =''' meter
:'''units =''' meter
:'''sign =''' negative downwards
:'''sign =''' negative downwards
Line 208: Line 260:
;<span id="z_w"></span>'''z_w'''  
;<span id="z_w"></span>'''z_w'''  
:Actual depths of variables at w-points, <math>\,Z_w(\xi,\eta,s)</math>.
:Actual depths of variables at w-points, <math>\,Z_w(\xi,\eta,s)</math>.
:'''dimension =''' '''z_w'''(LBi:UBi,LBj:UBj,0:N)
:'''dimension =''' '''z_w'''([[#LBi|LBi]]:[[#UBi|UBi]],[[#LBj|LBj]]:[[#UBj|UBj]],[[#N|0:N(ng)]])
:'''pointer =''' GRID(ng)%'''z_w'''
:'''pointer =''' [[mod_grid.F|GRID(ng)%]]'''z_w'''
:'''units =''' meter
:'''units =''' meter
:'''sign =''' negative downwards
:'''sign =''' negative downwards

Revision as of 03:42, 16 November 2006

A

B

C

D

E

F

G

H

Hz
Vertical level thicknesses, .
dimension = Hz(LBi:UBi,LBj:UBj,N(ng))
pointer = GRID(ng)%Hz
tangent = tl_Hz
adjoint = ad_Hz
units = meter
grid = ρ-points
CPP = SOLVE3D
routine = set_depths.F

I

J

K

L

LBi
Array lower bound dimension in the i-direction.
LBj
Array lower bound dimension in the j-direction.


M

N

N

Number of vertical levels for each nested grid.

dimension = N(Ngrids)
routine = mod_param.F
Ngrids
Number of nested and/or connected grids to solve.
routine = mod_param.F
NAT

Number of active tracer-type variables. Usually, it has a value of two for potential temperature and salinty.

routine = mod_param.F
NBT

Number of biological tracer-type variables.

CPP = BIOLOGY
routine = mod_param.F
NCS

Number of cohesive (mud) sediment tracer-type variables.

CPP = SEDIMENT
routine = mod_param.F
NNS

Number of non-cohesive (sand) sediment tracer-type variables.

CPP = SEDIMENT
routine = mod_param.F
NST

Number of sediment tracer-type variables, NST=NCS+NNS.

CPP = SEDIMENT
routine = mod_param.F
NT

Total number of tracer-type variables for each nested grid. Currently, NT=NAT+NPT+NST+NBT.

dimension = NT(Ngrids)
routine = mod_param.F


O

P

Q

R

rho
In situ density anomaly computed as a function of potential temperature, salinity, and depth.
.
dimension = rho(LBi:UBi,LBj:UBj,N(ng))
pointer = OCEAN(ng)%rho
tangent = tl_rho
adjoint = ad_rho
units = kilogram meter-3
grid = ρ-points
CPP = SOLVE3D, NONLIN_EOS
routine = rho_eos.F
It can computed using a linear or nonlinear equation of state. The nonlinear equation of state is based on Jackett and McDougall (1992) polynomial expressions.

S

T

t
Tracer-type variables, .
dimension = t(LBi:UBi,LBj:UBj,N(ng),3,NT(ng))
pointer = OCEAN(ng)%t
tangent = tl_t
adjoint = ad_t
grid = ρ-points
CPP = SOLVE3D
routine = step3d_t.F
This array contains all the tracer fields. They are classified as active (potential temperature, salinity), inert (dyes, pollutants, oil spills, etc), passive (sediment, biology). There is a index identifier for each tracer field (see table below). Notice that salinity does not have physical units. Usually PSU is used to indicate that the practical salinity scale was used to determine conductivity.
Index Field Units CPP
itemp Potential temperature Celsius SOLVE3D
isalt Salinity None SALINITY
inert(1:NPT) NPT inert tracers kilogram meter-3 T_PASSIVE
idsed(1:NST) NST sediment tracers kilogram meter-3 SEDIMENT
idbio(1:NBT) NBT biology tracers millimole meter-3 BIOLOGY

U

UBi
Array upper bound dimension in the i-direction.
UBj
Array upper bound dimension in the j-direction.
u
Total momentum component in the ξ-direction, .
dimension = u(LBi:UBi,LBj:UBj,N(ng),2)
pointer = OCEAN(ng)%u
tangent = tl_u
adjoint = ad_u
units = meter second-1
grid = u-points
CPP = SOLVE3D
routine = step3d_uv.F
ubar
Vertically-integrated momentum component in the ξ-direction, .
dimension = ubar(LBi:UBi,LBj:UBj,3)
pointer = OCEAN(ng)%ubar
tangent = tl_ubar
adjoint = ad_ubar
units = meter second-1
grid = u-points
routine = step2d.F

V

v
3D momentum component in the η-direction, .
dimension = v(LBi:UBi,LBj:UBj,N(ng),2)
pointer = OCEAN(ng)%v
tangent = tl_u
adjoint = ad_u
units = meter second-1
grid = v-points
CPP = SOLVE3D
routine = step3d_uv.F
vbar
Vertically-integrated momentum component in the η-direction, .
dimension = vbar(LBi:UBi,LBj:UBj,3)
pointer = OCEAN(ng)%vbar
tangent = tl_vbar
adjoint = ad_vbar
units = meter second-1
grid = v-points
routine = step2d.F

W

W
Terrain-following, vertical velocity component, .
dimension = W(LBi:UBi,LBj:UBj,0:N(ng))
pointer = OCEAN(ng)%W
tangent = tl_W
adjoint = ad_W
units = meter3 second-1
sign = positive downwards (downwelling), negative upwards (upwelling)
grid = w-points
CPP = SOLVE3D
routine = omega.F
wvel
True vertical velocity component, . It is computed only for output purposes.
dimension = wvel(LBi:UBi,LBj:UBj,0:N(ng))
pointer = OCEAN(ng)%wvel
units = meter second-1
sign = positive downwards (downwelling), negative upwards (upwelling
grid = w-points
CPP = SOLVE3D
routine = wvelocity.F

X

Y

Z

zeta
Free-surface, .
dimension = zeta(LBi:UBi,LBj:UBj,3)
pointer = OCEAN(ng)%zeta
tangent = tl_zeta
adjoint = ad_zeta
units = meter
grid = ρ-points
routine = step2d.F
z_r
Actual depths of variables at ρ-points, .
dimension = z_r(LBi:UBi,LBj:UBj,N(ng))
pointer = GRID(ng)%z_r
units = meter
sign = negative downwards
grid = ρ-points
CPP = SOLVE3D
routine = set_depths.F
z_w
Actual depths of variables at w-points, .
dimension = z_w(LBi:UBi,LBj:UBj,0:N(ng))
pointer = GRID(ng)%z_w
units = meter
sign = negative downwards
grid = w-points
CPP = SOLVE3D
routine = set_depths.F