/[MITgcm]/MITgcm_contrib/ecco_darwin/v5_llc270/code_darwin/EXF_FIELDS.h
ViewVC logotype

Contents of /MITgcm_contrib/ecco_darwin/v5_llc270/code_darwin/EXF_FIELDS.h

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


Revision 1.1 - (show annotations) (download)
Tue Jan 14 18:23:29 2020 UTC (5 years, 6 months ago) by dimitri
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
- regressing v4_3deg to same vintage code as v4_llc270
- also adding some laggard files in v5_llc270/code_darwin

1 C $Header: /u/gcmpack/MITgcm_contrib/ecco_darwin/v4_llc270/code_darwin/EXF_FIELDS.h,v 1.1 2017/12/01 19:02:10 dimitri Exp $
2 C $Name: $
3
4 C ==================================================================
5 C HEADER exf_fields
6 C ==================================================================
7 C
8 C o Header file for the surface flux data.
9 C
10 C started: Ralf.Giering@FastOpt.de 25-Mai-2000
11 C changed: field swap in adj. mode; heimbach@mit.edu 10-Jan-2002
12 C included runoff D. Stammer, Nov. 25, 2001
13 C mods for pkg/seaice: menemenlis@jpl.nasa.gov 20-Dec-2002
14 C
15 C ==================================================================
16 C HEADER exf_fields
17 C ==================================================================
18
19 C Field definitions, units, and sign conventions:
20 C ===============================================
21 C
22 C ustress :: Zonal surface wind stress in N/m^2
23 C > 0 for increase in uVel, which is west to
24 C east for cartesian and spherical polar grids
25 C Typical range: -0.5 < ustress < 0.5
26 C Input field
27 C
28 C vstress :: Meridional surface wind stress in N/m^2
29 C > 0 for increase in vVel, which is south to
30 C north for cartesian and spherical polar grids
31 C Typical range: -0.5 < vstress < 0.5
32 C Input field
33 C
34 C hflux :: Net upward surface heat flux including shortwave in W/m^2
35 C hflux = latent + sensible + lwflux + swflux
36 C > 0 for decrease in theta (ocean cooling)
37 C Typical range: -250 < hflux < 600
38 C Input field
39 C
40 C sflux :: Net upward freshwater flux in m/s
41 C sflux = evap - precip - runoff
42 C > 0 for increase in salt (ocean salinity)
43 C Typical range: -1e-7 < sflux < 1e-7
44 C Input field
45 C
46 C swflux :: Net upward shortwave radiation in W/m^2
47 C swflux = - ( swdown - ice and snow absorption - reflected )
48 C > 0 for decrease in theta (ocean cooling)
49 C Typical range: -350 < swflux < 0
50 C Input field
51 C
52 C uwind :: Surface (10-m) zonal wind velocity in m/s
53 C > 0 for increase in uVel, which is west to
54 C east for cartesian and spherical polar grids
55 C Typical range: -10 < uwind < 10
56 C Input or input/output field
57 C
58 C vwind :: Surface (10-m) meridional wind velocity in m/s
59 C > 0 for increase in vVel, which is south to
60 C north for cartesian and spherical polar grids
61 C Typical range: -10 < vwind < 10
62 C Input or input/output field
63 C
64 C wspeed :: Surface (10-m) wind speed in m/s
65 C >= 0 sqrt(u^2+v^2)
66 C Typical range: 0 < wspeed < 10
67 C Input or input/output field
68 C
69 C atemp :: Surface (2-m) air temperature in deg K
70 C Typical range: 200 < atemp < 300
71 C Input or input/output field
72 C
73 C aqh :: Surface (2m) specific humidity in kg/kg
74 C Typical range: 0 < aqh < 0.02
75 C Input or input/output field
76 C
77 C hs :: sensible heat flux into ocean in W/m^2
78 C > 0 for increase in theta (ocean warming)
79 C
80 C hl :: latent heat flux into ocean in W/m^2
81 C > 0 for increase in theta (ocean warming)
82 C
83 C lwflux :: Net upward longwave radiation in W/m^2
84 C lwflux = - ( lwdown - ice and snow absorption - emitted )
85 C > 0 for decrease in theta (ocean cooling)
86 C Typical range: -20 < lwflux < 170
87 C Input field
88 C
89 C evap :: Evaporation in m/s
90 C > 0 for increase in salt (ocean salinity)
91 C Typical range: 0 < evap < 2.5e-7
92 C Input, input/output, or output field
93 C
94 C precip :: Total Precipitation (rain+snow) in m/s of liquid water
95 C > 0 for decrease in salt (ocean salinity)
96 C Typical range: 0 < precip < 5e-7
97 C Input or input/output field
98 C
99 C snowprecip :: snow precipitation in m/s of equivalent liquid water
100 C > 0 for decrease in salt (ocean salinity)
101 C Typical range: 0 < precip < 5e-7
102 C Input or input/output field
103 C
104 C runoff :: River and glacier runoff in m/s
105 C > 0 for decrease in salt (ocean salinity)
106 C Typical range: 0 < runoff < ????
107 C Input or input/output field
108 C
109 C runoftemp :: Temperature of runoff in deg C
110 C
111 C saltflx :: Net upward salt flux in psu.kg/m^2/s
112 C > 0 for decrease in SSS.
113 C Typical origin: salty sea-ice formation / melting.
114 C Units: when salinity (unit= psu) is expressed
115 C in g/kg, saltflx unit becomes g/m^2/s.
116 C
117 C swdown :: Downward shortwave radiation in W/m^2
118 C > 0 for increase in theta (ocean warming)
119 C Typical range: 0 < swdown < 450
120 C Input/output field
121 C
122 C lwdown :: Downward longwave radiation in W/m^2
123 C > 0 for increase in theta (ocean warming)
124 C Typical range: 50 < lwdown < 450
125 C Input/output field
126 C
127 C apressure :: Atmospheric pressure field in N/m^2
128 C > 0 for ????
129 C Typical range: ???? < apressure < ????
130 C Input field
131 C
132 C tidePot :: Tidal geopotential forcing in m^2/s^2
133 C Typical range: -10 < apressure < +10
134 C Input field
135
136 C NOTES:
137 C ======
138 C
139 C By default all surface forcing fields are defined at the center
140 C of each grid (the rVel location in model/inc/GRID.h) unless
141 C flags readStressOnAgrid or readStressOnCgrid are set.
142 C
143 C Input and output units and sign conventions can be customized
144 C using variables exf_inscal_* and exf_outscal_*, which are set
145 C by exf_readparms.F
146 C
147 C Output fields fu, fv, Qnet, Qsw, and EmPmR are
148 C defined in FFIELDS.h
149 C
150 C Arrays *0 and *1 below are used for temporal interpolation.
151 C
152
153 COMMON /exf_stress_r/ ustress, vstress
154 _RL ustress (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
155 _RL vstress (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
156 COMMON /exfl_ustress_r/ ustress0, ustress1
157 _RL ustress0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
158 _RL ustress1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
159 COMMON /exfl_vstress_r/ vstress0, vstress1
160 _RL vstress0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
161 _RL vstress1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
162
163 COMMON /exf_wspeed_r/ wspeed
164 _RL wspeed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
165 COMMON /exfl_wspeed_r/ wspeed0, wspeed1
166 _RL wspeed0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
167 _RL wspeed1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
168
169 COMMON /exf_atm_wind_r/ uwind, vwind
170 _RL uwind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
171 _RL vwind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
172 COMMON /exfl_uwind_r/ uwind0, uwind1
173 _RL uwind0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
174 _RL uwind1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
175 COMMON /exfl_vwind_r/ vwind0, vwind1
176 _RL vwind0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
177 _RL vwind1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
178
179 COMMON /exf_netflux_r/ hflux, sflux
180 _RL hflux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
181 _RL sflux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
182 COMMON /exfl_hflux_r/ hflux0, hflux1
183 _RL hflux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
184 _RL hflux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
185 COMMON /exfl_sflux_r/ sflux0, sflux1
186 _RL sflux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
187 _RL sflux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
188
189 #ifdef ALLOW_ATM_TEMP
190 COMMON /exf_atm_temp_r/ atemp, aqh, hs, hl, lwflux,
191 & evap, precip, snowprecip
192 _RL atemp (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
193 _RL aqh (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
194 _RL hs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
195 _RL hl (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
196 _RL lwflux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
197 _RL evap (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
198 _RL precip (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
199 _RL snowprecip (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
200 COMMON /exfl_atemp_r/ atemp0, atemp1
201 _RL atemp0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
202 _RL atemp1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
203 COMMON /exfl_aqh_r/ aqh0, aqh1
204 _RL aqh0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
205 _RL aqh1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
206 COMMON /exfl_lwflux_r/ lwflux0, lwflux1
207 _RL lwflux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
208 _RL lwflux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
209 #ifdef EXF_READ_EVAP
210 COMMON /exfl_evap_r/ evap0, evap1
211 _RL evap0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
212 _RL evap1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
213 #endif
214 COMMON /exfl_precip_r/ precip0, precip1
215 _RL precip0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
216 _RL precip1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
217 COMMON /exfl_snowprecip_r/ snowprecip0, snowprecip1
218 _RL snowprecip0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
219 _RL snowprecip1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
220 # ifdef ALLOW_READ_TURBFLUXES
221 COMMON /exfl_turb_r/ hs0, hs1, hl0, hl1
222 _RL hs0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
223 _RL hs1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
224 _RL hl0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
225 _RL hl1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
226 # endif
227 #endif /* ALLOW_ATM_TEMP */
228
229 C wStress :: wind-stress magnitude [Pa=N/m^2], @ grid-cell center
230 C sh :: wind-speed [m/s] (always larger than uMin)
231 COMMON /exfl_wind_r/ wStress, cw, sw, sh
232 _RL wStress (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
233 _RL cw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
234 _RL sw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
235 _RL sh (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
236
237 #if defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING)
238 COMMON /exf_swflux_r/ swflux
239 _RL swflux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
240 COMMON /exfl_swflux_r/ swflux0, swflux1
241 _RL swflux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
242 _RL swflux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
243 #endif
244
245 #ifdef ALLOW_DOWNWARD_RADIATION
246 COMMON /exf_rad_down_r/
247 & swdown, lwdown, swdown0, swdown1, lwdown0, lwdown1
248 _RL swdown (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
249 _RL lwdown (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
250 _RL swdown0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
251 _RL swdown1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
252 _RL lwdown0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
253 _RL lwdown1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
254 #ifdef ALLOW_ZENITHANGLE
255 C--- COMMON /exf_zenith_angle_r/
256 C zen_albedo_table :: reference table of daily mean albedo
257 C zen_albedo_pointer :: location of grid point in zen_albedo_table
258 C zen_albedo :: overall albedo (direct=f(zen) + diffus=cst)
259 C zen_fsol_diurnal :: incoming solar radiation (daily variable)
260 C zen_fsol_daily :: incoming solar radiation (daily mean)
261 COMMON /exf_zenith_angle_r/
262 & zen_albedo_table, zen_albedo_pointer,
263 & zen_albedo, zen_fsol_diurnal, zen_fsol_daily
264 _RL zen_albedo_table (366,181)
265 _RL zen_albedo_pointer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
266 _RL zen_albedo (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
267 _RL zen_fsol_diurnal (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
268 _RL zen_fsol_daily (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
269 #endif
270 #endif /* ALLOW_DOWNWARD_RADIATION */
271
272 #ifdef ATMOSPHERIC_LOADING
273 COMMON /exf_apressure_r/ apressure, apressure0, apressure1
274 _RL apressure (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
275 _RL apressure0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
276 _RL apressure1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
277 #endif
278
279 #ifdef ALLOW_RUNOFF
280 COMMON /exfl_runoff_r/ runoff, runoff0, runoff1
281 _RL runoff (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
282 _RL runoff0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
283 _RL runoff1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
284 #endif
285
286 #ifdef ALLOW_RUNOFTEMP
287 COMMON /exfl_runoftemp_r/ runoftemp, runoftemp0, runoftemp1
288 _RL runoftemp (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
289 _RL runoftemp0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
290 _RL runoftemp1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
291 #endif
292
293 #ifdef ALLOW_SALTFLX
294 COMMON /exfl_saltflx_r/ saltflx, saltflx0, saltflx1
295 _RL saltflx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
296 _RL saltflx0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
297 _RL saltflx1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
298 #endif
299
300 #ifdef EXF_ALLOW_TIDES
301 COMMON /exf_tidePot_r/ tidePot, tidePot0, tidePot1
302 _RL tidePot (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
303 _RL tidePot0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
304 _RL tidePot1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
305 #endif
306
307 #ifdef EXF_SEAICE_FRACTION
308 COMMON /exf_ice_areamask_r/ areamask,
309 & areamask0, areamask1
310 _RL areamask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
311 _RL areamask0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
312 _RL areamask1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
313 COMMON /exf_iceFraction_r/ exf_iceFraction
314 _RS exf_iceFraction(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
315 #endif
316
317 #ifdef ALLOW_CLIMSST_RELAXATION
318 COMMON /exf_clim_sst_r/ climsst,
319 & climsst0, climsst1
320 _RL climsst (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
321 _RL climsst0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
322 _RL climsst1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
323 #endif
324
325 #ifdef ALLOW_CLIMSSS_RELAXATION
326 COMMON /exf_clim_sss_r/ climsss,
327 & climsss0, climsss1
328 _RL climsss (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
329 _RL climsss0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
330 _RL climsss1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
331 #endif
332
333 #ifdef ALLOW_CLIMSTRESS_RELAXATION
334 COMMON /exf_clim_stress_r/
335 & climustr, climvstr,
336 & climustr0, climustr1,
337 & climvstr0, climvstr1
338 _RL climustr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
339 _RL climustr0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
340 _RL climustr1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
341 _RL climvstr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
342 _RL climvstr0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
343 _RL climvstr1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
344 #endif
345
346 COMMON /exf_atm_pco2/ apco2, apco20, apco21
347 _RL apco2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
348 _RL apco20 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
349 _RL apco21 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)

  ViewVC Help
Powered by ViewVC 1.1.22