/[MITgcm]/MITgcm/pkg/atm2d/ATM2D_VARS.h
ViewVC logotype

Contents of /MITgcm/pkg/atm2d/ATM2D_VARS.h

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


Revision 1.16 - (show annotations) (download)
Thu May 2 20:37:52 2013 UTC (11 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, 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, HEAD
Changes since 1.15: +3 -3 lines
File MIME type: text/plain
move snow-precip array (snowPrc) from THSICE_VARS.h to ATM2D_VARS.h

1 C $Header: /u/gcmpack/MITgcm/pkg/atm2d/ATM2D_VARS.h,v 1.15 2011/06/24 01:42:33 jmc Exp $
2 C $Name: $
3
4 INTEGER nForcingPer
5 PARAMETER ( nForcingPer = 12)
6
7 COMMON/TMSTPS4OCN/dtatmo,dtocno,dtcouplo
8 _RS dtatmo ! atmospheric time step (s)
9 _RS dtocno ! ocean time step (s)
10 _RS dtcouplo ! time of coupling period (s)
11
12
13 C Files: mean 2D atmos fields used for wind anomaly coupling
14 COMMON /MEANWIND/
15 & atmosTauuFile, atmosTauvFile,atmosWindFile,
16 & atau, atav, awind
17 CHARACTER*(MAX_LEN_FNAM) atmosTauuFile
18 CHARACTER*(MAX_LEN_FNAM) atmosTauvFile
19 CHARACTER*(MAX_LEN_FNAM) atmosWindFile
20 _RL atau(jm0,nForcingPer) ! zonal wind stress
21 _RL atav(jm0,nForcingPer) ! meridional wind stress
22 _RL awind(jm0,nForcingPer)! (total) wind speed
23
24
25 C Files: basic state 3D wind fields, and E,P, and qnet prescibed fluxes (if used)
26 COMMON /OCEAN_2D_FILES/
27 & tauuFile, tauvFile, windFile,
28 & qnetFile, evapFile, precipFile, new_mon
29
30 CHARACTER*(MAX_LEN_FNAM) tauuFile
31 CHARACTER*(MAX_LEN_FNAM) tauvFile
32 CHARACTER*(MAX_LEN_FNAM) windFile
33 CHARACTER*(MAX_LEN_FNAM) qnetFile
34 CHARACTER*(MAX_LEN_FNAM) evapFile
35 CHARACTER*(MAX_LEN_FNAM) precipFile
36 LOGICAL new_mon ! toggle for loading new calendar month data
37
38 COMMON /OCEAN_RELAX_FILES/
39 & thetaRelaxFile, saltRelaxFile,
40 & tauThetaRelax, tauSaltRelax,
41 & r_tauThetaRelax, r_tauSaltRelax,
42 & nttyperelax, nstyperelax
43
44
45 CHARACTER*(MAX_LEN_FNAM) thetaRelaxFile
46 CHARACTER*(MAX_LEN_FNAM) saltRelaxFile
47 _RL tauThetaRelax ! relaxation time (s) for temp
48 _RL tauSaltRelax ! relaxation time (s) for salt
49 _RL r_tauThetaRelax ! reciprocal of above
50 _RL r_tauSaltRelax ! reciprocal of above
51 INTEGER ntTypeRelax ! method of relaxation for temp, non-zero is tapered
52 INTEGER nsTypeRelax ! method of relaxation for salt, non-zero is tapered
53
54
55 COMMON /RUNOFF_DATA/
56 & runoffFile, runoffMapFile,
57 & runoffVal, numBands, rband, runIndex
58
59 CHARACTER*(MAX_LEN_FNAM) runoffFile
60 CHARACTER*(MAX_LEN_FNAM) runoffMapFile
61 _RL runoffVal (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
62 INTEGER numBands ! number of runoff bands
63 INTEGER rband(sNy) ! first band j=1,rband(1); next j=rband(1)+1,rband(2) etc.
64 INTEGER runIndex(sNy) ! for specific latitude, corresponding runoff band
65
66 COMMON /OPTIONS_1DTO2D/
67 & useObsEmP, useObsRunoff, useAltDeriv
68 LOGICAL useObsEmP ! if true, do not pass 2D atmos fluxes to ocean
69 LOGICAL useObsRunoff ! if true, do do not pass 2S atmos runoff to ocean
70 LOGICAL useAltDeriv ! use alternate derivative formulation (smaller derivates)
71 ! not used for thSice surface temp solver
72
73 COMMON /ATMOS4OCN/ atm_tauu, atm_tauv, atm_Tair,
74 & atm_precip, atm_runoff,
75 & atm_evap_ice, atm_evap_ocn,
76 & atm_qnet_ice, atm_qnet_ocn,
77 & atm_dLdt_ice, atm_dLdt_ocn,
78 & atm_dFdt_ice, atm_dFdt_ocn,
79 & atm_dLdt_iceq, atm_dLdt_ocnq,
80 & atm_dFdt_iceq, atm_dFdt_ocnq,
81 & atm_solarinc, atm_solar_ice,
82 & atm_solar_ocn, atm_windspeed,
83 & atm_slp, atm_pco2
84 _RL atm_tauu(jm0) ! zonal mom flux at lower boundary (N/m2)
85 _RL atm_tauv(jm0) ! merid. mom flux at lower boundary (N/m2)
86 _RL atm_Tair(jm0) ! precipitation temp (used over seaice) (C)
87 _RL atm_precip(jm0) ! precip (m/s) (+=out of ocean, - definite)
88 _RL atm_runoff(jm0) ! runoff (m3/s) (+=out of ocean, normally - )
89 _RL atm_evap_ice(jm0) ! seaice evap. (m/s) (-=out of ocean, normally -)
90 _RL atm_evap_ocn(jm0) ! ocean evap. (m/s) (-=out of ocean, normally -)
91 _RL atm_qnet_ice(jm0) ! seaice surf. heat flux (W/m2) (+=upward)
92 _RL atm_qnet_ocn(jm0) ! ocean surf. heat flux (W/m2) (+=upward)
93 _RL atm_dLdt_ice(jm0) ! dL/dT ice (m/s/K) (-)
94 _RL atm_dLdt_ocn(jm0) ! dL/dT ocean (m/s/K) (-)
95 _RL atm_dFdt_ice(jm0) ! dF/dT ice (W/m2/K) (+)
96 _RL atm_dFdt_ocn(jm0) ! dF/dT ocean (W/m2/K) (+)
97 _RL atm_dLdt_iceq(jm0) ! dL/dT ice, alternate form (m/s/K) (-)
98 _RL atm_dLdt_ocnq(jm0) ! dL/dT ocean, alternate form (m/s/K) (-)
99 _RL atm_dFdt_iceq(jm0) ! dF/dT ice, alternate form (W/m2/K) (+)
100 _RL atm_dFdt_ocnq(jm0) ! dF/dT ocean, alternate form (W/m2/K) (+)
101 _RL atm_solarinc(jm0) ! solar incoming (W/m2 +=into ocean)
102 _RL atm_solar_ice(jm0) ! net solar rad to ice (unused)(+=into ocean)
103 _RL atm_solar_ocn(jm0) ! solar incoming to ocean (+=into ocean)
104 _RL atm_windspeed(jm0) ! windspeed at ocean surface (m/s)
105 _RL atm_slp(jm0) ! SLP anomaly (mb)
106 _RL atm_pco2(jm0) ! atmospheric pCO2 (ppmv)
107
108 c
109 c ocean data zonal means
110 COMMON/OCN_ZONALMN/ ctocn, ctice, cfice, csAlb, csAlbNIR,
111 & ocnArea, cco2flux
112 _RL ctocn(jm0) ! zonal mean ice-free ocean temp
113 _RL ctice(jm0) ! zonal mean seaice surface temp
114 _RL cfice(jm0) ! zonal mean ice fraction
115 _RL csAlb(jm0) ! zonal mean seaice albedo
116 _RL csAlbNIR(jm0) ! zonal mean seaice albedo
117 _RL ocnArea(jm0) ! ocean area of latitude strip on atm grid (m2)
118 _RL cco2flux(jm0) ! zonally integrated flux of CO2 from ocean->atm (mol/m2/s)
119
120 c
121 c OCN fluxes after conversion from 1D to 2D, whether by flux adj.,
122 c restoring, or by manipulating 1D atmos values for ocean model
123 c
124 COMMON/FLUXES_2D_OCN/ qneto_2D, evapo_2D, runoff_2D,
125 & precipo_2D, fu_2D, fv_2D, solarnet_ocn_2D,
126 & slp_2D, pCO2_2D, wspeed_2D
127 _RL qneto_2D(1:sNx,1:sNy) ! ocean surf. heat flux (W/m2) (+=upward)
128 _RL evapo_2D(1:sNx,1:sNy) ! ocean evap. (m/s) (-=out of ocean)
129 _RL runoff_2D(1:sNx,1:sNy) ! runoff (m/s over gridcell) (+=out of ocean)
130 _RL precipo_2D(1:sNx,1:sNy) ! precip (m/s) (+=out of ocean, - definite)
131 _RL fu_2D(1:sNx,1:sNy) ! zonal mom flux at lower boundary (N/m2)
132 _RL fv_2D(1:sNx,1:sNy) ! merid. mom flux at lower boundary (N/m2)
133 _RL solarnet_ocn_2D(1:sNx,1:sNy) ! solar incoming to ocean (+=into ocean)
134 _RL slp_2D(1:sNx,1:sNy) ! SLP anomaly (mb)
135 _RL pCO2_2D(1:sNx,1:sNy) ! atmospheric pCO2 (ppmv)
136 _RL wspeed_2D(1:sNx,1:sNy) ! windspeed at ocean surface (m/s)
137
138 c
139 c ICE fluxes after conversion from 1D to 2D, whether by flux adj.,
140 c restoring, or by manipulating 1D atmos values for seaice model
141 c
142 COMMON/FLUXES_2D_ICE/ qneti_2D, evapi_2D, precipi_2D,
143 & solarinc_2D, dFdT_ice_2D, Tair_2D
144 _RL qneti_2D(1:sNx,1:sNy) ! seaice surf. heat flux (W/m2) (+=upward)
145 _RL evapi_2D(1:sNx,1:sNy) ! ocean evap. (m/s) (-=out of ocean)
146 _RL precipi_2D(1:sNx,1:sNy) ! precip (m/s) (+=out of ocean, - definite)
147 _RL solarinc_2D(1:sNx,1:sNy)! solar incoming (+=into ocean)
148 _RL dFdT_ice_2D(1:sNx,1:sNy)! dF/dT ice (W/m^2/K) (+ given +=up HF)
149 _RL Tair_2D(1:sNx,1:sNy) ! precipitation temp (used over seaice) (C)
150
151 c
152 c lookup table for ocean gridcell to atmos grid cell. The weight
153 c is for that atmos grid cell; 1-weight is for atmos cell+1.
154 c
155 COMMON/LOOKUP_GRID/ atm_oc_ind, atm_oc_wgt,
156 & atm_oc_frac1, atm_oc_frac2,
157 & endwgt1, endwgt2, rsumwgt, tauv_jpt, tauv_jwght
158 INTEGER atm_oc_ind(sNy) ! lookup of (first) atm grid for given ocean lat
159 _RL atm_oc_wgt(sNy) ! weight of first atm grid for given ocean lat
160 _RL atm_oc_frac1(sNy) ! fraction of atm lat area covered by ocean lat
161 _RL atm_oc_frac2(sNy) ! fraction of atm+1 lat area covered by ocean lat
162 _RL endwgt1 ! weighting of atmos polar cap
163 _RL endwgt2 ! weighting of atmos cell next polar cap
164 _RL rsumwgt ! recip of sum of above
165 INTEGER tauv_jpt(sNy) ! lookup of (first) atm grid for ocean tauv on C-grid
166 _RL tauv_jwght(sNy) ! weight of (first) atm grid for ocean tauv
167
168
169 C Fields use to sum 2D ocean fluxes over several atm timesteps
170 C Also sum of atm E,P for seaice growth step, and sum of seaice bottom fluxes->ocean
171 COMMON/OCN_FLUXES_SUM/ sum_runoff, sum_precip, sum_evap, sum_qnet,
172 & sum_fu, sum_fv, sum_wspeed,
173 & sum_solarnet, sum_slp, sum_pCO2,
174 & sum_prcIce, sum_snowPrc, sum_evapIce,
175 & sum_sHeat, sum_flxCnB
176 _RL sum_runoff(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of runoff (m/s) (+=out of ocean)
177 _RL sum_precip(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum ocean-only precip (m/s) (+=out of ocean, - def)
178 _RL sum_evap(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum ocean-only evap (m/s) (-=out of ocean)
179 _RL sum_qnet(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum ocean-only qnet (W/m2) (+=upward)
180 _RL sum_fu(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of zonal wind stress applied to ocean (N/m2)
181 _RL sum_fv(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of merid wind stress applied to ocean (N/m2)
182 _RL sum_wspeed(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of wind speed applied to ocean (m/s)
183 _RL sum_solarnet(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of net solar into ocean, inc. thru ice (+=into ocn)
184 _RL sum_slp(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of SLP anomaly (mb)
185 _RL sum_pCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of atmospheric pCO2 (ppmv)
186 _RL sum_prcIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! sum of total precip over ice (kg/m2/s, + def)
187 _RL sum_snowPrc(1-OLx:sNx+OLx,1-OLy:sNy+OLy)! sum of snow precip to ice (kg/m2/s, + def)
188 _RL sum_evapIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy)! total evap over ice (kg/m2/s, +=out of ocean)
189 _RL sum_sHeat(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! surf heating, post ice temp step, to melt ice/snow
190 _RL sum_flxCnB(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! heat flux conducted through ice to bottom surface
191 C ! W/m2, +=down
192
193
194 C These are the fluxes actually passed to the ocean model (w/some unit/sign conversion)
195 COMMON/OCN_FLUXES_PASS/ pass_runoff, pass_precip, pass_evap,
196 & pass_qnet, pass_fu, pass_fv, pass_wspeed,
197 & pass_solarnet, pass_slp, pass_pCO2,
198 & pass_sIceLoad, sFluxFromIce
199 _RL pass_runoff(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! runoff -> ocean (m/s) (+=out of ocean)
200 _RL pass_precip(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! precip -> ocean (m/s) (+=out of ocean, - def)
201 _RL pass_evap(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! evap -> ocean (m/s) (+=out of ocean), inc. seaice part
202 _RL pass_qnet(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! HF-> ocean (W/m2) (+=out of ocean), inc seaice part
203 _RL pass_fu(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! zonal wind stress -> ocean (N/m2)
204 _RL pass_fv(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! merid wind stress -> ocean (N/m2
205 _RL pass_wspeed(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! wind speed -> ocean (m/s)
206 _RL pass_solarnet(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! total net solar -> ocean (+=out of ocn, - def)
207 _RL pass_slp(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! slp anomaly -> ocean (pascals)
208 _RL pass_pCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! atmos pCO2 -> ocean (parts by volume, i.e. ppmv*1e-6)
209 _RL pass_sIceLoad(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! seaice mass loading -> ocean
210 _RL sFluxFromIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! upward salt flux->ocean (psu.kg/m^2/s)
211
212
213 COMMON/ICE_FLUXES_PASS/ netSW, sFlx, dTsurf, pass_prcAtm, snowPrc
214 _RL netSW(sNx,sNy) ! net shortwave flux to ice (W/m2) (+= down)
215 _RL sFlx(sNx,sNy,0:2) ! input variables to seaice temp solver:
216 C ! 0: sFlx(:,1) - Tsurf * dF/dT (W/m2)
217 C ! 1: surface heat flux to ice, no SW (Ts=Ts^n) (W/m2) (+=down)
218 C ! 2: dF/dT (over ice), (- def, as for +=down HF)
219 _RL dTsurf(sNx,sNy) ! surf temp adjustment Ts^n+1 - Ts^n
220 _RL pass_prcAtm(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! total precip -> seaice top (kg/m2/s, +=precip to ice)
221 _RL snowPrc(1-OLx:sNx+OLx,1-OLy:sNy+OLy) ! snow precip (kg/m2/s)
222
223 C Variables used to sum and compute atm2d diagnostic outputs
224 COMMON/DIAGS_1DTO2D/ qnet_atm, evap_atm, precip_atm, runoff_atm,
225 & sum_qrel, sum_frel,
226 & sum_iceMask, sum_iceHeight, sum_iceTime,
227 & sum_oceMxLT, sum_oceMxLS,
228 & qnet_atm_ta, evap_atm_ta,
229 & precip_atm_ta, runoff_atm_ta,
230 & sum_qrel_ta, sum_frel_ta,
231 & sum_iceMask_ta, sum_iceHeight_ta,
232 & sum_iceTime_ta,
233 & sum_oceMxLT_ta, sum_oceMxLS_ta,
234 & sum_tauu_ta, sum_tauv_ta, sum_wsocean_ta,
235 & sum_ps4ocean_ta
236 _RL qnet_atm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
237 _RL evap_atm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
238 _RL precip_atm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
239 _RL runoff_atm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
240 _RL sum_qrel(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
241 _RL sum_frel(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
242 _RL sum_iceMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
243 _RL sum_iceHeight(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
244 _RL sum_iceTime(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
245 _RL sum_oceMxLT(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
246 _RL sum_oceMxLS(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
247 _RL qnet_atm_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
248 _RL evap_atm_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
249 _RL precip_atm_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
250 _RL runoff_atm_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
251 _RL sum_qrel_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
252 _RL sum_frel_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
253 _RL sum_iceMask_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
254 _RL sum_iceHeight_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
255 _RL sum_iceTime_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
256 _RL sum_oceMxLT_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
257 _RL sum_oceMxLS_ta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nForcingPer)
258 _RL sum_tauu_ta(jm0,nForcingPer)
259 _RL sum_tauv_ta(jm0,nForcingPer)
260 _RL sum_wsocean_ta(jm0,nForcingPer)
261 _RL sum_ps4ocean_ta(jm0,nForcingPer)
262
263 C Yearly output diagnostics
264 COMMON/YR_MEAN_DIAG/ sst_tave, sss_tave, SHice_min, SHice_max,
265 & NHice_min, NHice_max, HF2ocn_tave,
266 & FW2ocn_tave, CO2flx_tave
267 _RL sst_tave
268 _RL sss_tave
269 _RL SHice_min
270 _RL SHice_max
271 _RL NHice_min
272 _RL NHice_max
273 _RL HF2ocn_tave
274 _RL FW2ocn_tave
275 _RL CO2flx_tave
276
277
278 C Variables passed from ocean model
279 COMMON/FROM_OCN/ sstFromOcn, sssFromOcn, oFluxCO2, mlDepth
280 _RL sstFromOcn(1:sNx,1:sNy)
281 _RL sssFromOcn(1:sNx,1:sNy)
282 _RL oFluxCO2(1:sNx,1:sNy) ! flux of CO2 from ocean DIC etc. package (mol/m2/s)
283 _RL mlDepth(1:sNx,1:sNy) ! at present, simply the depth of top ocean grid cell (m)
284

  ViewVC Help
Powered by ViewVC 1.1.22