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

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

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


Revision 1.22 - (hide annotations) (download)
Sun Feb 12 00:55:12 2017 UTC (7 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h
Changes since 1.21: +9 -13 lines
File MIME type: text/plain
Change EXF_READ_EVAP to only activate code within #ifdef ALLOW_ATM_TEMP ;
 this prevent to read evap when ALLOW_ATM_TEMP is undef and other fields,
 e.g. precip, are not available.

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

  ViewVC Help
Powered by ViewVC 1.1.22