/[MITgcm]/MITgcm/verification/tutorial_global_oce_optim/code_oad/FFIELDS.h
ViewVC logotype

Contents of /MITgcm/verification/tutorial_global_oce_optim/code_oad/FFIELDS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Wed Oct 4 20:32:13 2017 UTC (6 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, HEAD
Changes since 1.1: +54 -14 lines
File MIME type: text/plain
update this modified version up to the latest standard version (in model/inc)

1 C $Header: /u/gcmpack/MITgcm/model/inc/FFIELDS.h,v 1.47 2015/01/20 20:43:29 jmc Exp $
2 C $Name: $
3 CBOP
4 C !ROUTINE: FFIELDS.h
5 C !INTERFACE:
6 C include "FFIELDS.h"
7 C !DESCRIPTION:
8 C \bv
9 C *==========================================================*
10 C | FFIELDS.h
11 C | o Model forcing fields
12 C *==========================================================*
13 C | More flexible surface forcing configurations are
14 C | available via pkg/exf and pkg/seaice
15 C *==========================================================*
16 C \ev
17 CEOP
18 C
19 C fu :: Zonal surface wind stress in N/m^2
20 C > 0 for increase in uVel, which is west to
21 C east for cartesian and spherical polar grids
22 C Typical range: -0.5 < fu < 0.5
23 C Southwest C-grid U point
24 C
25 C fv :: Meridional surface wind stress in N/m^2
26 C > 0 for increase in vVel, which is south to
27 C north for cartesian and spherical polar grids
28 C Typical range: -0.5 < fv < 0.5
29 C Southwest C-grid V point
30 C
31 C EmPmR :: Net upward freshwater flux in kg/m2/s
32 C EmPmR = Evaporation - precipitation - runoff
33 C > 0 for increase in salt (ocean salinity)
34 C Typical range: -1e-4 < EmPmR < 1e-4
35 C Southwest C-grid tracer point
36 C NOTE: for backward compatibility EmPmRfile is specified in
37 C m/s when using external_fields_load.F. It is converted
38 C to kg/m2/s by multiplying by rhoConstFresh.
39 C
40 C saltFlux :: Net upward salt flux in psu.kg/m^2/s
41 C flux of Salt taken out of the ocean per time unit (second).
42 C Note: a) only used when salty sea-ice forms or melts.
43 C b) units: when salinity (unit= psu) is expressed
44 C in g/kg, saltFlux unit becomes g/m^2/s.
45 C > 0 for decrease in SSS.
46 C Southwest C-grid tracer point
47 C
48 C Qnet :: Net upward surface heat flux (including shortwave) in W/m^2
49 C Qnet = latent + sensible + net longwave + net shortwave
50 C > 0 for decrease in theta (ocean cooling)
51 C Typical range: -250 < Qnet < 600
52 C Southwest C-grid tracer point
53 C
54 C Qsw :: Net upward shortwave radiation in W/m^2
55 C Qsw = - ( downward - ice and snow absorption - reflected )
56 C > 0 for decrease in theta (ocean cooling)
57 C Typical range: -350 < Qsw < 0
58 C Southwest C-grid tracer point
59 C
60 C SST :: Sea surface temperature in degrees C for relaxation
61 C Southwest C-grid tracer point
62 C
63 C SSS :: Sea surface salinity in psu for relaxation
64 C Southwest C-grid tracer point
65 C
66 C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ).
67 C
68 C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ).
69
70 C phiTide2d :: vertically uniform (2d-map), time-dependent geopotential
71 C anomaly (e.g., tidal forcing); Units are m^2/s^2
72 C pLoad :: for the ocean: atmospheric pressure at z=eta
73 C Units are Pa=N/m^2
74 C for the atmosphere: geopotential of the orography
75 C Units are meters (converted)
76 C sIceLoad :: sea-ice loading, expressed in Mass of ice+snow / area unit
77 C Units are kg/m^2
78 C Note: only used with Sea-Ice & RealFreshWater formulation
79 C addMass :: source (<0: sink) of fluid in the domain interior
80 C (generalisation of oceanic real fresh-water flux)
81 C Units are kg/s (mass per unit of time)
82 C frictionHeating :: heating caused by friction and momentum dissipation
83 C Units are in W/m^2 (thickness integrated)
84 C eddyPsiX -Zonal Eddy Streamfunction in m^2/s used in taueddy_external_forcing.F
85 C eddyPsiY -Meridional Streamfunction in m^2/s used in taueddy_external_forcing.F
86 C EfluxY - y-component of Eliassen-Palm flux vector
87 C EfluxP - p-component of Eliassen-Palm flux vector
88
89 COMMON /FFIELDS_fu/ fu
90 COMMON /FFIELDS_fv/ fv
91 COMMON /FFIELDS_Qnet/ Qnet
92 COMMON /FFIELDS_Qsw/ Qsw
93 COMMON /FFIELDS_EmPmR/ EmPmR
94 COMMON /FFIELDS_saltFlux/ saltFlux
95 COMMON /FFIELDS_SST/ SST
96 COMMON /FFIELDS_SSS/ SSS
97 COMMON /FFIELDS_lambdaThetaClimRelax/ lambdaThetaClimRelax
98 COMMON /FFIELDS_lambdaSaltClimRelax/ lambdaSaltClimRelax
99 COMMON /FFIELDS_phiTide/ phiTide2d
100 COMMON /FFIELDS_pLoad/ pLoad
101 COMMON /FFIELDS_sIceLoad/ sIceLoad
102
103 _RS fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104 _RS fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
105 _RS Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106 _RS Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
107 _RS EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
108 _RS saltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
109 _RS SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
110 _RS SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
111 _RS lambdaThetaClimRelax(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
112 _RS lambdaSaltClimRelax(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
113 _RS phiTide2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
114 _RS pLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
115 _RS sIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
116
117 #ifdef ALLOW_ADDFLUID
118 COMMON /FFIELDS_ADD_FLUID/ addMass
119 _RL addMass(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
120 #endif
121 #ifdef ALLOW_FRICTION_HEATING
122 COMMON /FFIELDS_frictionHeat/ frictionHeating
123 _RS frictionHeating(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
124 #endif
125 #ifdef ALLOW_GEOTHERMAL_FLUX
126 C geothermalFlux :: Upward geothermal flux through bottom cell [W/m^2]
127 C > 0 for increase in theta (ocean warming)
128 C Typical range: 0 < geothermalFlux < 1.5 W/m^2
129 C (global mean on the order 0.09 - 0.1 W/m^2)
130 COMMON /FFIELDS_geothermal/ geothermalFlux
131 _RS geothermalFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
132 #endif
133
134 #ifdef ALLOW_HFLUXM_CONTROL
135 COMMON /Mean_qnet/ Qnetm
136 _RS Qnetm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
137 #endif
138
139 C- jmc: commented out until corresponding (ghost-like) code apparition
140 C dQdT :: Thermal relaxation coefficient in W/m^2/degrees
141 C Southwest C-grid tracer point
142 c COMMON /FFIELDS_dQdT/ dQdT
143 c _RS dQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
144 c#ifdef ALLOW_EP_FLUX
145 c COMMON /FFIELDS_eflux/ EfluxY,EfluxP
146 c _RL EfluxY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
147 c _RL EfluxP (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
148 c#endif
149
150 #ifdef ALLOW_EDDYPSI
151 C uEulerMean :: The Eulerian mean Zonal velocity (residual less bolus velocity)
152 C vEulerMean :: The Eulerian mean Merid. velocity (residual less bolus velocity)
153 C tauxEddy :: The eddy stress used in the momentum equation of a residual model
154 C tauyEddy :: The eddy stress used in the momentum equation of a residual model
155
156 COMMON /FFIELDS_eddyPsi_RS/ eddyPsiX, eddyPsiY
157 _RS eddyPsiX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
158 _RS eddyPsiY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
159
160 COMMON /FFIELDS_eddyPsi_RL/
161 & tauxEddy, tauyEddy, uEulerMean, vEulerMean
162 _RL tauxEddy (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
163 _RL tauyEddy (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
164 _RL uEulerMean(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
165 _RL vEulerMean(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
166 #endif /* ALLOW_EDDYPSI */
167
168 #ifndef EXCLUDE_FFIELDS_LOAD
169 C loadedRec :: time-record currently loaded (in temp arrays *[1])
170 C taux[0,1] :: Temp. for zonal wind stress
171 C tauy[0,1] :: Temp. for merid. wind stress
172 C Qnet[0,1] :: Temp. for heat flux
173 C EmPmR[0,1] :: Temp. for fresh water flux
174 C saltFlux[0,1] :: Temp. for isurface salt flux
175 C SST[0,1] :: Temp. for theta climatalogy
176 C SSS[0,1] :: Temp. for theta climatalogy
177 C Qsw[0,1] :: Temp. for short wave component of heat flux
178 C pLoad[0,1] :: Temp. for atmospheric pressure at z=eta
179 C [0,1] :: End points for interpolation
180
181 COMMON /FFIELDS_I/ loadedRec
182 INTEGER loadedRec(nSx,nSy)
183
184 COMMON /TDFIELDS/
185 & taux0, tauy0, Qnet0, EmPmR0, SST0, SSS0,
186 & taux1, tauy1, Qnet1, EmPmR1, SST1, SSS1,
187 & saltFlux0, saltFlux1
188 #ifdef SHORTWAVE_HEATING
189 & , Qsw0, Qsw1
190 #endif
191 #ifdef ATMOSPHERIC_LOADING
192 & , pLoad0, pLoad1
193 #endif
194
195 _RS taux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
196 _RS tauy0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
197 _RS Qnet0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
198 _RS EmPmR0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
199 _RS saltFlux0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
200 _RS SST0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
201 _RS SSS0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
202 _RS taux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
203 _RS tauy1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
204 _RS Qnet1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
205 _RS EmPmR1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
206 _RS saltFlux1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
207 _RS SST1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
208 _RS SSS1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
209 #ifdef ATMOSPHERIC_LOADING
210 _RS pLoad0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
211 _RS pLoad1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
212 #endif
213 #ifdef SHORTWAVE_HEATING
214 _RS Qsw1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
215 _RS Qsw0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
216 #endif
217 #endif /* EXCLUDE_FFIELDS_LOAD */
218
219 C surfaceForcingU units are r_unit.m/s^2 (=m^2/s^2 if r=z)
220 C -> usage in gU: gU = gU + surfaceForcingU/drF [m/s^2]
221 C surfaceForcingV units are r_unit.m/s^2 (=m^2/s^-2 if r=z)
222 C -> usage in gU: gV = gV + surfaceForcingV/drF [m/s^2]
223 C
224 C surfaceForcingS units are r_unit.psu/s (=psu.m/s if r=z)
225 C - EmPmR * S_surf plus salinity relaxation*drF(1)
226 C -> usage in gS: gS = gS + surfaceForcingS/drF [psu/s]
227 C
228 C surfaceForcingT units are r_unit.Kelvin/s (=Kelvin.m/s if r=z)
229 C - Qnet (+Qsw) plus temp. relaxation*drF(1)
230 C -> calculate -lambda*(T(model)-T(clim))
231 C Qnet assumed to be net heat flux including ShortWave rad.
232 C -> usage in gT: gT = gT + surfaceforcingT/drF [K/s]
233 C surfaceForcingTice
234 C - equivalent Temperature flux in the top level that corresponds
235 C to the melting or freezing of sea-ice.
236 C Note that the surface level temperature is modified
237 C directly by the sea-ice model in order to maintain
238 C water temperature under sea-ice at the freezing
239 C point. But we need to keep track of the
240 C equivalent amount of heat that this surface-level
241 C temperature change implies because it is used by
242 C the KPP package (kpp_calc.F and kpp_transport_t.F).
243 C Units are r_unit.K/s (=Kelvin.m/s if r=z) (>0 for ocean warming).
244
245 COMMON /SURFACE_FORCING/
246 & surfaceForcingU,
247 & surfaceForcingV,
248 & surfaceForcingT,
249 & surfaceForcingS,
250 & surfaceForcingTice
251 _RL surfaceForcingU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
252 _RL surfaceForcingV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
253 _RL surfaceForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
254 _RL surfaceForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
255 _RL surfaceForcingTice(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
256
257 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22