/[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.1 - (show annotations) (download)
Fri Jan 17 22:01:16 2014 UTC (10 years, 8 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65
File MIME type: text/plain
Prepare for OpenAD

1 C $Header: /u/gcmpack/MITgcm/verification/tutorial_global_oce_optim/code_ad/FFIELDS.h,v 1.4 2011/04/15 20:15:51 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 dQdT :: Thermal relaxation coefficient in W/m^2/degrees
61 C Southwest C-grid tracer point
62 C
63 C SST :: Sea surface temperature in degrees C for relaxation
64 C Southwest C-grid tracer point
65 C
66 C SSS :: Sea surface salinity in psu for relaxation
67 C Southwest C-grid tracer point
68 C
69 C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ).
70 C
71 C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ).
72
73 C pLoad :: for the ocean: atmospheric pressure at z=eta
74 C Units are Pa=N/m^2
75 C for the atmosphere: geopotential of the orography
76 C Units are meters (converted)
77 C sIceLoad :: sea-ice loading, expressed in Mass of ice+snow / area unit
78 C Units are kg/m^2
79 C Note: only used with Sea-Ice & RealFreshWater formulation
80 C eddyPsiX -Zonal Eddy Streamfunction in m^2/s used in taueddy_external_forcing.F
81 C eddyPsiY -Meridional Streamfunction in m^2/s used in taueddy_external_forcing.F
82 C EfluxY - y-component of Eliassen-Palm flux vector
83 C EfluxP - p-component of Eliassen-Palm flux vector
84
85 COMMON /FFIELDS_fu/ fu
86 COMMON /FFIELDS_fv/ fv
87 COMMON /FFIELDS_Qnet/ Qnet
88 COMMON /FFIELDS_Qsw/ Qsw
89 COMMON /FFIELDS_dQdT/ dQdT
90 COMMON /FFIELDS_EmPmR/ EmPmR
91 COMMON /FFIELDS_saltFlux/ saltFlux
92 COMMON /FFIELDS_SST/ SST
93 COMMON /FFIELDS_SSS/ SSS
94 COMMON /FFIELDS_lambdaThetaClimRelax/ lambdaThetaClimRelax
95 COMMON /FFIELDS_lambdaSaltClimRelax/ lambdaSaltClimRelax
96 COMMON /FFIELDS_pLoad/ pLoad
97 COMMON /FFIELDS_sIceLoad/ sIceLoad
98
99 _RS fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100 _RS fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101 _RS Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
102 _RS Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
103 _RS dQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104 _RS EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
105 _RS saltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106 _RS SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
107 _RS SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
108 _RS lambdaThetaClimRelax(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
109 _RS lambdaSaltClimRelax(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
110 _RS pLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
111 _RS sIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
112
113 #ifdef ALLOW_HFLUXM_CONTROL
114 COMMON /Mean_qnet/ Qnetm
115 _RS Qnetm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
116 #endif
117
118 #ifdef ALLOW_EP_FLUX
119 COMMON /efluxFFIELDS/ EfluxY,EfluxP
120 _RL EfluxY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
121 _RL EfluxP (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
122 #endif
123
124 #ifdef ALLOW_EDDYPSI
125 COMMON /eddypsiFFIELDS/ eddyPsiX,eddyPsiY
126 _RS eddyPsiX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
127 _RS eddyPsiY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
128 #endif
129
130 #ifndef EXCLUDE_FFIELDS_LOAD
131 C loadedRec :: time-record currently loaded (in temp arrays *[1])
132 C taux[0,1] :: Temp. for zonal wind stress
133 C tauy[0,1] :: Temp. for merid. wind stress
134 C Qnet[0,1] :: Temp. for heat flux
135 C EmPmR[0,1] :: Temp. for fresh water flux
136 C saltFlux[0,1] :: Temp. for isurface salt flux
137 C SST[0,1] :: Temp. for theta climatalogy
138 C SSS[0,1] :: Temp. for theta climatalogy
139 C Qsw[0,1] :: Temp. for short wave component of heat flux
140 C pLoad[0,1] :: Temp. for atmospheric pressure at z=eta
141 C [0,1] :: End points for interpolation
142
143 COMMON /FFIELDS_I/ loadedRec
144 INTEGER loadedRec(nSx,nSy)
145
146 COMMON /TDFIELDS/
147 & taux0, tauy0, Qnet0, EmPmR0, SST0, SSS0,
148 & taux1, tauy1, Qnet1, EmPmR1, SST1, SSS1,
149 & saltFlux0, saltFlux1
150 #ifdef SHORTWAVE_HEATING
151 & , Qsw0, Qsw1
152 #endif
153 #ifdef ATMOSPHERIC_LOADING
154 & , pLoad0, pLoad1
155 #endif
156
157 _RS taux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
158 _RS tauy0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
159 _RS Qnet0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
160 _RS EmPmR0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
161 _RS saltFlux0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
162 _RS SST0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
163 _RS SSS0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
164 _RS taux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
165 _RS tauy1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
166 _RS Qnet1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
167 _RS EmPmR1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
168 _RS saltFlux1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
169 _RS SST1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
170 _RS SSS1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
171 #ifdef ATMOSPHERIC_LOADING
172 _RS pLoad0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
173 _RS pLoad1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
174 #endif
175 #ifdef SHORTWAVE_HEATING
176 _RS Qsw1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
177 _RS Qsw0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
178 #endif
179 #endif /* EXCLUDE_FFIELDS_LOAD */
180
181 C surfaceForcingU units are r_unit.m/s^2 (=m^2/s^2 if r=z)
182 C -> usage in gU: gU = gU + surfaceForcingU/drF [m/s^2]
183 C surfaceForcingV units are r_unit.m/s^2 (=m^2/s^-2 if r=z)
184 C -> usage in gU: gV = gV + surfaceForcingV/drF [m/s^2]
185 C
186 C surfaceForcingS units are r_unit.psu/s (=psu.m/s if r=z)
187 C - EmPmR * S_surf plus salinity relaxation*drF(1)
188 C -> usage in gS: gS = gS + surfaceForcingS/drF [psu/s]
189 C
190 C surfaceForcingT units are r_unit.Kelvin/s (=Kelvin.m/s if r=z)
191 C - Qnet (+Qsw) plus temp. relaxation*drF(1)
192 C -> calculate -lambda*(T(model)-T(clim))
193 C Qnet assumed to be net heat flux including ShortWave rad.
194 C -> usage in gT: gT = gT + surfaceforcingT/drF [K/s]
195 C surfaceForcingTice
196 C - equivalent Temperature flux in the top level that corresponds
197 C to the melting or freezing of sea-ice.
198 C Note that the surface level temperature is modified
199 C directly by the sea-ice model in order to maintain
200 C water temperature under sea-ice at the freezing
201 C point. But we need to keep track of the
202 C equivalent amount of heat that this surface-level
203 C temperature change implies because it is used by
204 C the KPP package (kpp_calc.F and kpp_transport_t.F).
205 C Units are r_unit.K/s (=Kelvin.m/s if r=z) (>0 for ocean warming).
206
207 COMMON /SURFACE_FORCING/
208 & surfaceForcingU,
209 & surfaceForcingV,
210 & surfaceForcingT,
211 & surfaceForcingS,
212 & surfaceForcingTice
213 _RL surfaceForcingU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
214 _RL surfaceForcingV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
215 _RL surfaceForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
216 _RL surfaceForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
217 _RL surfaceForcingTice(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)

  ViewVC Help
Powered by ViewVC 1.1.22