/[MITgcm]/MITgcm/model/inc/FFIELDS.h
ViewVC logotype

Contents of /MITgcm/model/inc/FFIELDS.h

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


Revision 1.45 - (show annotations) (download)
Thu Jul 4 23:05:09 2013 UTC (10 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65a, checkpoint65, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64k, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n
Changes since 1.44: +1 -12 lines
File MIME type: text/plain
- call EXTERNAL_FORCING_SURF outside bi,bj loops (in do_oceanic_phys.F),
  (where external_forcing_adjust was called) and change list of arguments;
- merge external_forcing_adjust.F into external_forcing_surf.F
- put surface relaxation of SST & SSS in new S/R (forcing_surf_relax.F)
  which also contains balancing surface relaxation (ALLOW_BALANCE_RELAX,
  previously in file "balance_relax.F", now removed); remove corresponding
  arrays in FFIELDS.h.

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

  ViewVC Help
Powered by ViewVC 1.1.22