/[MITgcm]/MITgcm/pkg/exf/EXF_FIELDS.h
ViewVC logotype

Contents of /MITgcm/pkg/exf/EXF_FIELDS.h

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


Revision 1.18 - (show annotations) (download)
Thu Oct 13 20:28:57 2016 UTC (7 years, 7 months ago) by mmazloff
Branch: MAIN
Changes since 1.17: +8 -1 lines
File MIME type: text/plain
Adding aPCO2 to EXF package. This code was originally from Holger Brix.
Enable this code with USE_EXFCO2 in EXF_OPTIONS

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

  ViewVC Help
Powered by ViewVC 1.1.22