52 AerodynamicResistanceMethod, AH_MIN, AHProf_24hr, AH_SLOPE_Cooling, & ! input&inout in alphabetical order
54 alb, AlbMax_DecTr, AlbMax_EveTr, AlbMax_Grass, &
55 AlbMin_DecTr, AlbMin_EveTr, AlbMin_Grass, &
56 alpha_bioCO2, alpha_enh_bioCO2, alt, kdown, avRh, avU1, BaseT, BaseTe, &
58 BaseT_HC, beta_bioCO2, beta_enh_bioCO2, bldgH, CapMax_dec, CapMin_dec, &
59 chAnOHM, CO2PointSource, cpAnOHM, CRWmax, CRWmin, DayWat, DayWatPer, &
60 DecTreeH, DiagMethod, Diagnose, DiagQN, DiagQS, DRAINRT, &
61 dt_since_start, dqndt, qn_av, dqnsdt, qn_s_av, &
62 EF_umolCO2perJ, emis, EmissionsMethod, EnEF_v_Jkm, endDLS, EveTreeH, FAIBldg, &
63 FAIDecTree, FAIEveTree, Faut, FcEF_v_kgkm, fcld_obs, FlowChange, &
64 FrFossilFuel_Heat, FrFossilFuel_NonHeat, G1, G2, G3, G4, G5, G6, GDD_id, &
65 GDDFull, Gridiv, gsModel, H_maintain, HDD_id, HumActivity_24hr, &
66 IceFrac, id, Ie_a, Ie_end, Ie_m, Ie_start, imin, &
68 IrrFracPaved, IrrFracBldgs, &
69 IrrFracEveTr, IrrFracDecTr, IrrFracGrass, &
70 IrrFracBSoil, IrrFracWater, &
71 isec, it, EvapMethod, &
72 iy, kkAnOHM, Kmax, LAI_id, LAICalcYes, LAIMax, LAIMin, LAI_obs, &
73 LAIPower, LAIType, lat, lenDay_id, ldown_obs, lng, MaxConductance, MaxFCMetab, MaxQFMetab, &
74 SnowWater, MetForcingData_grid, MinFCMetab, MinQFMetab, min_res_bioCO2, &
75 NARP_EMIS_SNOW, NARP_TRANS_SITE, NetRadiationMethod, &
77 n_vegetation_region_urban, &
78 n_stream_sw_urban, n_stream_lw_urban, &
79 sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
80 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
81 veg_fsd_const, veg_contact_fraction_const, &
82 ground_albedo_dir_mult_fact, use_sw_direct_albedo, & !input
83 height, building_frac, veg_frac, building_scale, veg_scale, & !input: SPARTACUS
84 alb_roof, emis_roof, alb_wall, emis_wall, &
85 roof_albedo_dir_mult_fact, wall_specular_frac, &
86 OHM_coef, OHMIncQF, OHM_threshSW, &
87 OHM_threshWD, PipeCapacity, PopDensDaytime, &
88 PopDensNighttime, PopProf_24hr, PorMax_dec, PorMin_dec, &
89 Precip, PrecipLimit, PrecipLimitAlb, Press_hPa, &
90 QF0_BEU, Qf_A, Qf_B, Qf_C, &
91 qn1_obs, qs_obs, qf_obs, &
92 RadMeltFact, RAINCOVER, RainMaxRes, resp_a, resp_b, &
93 RoughLenHeatMethod, RoughLenMomMethod, RunoffToWater, S1, S2, &
94 SatHydraulicConduct, SDDFull, SDD_id, SMDMethod, SnowAlb, SnowAlbMax, &
95 SnowAlbMin, SnowPackLimit, SnowDens, SnowDensMax, SnowDensMin, SnowfallCum, SnowFrac, &
96 SnowLimBldg, SnowLimPaved, snowFrac_obs, SnowPack, SnowProf_24hr, SnowUse, SoilDepth, &
97 StabilityMethod, startDLS, &
98 soilstore_surf, SoilStoreCap_surf, state_surf, StateLimit_surf, WetThresh_surf, &
99 soilstore_roof, SoilStoreCap_roof, state_roof, StateLimit_roof, WetThresh_roof, &
100 soilstore_wall, SoilStoreCap_wall, state_wall, StateLimit_wall, WetThresh_wall, &
101 StorageHeatMethod, StoreDrainPrm, SurfaceArea, Tair_av, tau_a, tau_f, tau_r, &
103 BaseT_Cooling, BaseT_Heating, Temp_C, TempMeltFact, TH, &
104 theta_bioCO2, timezone, TL, TrafficRate, TrafficUnits, &
106 tsfc_roof, tsfc_wall, tsfc_surf, &
107 temp_roof, temp_wall, temp_surf, &
108 tin_roof, tin_wall, tin_surf, &
109 k_roof, k_wall, k_surf, &
110 cp_roof, cp_wall, cp_surf, &
111 dz_roof, dz_wall, dz_surf, &
112 TraffProf_24hr, Ts5mindata_ir, tstep, tstep_prev, veg_type, &
113 WaterDist, WaterUseMethod, wu_m3, &
114 WUDay_id, DecidCap_id, albDecTr_id, albEveTr_id, albGrass_id, porosity_id, &
115 WUProfA_24hr, WUProfM_24hr, xsmd, Z, z0m_in, zdm_in, &
116 datetimeLine, dataOutLineSUEWS, dataOutLineSnow, dataOutLineESTM, dataoutLineRSL, & !output
117 dataOutLineBEERS, & !output
118 dataOutLineDebug, dataOutLineSPARTACUS, &
119 dataOutLineESTMExt, &
126 INTEGER,
INTENT(IN) :: AerodynamicResistanceMethod
127 INTEGER,
INTENT(IN) :: BaseTMethod
128 INTEGER,
INTENT(IN) :: Diagnose
129 INTEGER,
INTENT(IN) :: DiagQN
130 INTEGER,
INTENT(IN) :: DiagQS
131 INTEGER,
INTENT(IN) :: startDLS
132 INTEGER,
INTENT(IN) :: endDLS
133 INTEGER,
INTENT(IN) :: EmissionsMethod
134 INTEGER,
INTENT(IN) :: Gridiv
135 INTEGER,
INTENT(IN) :: nlayer
136 INTEGER,
INTENT(IN) :: gsModel
137 INTEGER,
INTENT(IN) :: id
138 INTEGER,
INTENT(IN) :: Ie_end
139 INTEGER,
INTENT(IN) :: Ie_start
140 INTEGER,
INTENT(IN) :: isec
141 INTEGER,
INTENT(IN) :: imin
142 INTEGER,
INTENT(IN) :: it
143 INTEGER,
INTENT(IN) :: EvapMethod
144 INTEGER,
INTENT(IN) :: iy
145 INTEGER,
INTENT(IN) :: LAICalcYes
146 INTEGER,
INTENT(IN) :: NetRadiationMethod
147 INTEGER,
INTENT(IN) :: OHMIncQF
148 INTEGER,
INTENT(IN) :: RoughLenHeatMethod
149 INTEGER,
INTENT(IN) :: RoughLenMomMethod
150 INTEGER,
INTENT(IN) :: SMDMethod
151 INTEGER,
INTENT(IN) :: SnowUse
152 INTEGER,
INTENT(IN) :: StabilityMethod
153 INTEGER,
INTENT(IN) :: StorageHeatMethod
154 INTEGER,
INTENT(in) :: DiagMethod
155 INTEGER,
INTENT(IN) :: tstep
156 INTEGER,
INTENT(IN) :: tstep_prev
157 INTEGER,
INTENT(in) :: dt_since_start
158 INTEGER,
INTENT(IN) :: veg_type
159 INTEGER,
INTENT(IN) :: WaterUseMethod
161 REAL(KIND(1D0)),
INTENT(IN) :: AlbMax_DecTr
162 REAL(KIND(1D0)),
INTENT(IN) :: AlbMax_EveTr
163 REAL(KIND(1D0)),
INTENT(IN) :: AlbMax_Grass
164 REAL(KIND(1D0)),
INTENT(IN) :: AlbMin_DecTr
165 REAL(KIND(1D0)),
INTENT(IN) :: AlbMin_EveTr
166 REAL(KIND(1D0)),
INTENT(IN) :: AlbMin_Grass
167 REAL(KIND(1D0)),
INTENT(IN) :: alt
168 REAL(KIND(1D0)),
INTENT(IN) :: kdown
169 REAL(KIND(1D0)),
INTENT(IN) :: avRh
170 REAL(KIND(1D0)),
INTENT(IN) :: avU1
171 REAL(KIND(1D0)),
INTENT(IN) :: BaseT_HC
172 REAL(KIND(1D0)),
INTENT(IN) :: bldgH
173 REAL(KIND(1D0)),
INTENT(IN) :: CapMax_dec
174 REAL(KIND(1D0)),
INTENT(IN) :: CapMin_dec
175 REAL(KIND(1D0)),
INTENT(IN) :: CO2PointSource
176 REAL(KIND(1D0)),
INTENT(IN) :: CRWmax
177 REAL(KIND(1D0)),
INTENT(IN) :: CRWmin
178 REAL(KIND(1D0)),
INTENT(IN) :: DecTreeH
179 REAL(KIND(1D0)),
INTENT(IN) :: DRAINRT
180 REAL(KIND(1D0)),
INTENT(IN) :: EF_umolCO2perJ
181 REAL(KIND(1D0)),
INTENT(IN) :: EnEF_v_Jkm
182 REAL(KIND(1D0)),
INTENT(IN) :: EveTreeH
183 REAL(KIND(1D0)),
INTENT(IN) :: FAIBldg
184 REAL(KIND(1D0)),
INTENT(IN) :: FAIDecTree
185 REAL(KIND(1D0)),
INTENT(IN) :: FAIEveTree
186 REAL(KIND(1D0)),
INTENT(IN) :: Faut
187 REAL(KIND(1D0)),
INTENT(IN) :: fcld_obs
188 REAL(KIND(1D0)),
INTENT(IN) :: FlowChange
189 REAL(KIND(1D0)),
INTENT(IN) :: FrFossilFuel_Heat
190 REAL(KIND(1D0)),
INTENT(IN) :: FrFossilFuel_NonHeat
191 REAL(KIND(1D0)),
INTENT(IN) :: G1
192 REAL(KIND(1D0)),
INTENT(IN) :: G2
193 REAL(KIND(1D0)),
INTENT(IN) :: G3
194 REAL(KIND(1D0)),
INTENT(IN) :: G4
195 REAL(KIND(1D0)),
INTENT(IN) :: G5
196 REAL(KIND(1D0)),
INTENT(IN) :: G6
197 REAL(KIND(1D0)),
INTENT(IN) :: H_maintain
198 REAL(KIND(1D0)),
INTENT(IN) :: InternalWaterUse_h
199 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracPaved
200 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracBldgs
201 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracDecTr
202 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracEveTr
203 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracGrass
204 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracBSoil
205 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracWater
206 REAL(KIND(1D0)),
INTENT(IN) :: Kmax
207 REAL(KIND(1D0)),
INTENT(IN) :: LAI_obs
208 REAL(KIND(1D0)),
INTENT(IN) :: lat
209 REAL(KIND(1D0)),
INTENT(IN) :: ldown_obs
210 REAL(KIND(1D0)),
INTENT(IN) :: lng
211 REAL(KIND(1D0)),
INTENT(IN) :: MaxFCMetab
212 REAL(KIND(1D0)),
INTENT(IN) :: MaxQFMetab
213 REAL(KIND(1D0)),
INTENT(IN) :: MinFCMetab
214 REAL(KIND(1D0)),
INTENT(IN) :: MinQFMetab
215 REAL(KIND(1D0)),
INTENT(IN) :: NARP_EMIS_SNOW
216 REAL(KIND(1D0)),
INTENT(IN) :: NARP_TRANS_SITE
217 REAL(KIND(1D0)),
INTENT(IN) :: PipeCapacity
218 REAL(KIND(1D0)),
INTENT(IN) :: PopDensNighttime
219 REAL(KIND(1D0)),
INTENT(IN) :: PorMax_dec
220 REAL(KIND(1D0)),
INTENT(IN) :: PorMin_dec
221 REAL(KIND(1D0)),
INTENT(IN) :: Precip
222 REAL(KIND(1D0)),
INTENT(IN) :: PrecipLimit
223 REAL(KIND(1D0)),
INTENT(IN) :: PrecipLimitAlb
224 REAL(KIND(1D0)),
INTENT(IN) :: Press_hPa
225 REAL(KIND(1D0)),
INTENT(IN) :: qn1_obs
226 REAL(KIND(1D0)),
INTENT(IN) :: qs_obs
227 REAL(KIND(1D0)),
INTENT(IN) :: qf_obs
228 REAL(KIND(1D0)),
INTENT(IN) :: RadMeltFact
229 REAL(KIND(1D0)),
INTENT(IN) :: RAINCOVER
230 REAL(KIND(1D0)),
INTENT(IN) :: RainMaxRes
231 REAL(KIND(1D0)),
INTENT(IN) :: RunoffToWater
232 REAL(KIND(1D0)),
INTENT(IN) :: S1
233 REAL(KIND(1D0)),
INTENT(IN) :: S2
234 REAL(KIND(1D0)),
INTENT(IN) :: SnowAlbMax
235 REAL(KIND(1D0)),
INTENT(IN) :: SnowAlbMin
236 REAL(KIND(1D0)),
INTENT(IN) :: SnowDensMax
237 REAL(KIND(1D0)),
INTENT(IN) :: SnowDensMin
238 REAL(KIND(1D0)),
INTENT(IN) :: SnowLimBldg
239 REAL(KIND(1D0)),
INTENT(IN) :: SnowLimPaved
240 REAL(KIND(1D0)),
INTENT(IN) :: snowFrac_obs
241 REAL(KIND(1D0)),
INTENT(IN) :: SurfaceArea
242 REAL(KIND(1D0)),
INTENT(IN) :: tau_a
243 REAL(KIND(1D0)),
INTENT(IN) :: tau_f
244 REAL(KIND(1D0)),
INTENT(IN) :: tau_r
245 REAL(KIND(1D0)),
INTENT(IN) :: Temp_C
246 REAL(KIND(1D0)),
INTENT(IN) :: TempMeltFact
247 REAL(KIND(1D0)),
INTENT(IN) :: TH
248 REAL(KIND(1D0)),
INTENT(IN) :: timezone
249 REAL(KIND(1D0)),
INTENT(IN) :: TL
250 REAL(KIND(1D0)),
INTENT(IN) :: TrafficUnits
251 REAL(KIND(1D0)),
INTENT(IN) :: wu_m3
252 REAL(KIND(1D0)),
INTENT(IN) :: xsmd
253 REAL(KIND(1D0)),
INTENT(IN) :: Z
254 REAL(KIND(1D0)),
INTENT(IN) :: z0m_in
255 REAL(KIND(1D0)),
INTENT(IN) :: zdm_in
257 INTEGER,
DIMENSION(NVEGSURF),
INTENT(IN) :: LAIType
259 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: AH_MIN
260 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: AH_SLOPE_Cooling
261 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: AH_SLOPE_Heating
262 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: FcEF_v_kgkm
263 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: QF0_BEU
264 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: Qf_A
265 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: Qf_B
266 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: Qf_C
267 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: PopDensDaytime
268 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: BaseT_Cooling
269 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: BaseT_Heating
270 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: TrafficRate
271 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(IN) :: Ie_a
272 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(IN) :: Ie_m
273 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(IN) :: MaxConductance
274 REAL(KIND(1D0)),
DIMENSION(7),
INTENT(IN) :: DayWat
275 REAL(KIND(1D0)),
DIMENSION(7),
INTENT(IN) :: DayWatPer
276 REAL(KIND(1D0)),
DIMENSION(nsurf + 1),
INTENT(IN) :: OHM_threshSW
277 REAL(KIND(1D0)),
DIMENSION(nsurf + 1),
INTENT(IN) :: OHM_threshWD
278 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: chAnOHM
279 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: cpAnOHM
280 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: emis
281 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: kkAnOHM
282 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SatHydraulicConduct
283 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: sfr_surf
284 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SnowPackLimit
285 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SoilDepth
286 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SoilStoreCap_surf
287 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: StateLimit_surf
288 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: WetThresh_surf
289 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: alpha_bioCO2
290 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: alpha_enh_bioCO2
291 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: BaseT
292 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: BaseTe
293 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: beta_bioCO2
294 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: beta_enh_bioCO2
295 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: GDDFull
296 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: LAIMax
297 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: LAIMin
298 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: min_res_bioCO2
299 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: resp_a
300 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: resp_b
301 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: SDDFull
302 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: SnowProf_24hr
303 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: theta_bioCO2
304 REAL(KIND(1D0)),
DIMENSION(4, NVEGSURF),
INTENT(IN) :: LAIPower
305 REAL(KIND(1D0)),
DIMENSION(nsurf + 1, 4, 3),
INTENT(IN) :: OHM_coef
306 REAL(KIND(1D0)),
DIMENSION(NSURF + 1, NSURF - 1),
INTENT(IN) :: WaterDist
307 REAL(KIND(1D0)),
DIMENSION(:),
INTENT(IN) :: Ts5mindata_ir
308 REAL(KIND(1D0)),
DIMENSION(:, :),
INTENT(IN) :: MetForcingData_grid
311 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: AHProf_24hr
312 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: HumActivity_24hr
313 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: PopProf_24hr
314 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: TraffProf_24hr
315 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: WUProfA_24hr
316 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: WUProfM_24hr
320 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: SoilStoreCap_roof
321 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: StateLimit_roof
322 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: wetthresh_roof
323 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: soilstore_roof
324 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: state_roof
326 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: SoilStoreCap_wall
327 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: StateLimit_wall
328 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: wetthresh_wall
329 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: soilstore_wall
330 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: state_wall
337 REAL(KIND(1D0)),
INTENT(INOUT) :: qn_av
338 REAL(KIND(1D0)),
INTENT(INOUT) :: dqndt
339 REAL(KIND(1D0)),
INTENT(INOUT) :: qn_s_av
340 REAL(KIND(1D0)),
INTENT(INOUT) :: dqnsdt
343 REAL(KIND(1D0)),
INTENT(INOUT) :: SnowfallCum
344 REAL(KIND(1D0)),
INTENT(INOUT) :: SnowAlb
345 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: IceFrac
346 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowWater
347 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowDens
348 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowFrac
349 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowPack
352 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: soilstore_surf
353 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: state_surf
354 REAL(KIND(1D0)),
DIMENSION(6, NSURF),
INTENT(INOUT) :: StoreDrainPrm
357 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: alb
358 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(INOUT) :: GDD_id
359 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(INout) :: SDD_id
360 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(INOUT) :: LAI_id
361 REAL(KIND(1D0)),
INTENT(INout) :: Tmin_id
362 REAL(KIND(1D0)),
INTENT(INout) :: Tmax_id
363 REAL(KIND(1D0)),
INTENT(INout) :: lenDay_id
364 REAL(KIND(1D0)),
INTENT(INOUT) :: DecidCap_id
365 REAL(KIND(1D0)),
INTENT(INOUT) :: albDecTr_id
366 REAL(KIND(1D0)),
INTENT(INOUT) :: albEveTr_id
367 REAL(KIND(1D0)),
INTENT(INOUT) :: albGrass_id
368 REAL(KIND(1D0)),
INTENT(INOUT) :: porosity_id
371 REAL(KIND(1D0)),
DIMENSION(12),
INTENT(INOUT) :: HDD_id
374 REAL(KIND(1D0)),
DIMENSION(9),
INTENT(INOUT) :: WUDay_id
377 REAL(KIND(1D0)),
INTENT(INOUT) :: Tair_av
380 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(INOUT) :: temp_roof
381 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(INOUT) :: temp_wall
382 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(INOUT) :: temp_surf
384 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: tsfc_roof
385 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: tsfc_wall
386 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(INOUT) :: tsfc_surf
389 INTEGER,
INTENT(IN) :: n_vegetation_region_urban
390 INTEGER,
INTENT(IN) :: n_stream_sw_urban
391 INTEGER,
INTENT(IN) :: n_stream_lw_urban
392 REAL(KIND(1D0)),
INTENT(IN) :: sw_dn_direct_frac
393 REAL(KIND(1D0)),
INTENT(IN) :: air_ext_sw
394 REAL(KIND(1D0)),
INTENT(IN) :: air_ssa_sw
395 REAL(KIND(1D0)),
INTENT(IN) :: veg_ssa_sw
396 REAL(KIND(1D0)),
INTENT(IN) :: air_ext_lw
397 REAL(KIND(1D0)),
INTENT(IN) :: air_ssa_lw
398 REAL(KIND(1D0)),
INTENT(IN) :: veg_ssa_lw
399 REAL(KIND(1D0)),
INTENT(IN) :: veg_fsd_const
400 REAL(KIND(1D0)),
INTENT(IN) :: veg_contact_fraction_const
401 REAL(KIND(1D0)),
INTENT(IN) :: ground_albedo_dir_mult_fact
407 REAL(KIND(1D0)),
DIMENSION(5),
INTENT(OUT) :: datetimeLine
408 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSUEWS - 5),
INTENT(OUT) :: dataOutLineSUEWS
409 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSnow - 5),
INTENT(OUT) :: dataOutLineSnow
410 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutESTM - 5),
INTENT(OUT) :: dataOutLineESTM
411 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutESTMExt - 5),
INTENT(OUT) :: dataOutLineESTMExt
412 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutRSL - 5),
INTENT(OUT) :: dataoutLineRSL
413 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutBEERS - 5),
INTENT(OUT) :: dataOutLineBEERS
414 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutDebug - 5),
INTENT(OUT) :: dataOutLineDebug
415 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSPARTACUS - 5),
INTENT(OUT) :: dataOutLineSPARTACUS
416 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutDailyState - 5),
INTENT(OUT) :: DailyStateLine
421 REAL(KIND(1D0)) :: a1
422 REAL(KIND(1D0)) :: a2
423 REAL(KIND(1D0)) :: a3
424 REAL(KIND(1D0)) :: AdditionalWater
425 REAL(KIND(1D0)) :: U10_ms
426 REAL(KIND(1D0)) :: azimuth
427 REAL(KIND(1D0)) :: chSnow_per_interval
429 REAL(KIND(1D0)) :: dens_dry
430 REAL(KIND(1D0)) :: deltaLAI
431 REAL(KIND(1D0)) :: drain_per_tstep
432 REAL(KIND(1D0)) :: Ea_hPa
433 REAL(KIND(1D0)) :: QE_LUMPS
434 REAL(KIND(1D0)) :: es_hPa
435 REAL(KIND(1D0)) :: ev_per_tstep
436 REAL(KIND(1D0)) :: wu_ext
437 REAL(KIND(1D0)) :: Fc
438 REAL(KIND(1D0)) :: Fc_anthro
439 REAL(KIND(1D0)) :: Fc_biogen
440 REAL(KIND(1D0)) :: Fc_build
441 REAL(KIND(1D0)) :: fcld
442 REAL(KIND(1D0)) :: Fc_metab
443 REAL(KIND(1D0)) :: Fc_photo
444 REAL(KIND(1D0)) :: Fc_point
445 REAL(KIND(1D0)) :: Fc_respi
446 REAL(KIND(1D0)) :: Fc_traff
447 REAL(KIND(1D0)) :: gfunc
448 REAL(KIND(1D0)) :: gsc
449 REAL(KIND(1D0)) :: QH_LUMPS
450 REAL(KIND(1D0)) :: wu_int
451 REAL(KIND(1D0)) :: kclear
452 REAL(KIND(1D0)) :: kup
453 REAL(KIND(1D0)) :: ldown
454 REAL(KIND(1D0)) :: lup
455 REAL(KIND(1D0)) :: L_mod
456 REAL(KIND(1D0)) :: mwh
457 REAL(KIND(1D0)) :: mwstore
458 REAL(KIND(1D0)) :: NWstate_per_tstep
459 REAL(KIND(1D0)) :: FAI
460 REAL(KIND(1D0)) :: PAI
461 REAL(KIND(1D0)) :: zL
462 REAL(KIND(1D0)) :: q2_gkg
463 REAL(KIND(1D0)) :: qe
464 REAL(KIND(1D0)) :: qf
465 REAL(KIND(1D0)) :: QF_SAHP
466 REAL(KIND(1D0)) :: qh
467 REAL(KIND(1D0)) :: qh_residual
468 REAL(KIND(1D0)) :: qh_resist
469 REAL(KIND(1D0)) :: Qm
470 REAL(KIND(1D0)) :: QmFreez
471 REAL(KIND(1D0)) :: QmRain
472 REAL(KIND(1D0)) :: qn
473 REAL(KIND(1D0)) :: qn_snow
474 REAL(KIND(1D0)) :: qn_snowfree
475 REAL(KIND(1D0)) :: qs
476 REAL(KIND(1D0)) :: RA_h
477 REAL(KIND(1D0)) :: RS
478 REAL(KIND(1D0)),
DIMENSION(NSURF) :: rss_surf
479 REAL(KIND(1D0)) :: RH2
480 REAL(KIND(1D0)) :: runoffAGveg
481 REAL(KIND(1D0)) :: runoffAGimpervious
482 REAL(KIND(1D0)) :: runoff_per_tstep
483 REAL(KIND(1D0)) :: runoffPipes
484 REAL(KIND(1D0)) :: runoffSoil_per_tstep
485 REAL(KIND(1D0)) :: runoffwaterbody
486 REAL(KIND(1D0)) :: smd
487 REAL(KIND(1D0)) :: SoilState
488 REAL(KIND(1D0)) :: state_per_tstep
489 REAL(KIND(1D0)) :: surf_chang_per_tstep
490 REAL(KIND(1D0)) :: swe
491 REAL(KIND(1D0)) :: t2_C
492 REAL(KIND(1D0)) :: TSfc_C
493 REAL(KIND(1D0)) :: TempVeg
494 REAL(KIND(1D0)) :: tot_chang_per_tstep
495 REAL(KIND(1D0)) :: TStar
496 REAL(KIND(1D0)) :: tsurf
497 REAL(KIND(1D0)) :: UStar
498 REAL(KIND(1D0)) :: VPD_Pa
499 REAL(KIND(1D0)) :: z0m
500 REAL(KIND(1D0)) :: zdm
501 REAL(KIND(1D0)) :: ZENITH_deg
502 REAL(KIND(1D0)) :: zH
504 REAL(KIND(1D0)),
DIMENSION(2) :: SnowRemoval
505 REAL(KIND(1D0)),
DIMENSION(NSURF) :: wu_surf
507 REAL(KIND(1D0)),
DIMENSION(nsurf) :: kup_ind_snow
512 REAL(KIND(1D0)),
DIMENSION(NSURF) :: qn_ind_snow
514 REAL(KIND(1D0)),
DIMENSION(NSURF) :: runoffSoil
515 REAL(KIND(1D0)),
DIMENSION(NSURF) :: smd_nsurf
518 REAL(KIND(1D0)),
DIMENSION(nsurf) :: Tsurf_ind_snow
521 INTEGER,
DIMENSION(3) :: dayofWeek_id
524 REAL(KIND(1D0)) :: dq
525 REAL(KIND(1D0)) :: lvS_J_kg
526 REAL(KIND(1D0)) :: psyc_hPa
527 REAL(KIND(1D0)) :: z0v
528 REAL(KIND(1D0)) :: z0vSnow
529 REAL(KIND(1D0)) :: RAsnow
530 REAL(KIND(1D0)) :: RB
531 REAL(KIND(1D0)) :: runoff_per_interval
532 REAL(KIND(1D0)) :: s_hPa
533 REAL(KIND(1D0)) :: sIce_hpa
534 REAL(KIND(1D0)) :: SoilMoistCap
536 REAL(KIND(1D0)) :: VegPhenLumps
537 REAL(KIND(1D0)) :: VPd_hpa
538 REAL(KIND(1D0)) :: vsmd
539 REAL(KIND(1D0)) :: ZZD
541 REAL(KIND(1D0)),
DIMENSION(NSURF) :: deltaQi
542 REAL(KIND(1D0)),
DIMENSION(NSURF) :: drain_surf
545 REAL(KIND(1D0)),
DIMENSION(NSURF) :: tsurf_ind
550 REAL(KIND(1D0)) :: addImpervious = 0
551 REAL(KIND(1D0)) :: addPipes = 0
552 REAL(KIND(1D0)) :: addVeg = 0
553 REAL(KIND(1D0)) :: addWaterBody = 0
554 REAL(KIND(1D0)),
DIMENSION(NSURF) :: AddWater = 0
555 REAL(KIND(1D0)),
DIMENSION(NSURF) :: frac_water2runoff = 0
559 REAL(KIND(1D0)) :: nsh_real
560 REAL(KIND(1D0)) :: tstep_real
561 REAL(KIND(1D0)) :: dectime
564 REAL(KIND(1D0)) :: VegFraction
565 REAL(KIND(1D0)) :: ImpervFraction
566 REAL(KIND(1D0)) :: PervFraction
567 REAL(KIND(1D0)) :: NonWaterFraction
570 REAL(KIND(1D0)) :: albedo_snow
580 REAL(KIND(1D0)) :: qn_av_prev, qn_av_next
581 REAL(KIND(1D0)) :: dqndt_prev, dqndt_next
582 REAL(KIND(1D0)) :: qn_s_av_prev, qn_s_av_next
583 REAL(KIND(1D0)) :: dqnsdt_prev, dqnsdt_next
586 REAL(KIND(1D0)) :: SnowfallCum_prev, SnowfallCum_next
587 REAL(KIND(1D0)) :: SnowAlb_prev, SnowAlb_next
589 REAL(KIND(1D0)),
DIMENSION(NSURF) :: IceFrac_prev, IceFrac_next
590 REAL(KIND(1D0)),
DIMENSION(NSURF) :: SnowWater_prev, SnowWater_next
591 REAL(KIND(1D0)),
DIMENSION(NSURF) :: SnowDens_prev, SnowDens_next
592 REAL(KIND(1D0)),
DIMENSION(NSURF) :: SnowFrac_prev, SnowFrac_next
593 REAL(KIND(1D0)),
DIMENSION(NSURF) :: SnowPack_prev, SnowPack_next
596 REAL(KIND(1D0)),
DIMENSION(NSURF) :: soilstore_surf_prev, soilstore_surf_next
597 REAL(KIND(1D0)),
DIMENSION(nlayer) :: soilstore_roof_prev, soilstore_roof_next
598 REAL(KIND(1D0)),
DIMENSION(nlayer) :: soilstore_wall_prev, soilstore_wall_next
599 REAL(KIND(1D0)),
DIMENSION(NSURF) :: state_surf_prev, state_surf_next
600 REAL(KIND(1D0)),
DIMENSION(nlayer) :: state_roof_prev, state_roof_next
601 REAL(KIND(1D0)),
DIMENSION(nlayer) :: state_wall_prev, state_wall_next
602 REAL(KIND(1D0)),
DIMENSION(NSURF) :: ev0_surf
603 REAL(KIND(1D0)),
DIMENSION(NSURF) :: ev_surf
604 REAL(KIND(1D0)),
DIMENSION(nlayer) :: ev_roof
605 REAL(KIND(1D0)),
DIMENSION(nlayer) :: ev_wall
606 REAL(KIND(1D0)),
DIMENSION(6, NSURF) :: StoreDrainPrm_prev, StoreDrainPrm_next
609 REAL(KIND(1D0)),
DIMENSION(NSURF) :: alb_prev, alb_next
610 REAL(KIND(1D0)),
DIMENSION(nvegsurf) :: GDD_id_prev, GDD_id_next
611 REAL(KIND(1D0)),
DIMENSION(nvegsurf) :: LAI_id_prev, LAI_id_next
612 REAL(KIND(1D0)),
DIMENSION(nvegsurf) :: SDD_id_prev, SDD_id_next
614 REAL(KIND(1D0)) :: DecidCap_id_prev, DecidCap_id_next
615 REAL(KIND(1D0)) :: albDecTr_id_prev, albDecTr_id_next
616 REAL(KIND(1D0)) :: albEveTr_id_prev, albEveTr_id_next
617 REAL(KIND(1D0)) :: albGrass_id_prev, albGrass_id_next
618 REAL(KIND(1D0)) :: porosity_id_prev, porosity_id_next
620 REAL(KIND(1D0)) :: Tmin_id_prev, Tmin_id_next
621 REAL(KIND(1D0)) :: Tmax_id_prev, Tmax_id_next
622 REAL(KIND(1D0)) :: lenDay_id_prev, lenDay_id_next
625 REAL(KIND(1D0)),
DIMENSION(12) :: HDD_id_prev, HDD_id_next
628 REAL(KIND(1D0)),
DIMENSION(9) :: WUDay_id_prev, WUDay_id_next
630 REAL(KIND(1D0)) :: Tair_av_prev, Tair_av_next
634 INTEGER,
PARAMETER :: nz = 90
637 LOGICAL :: flag_converge
638 REAL(KIND(1D0)) :: Ts_iter
639 REAL(KIND(1D0)) :: dif_tsfc_iter
640 REAL(KIND(1D0)) :: QH_Init
647 REAL(KIND(1D0)),
DIMENSION(nlayer) :: tsfc_out_roof, tsfc0_out_roof
648 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tin_roof
649 REAL(KIND(1D0)),
DIMENSION(nlayer) :: sfr_roof
650 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth) :: temp_in_roof
651 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: k_roof
652 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: cp_roof
653 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: dz_roof
655 REAL(KIND(1D0)),
DIMENSION(nlayer) :: tsfc_out_wall, tsfc0_out_wall
656 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tin_wall
657 REAL(KIND(1D0)),
DIMENSION(nlayer) :: sfr_wall
658 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth) :: temp_in_wall
659 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: k_wall
660 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: cp_wall
661 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: dz_wall
663 REAL(KIND(1D0)),
DIMENSION(nsurf) :: tsfc_out_surf, tsfc0_out_surf
664 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: tin_surf
665 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth) :: temp_in_surf
666 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: k_surf
667 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: cp_surf
668 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: dz_surf
674 REAL(KIND(1D0)),
DIMENSION(nlayer) :: QS_roof
676 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth) :: temp_out_roof
679 REAL(KIND(1D0)),
DIMENSION(nlayer) :: QG_roof
680 REAL(KIND(1D0)),
DIMENSION(nlayer) :: QN_roof
681 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qe_roof
682 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qh_roof
683 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qh_resist_roof
687 REAL(KIND(1D0)),
DIMENSION(nlayer) :: QS_wall
689 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth) :: temp_out_wall
692 REAL(KIND(1D0)),
DIMENSION(nlayer) :: QG_wall
693 REAL(KIND(1D0)),
DIMENSION(nlayer) :: QN_wall
694 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qe_wall
695 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qh_wall
696 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qh_resist_wall
700 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth) :: temp_out_surf
703 REAL(KIND(1D0)),
DIMENSION(nsurf) :: QG_surf
704 REAL(KIND(1D0)),
DIMENSION(nsurf) :: QN_surf
705 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qs_surf
706 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qe0_surf
707 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qe_surf
708 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qh_surf
709 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qh_resist_surf
718 REAL(KIND(1D0)) :: ratio_iter
720 LOGICAL,
INTENT(IN) :: use_sw_direct_albedo
722 REAL(KIND(1D0)),
DIMENSION(nlayer + 1),
INTENT(IN) :: height
723 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_frac
724 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: veg_frac
725 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_scale
726 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: veg_scale
727 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: alb_roof
728 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: emis_roof
729 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: alb_wall
730 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: emis_wall
731 REAL(KIND(1D0)),
DIMENSION(nspec, nlayer),
INTENT(IN) :: roof_albedo_dir_mult_fact
732 REAL(KIND(1D0)),
DIMENSION(nspec, nlayer),
INTENT(IN) :: wall_specular_frac
739 chsnow_per_interval = 0.
752 IF (snowuse == 0)
THEN
765 qn_s_av_prev = qn_s_av
767 snowfallcum_prev = snowfallcum
768 snowalb_prev = snowalb
769 icefrac_prev = icefrac
770 snowwater_prev = snowwater
771 snowdens_prev = snowdens
772 snowfrac_prev = merge(snowfrac_obs, snowfrac, netradiationmethod == 0)
773 snowpack_prev = snowpack
774 state_surf_prev = state_surf
775 soilstore_surf_prev = soilstore_surf
776 IF (storageheatmethod == 5)
THEN
777 state_roof_prev = state_roof
778 state_wall_prev = state_wall
779 soilstore_roof_prev = soilstore_roof
780 soilstore_wall_prev = soilstore_wall
782 tair_av_prev = tair_av
786 tmin_id_prev = tmin_id
787 tmax_id_prev = tmax_id
788 lenday_id_prev = lenday_id
789 storedrainprm_prev = storedrainprm
790 decidcap_id_prev = decidcap_id
791 porosity_id_prev = porosity_id
793 albdectr_id_prev = albdectr_id
794 albevetr_id_prev = albevetr_id
795 albgrass_id_prev = albgrass_id
797 wuday_id_prev = wuday_id
801 IF (storageheatmethod == 5)
THEN
802 temp_in_roof = temp_roof
803 temp_in_wall = temp_wall
804 temp_in_surf = temp_surf
814 qn_s_av_next = qn_s_av
816 snowfallcum_next = snowfallcum
817 snowalb_next = snowalb
818 icefrac_next = icefrac
819 snowwater_next = snowwater
820 snowdens_next = snowdens
821 snowfrac_next = snowfrac_prev
822 snowpack_next = snowpack
823 state_surf_next = state_surf
824 soilstore_surf_next = soilstore_surf
826 IF (storageheatmethod == 5)
THEN
828 soilstore_roof_next = soilstore_roof
829 soilstore_wall_next = soilstore_wall
830 state_roof_next = state_roof
831 state_wall_next = state_wall
835 tair_av_next = tair_av
839 tmin_id_next = tmin_id
840 tmax_id_next = tmax_id
841 lenday_id_next = lenday_id
842 storedrainprm_next = storedrainprm
843 decidcap_id_next = decidcap_id
844 porosity_id_next = porosity_id
846 albdectr_id_next = albdectr_id
847 albevetr_id_next = albevetr_id
848 albgrass_id_next = albgrass_id
850 wuday_id_next = wuday_id
853 dataoutlinesnow = -999.
854 dataoutlineestm = -999.
855 dataoutlineestmext = -999.
856 dataoutlinersl = -999.
857 dataoutlinebeers = -999.
858 dataoutlinedebug = -999.
859 dataoutlinespartacus = -999.
860 dailystateline = -999.
867 flag_converge = .false.
870 tsfc_out_surf = tsfc_surf
871 tsfc0_out_surf = tsfc_surf
873 IF (storageheatmethod == 5 .OR. netradiationmethod > 1000)
THEN
874 tsfc_out_roof = tsfc_roof
875 tsfc0_out_roof = tsfc_roof
876 tsfc_out_wall = tsfc_wall
877 tsfc0_out_wall = tsfc_wall
884 DO WHILE ((.NOT. flag_converge) .AND. i_iter < max_iter)
890 id, it, imin, isec, &
896 nsh, nsh_real, tstep_real)
900 storageheatmethod, netradiationmethod, &
902 building_frac, building_scale, height, &
903 vegfraction, impervfraction, pervfraction, nonwaterfraction, &
913 id, startdls, enddls, &
917 tair_av_next =
cal_tair_av(tair_av_prev, dt_since_start, tstep, temp_c)
922 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_cal_RoughnessParameters...'
923 IF (diagnose == 1) print *,
'z0m_in =', z0m_in
925 roughlenmommethod, sfr_surf, &
926 bldgh, evetreeh, dectreeh, &
927 porosity_id_prev, faibldg, faievetree, faidectree, &
933 IF (diagnose == 1)
WRITE (*, *)
'Calling NARP_cal_SunPosition...'
935 REAL(iy, KIND(1D0)), &
936 dectime - tstep/2/86400, &
937 timezone, lat, lng, alt, &
941 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_cal_DailyState...'
943 iy, id, it, imin, isec, tstep, tstep_prev, dt_since_start, dayofweek_id, &
944 tmin_id_prev, tmax_id_prev, lenday_id_prev, &
946 waterusemethod, ie_start, ie_end, &
947 laicalcyes, laitype, &
948 nsh_real, kdown, temp_c, precip, baset_hc, &
949 baset_heating, baset_cooling, &
950 lat, faut, lai_obs, &
951 albmax_dectr, albmax_evetr, albmax_grass, &
952 albmin_dectr, albmin_evetr, albmin_grass, &
953 capmax_dec, capmin_dec, pormax_dec, pormin_dec, &
954 ie_a, ie_m, daywatper, daywat, &
955 baset, basete, gddfull, sddfull, laimin, laimax, laipower, &
956 decidcap_id_prev, storedrainprm_prev, lai_id_prev, gdd_id_prev, sdd_id_prev, &
957 albdectr_id_prev, albevetr_id_prev, albgrass_id_prev, porosity_id_prev, &
959 state_surf_prev, soilstore_surf_prev, soilstorecap_surf, h_maintain, &
961 tmin_id_next, tmax_id_next, lenday_id_next, &
962 albdectr_id_next, albevetr_id_next, albgrass_id_next, porosity_id_next, &
963 decidcap_id_next, storedrainprm_next, lai_id_next, gdd_id_next, sdd_id_next, deltalai, wuday_id_next)
966 IF (diagnose == 1)
WRITE (*, *)
'Calling LUMPS_cal_AtmMoist...'
968 temp_c, press_hpa, avrh, dectime, &
970 es_hpa, ea_hpa, vpd_hpa, vpd_pa, dq, dens_dry,
avcp,
avdens)
973 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_update_SoilMoist...'
976 soilstorecap_surf, sfr_surf, soilstore_surf_prev, &
977 soilmoistcap, soilstate, &
980 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_cal_WaterUse...'
984 wu_m3, surfacearea, sfr_surf, &
985 irrfracpaved, irrfracbldgs, &
986 irrfracevetr, irrfracdectr, irrfracgrass, &
987 irrfracbsoil, irrfracwater, &
988 dayofweek_id, wuprofa_24hr, wuprofm_24hr, &
989 internalwateruse_h, hdd_id_next, wuday_id_next, &
990 waterusemethod, nsh, it, imin, dls, &
991 wu_surf, wu_int, wu_ext)
995 ah_min, ahprof_24hr, ah_slope_cooling, ah_slope_heating, co2pointsource, &
996 dayofweek_id, dls, ef_umolco2perj, emissionsmethod, enef_v_jkm, &
997 fcef_v_kgkm, frfossilfuel_heat, frfossilfuel_nonheat, hdd_id_next, humactivity_24hr, &
998 imin, it, maxfcmetab, maxqfmetab, minfcmetab, minqfmetab, &
999 popdensdaytime, popdensnighttime, popprof_24hr, qf, qf0_beu, qf_a, qf_b, qf_c, &
1000 qf_obs, qf_sahp, surfacearea, baset_cooling, baset_heating, &
1001 temp_c, trafficrate, trafficunits, traffprof_24hr, &
1002 fc_anthro, fc_build, fc_metab, fc_point, fc_traff)
1013 storageheatmethod, netradiationmethod, snowuse, &
1014 tstep, nlayer, snowpack_prev, tau_a, tau_f, snowalbmax, snowalbmin, &
1015 diagnose, ldown_obs, fcld_obs, &
1016 dectime, zenith_deg, ts_iter, kdown, temp_c, avrh, ea_hpa, qn1_obs, &
1017 snowalb_prev, snowfrac_prev, diagqn, &
1018 narp_trans_site, narp_emis_snow, icefrac_prev, &
1019 sfr_surf, sfr_roof, sfr_wall, &
1020 tsfc_out_surf, tsfc_out_roof, tsfc_out_wall, &
1021 emis, alb_prev, albdectr_id_next, albevetr_id_next, albgrass_id_next, &
1023 n_vegetation_region_urban, &
1024 n_stream_sw_urban, n_stream_lw_urban, &
1025 sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
1026 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
1027 veg_fsd_const, veg_contact_fraction_const, &
1028 ground_albedo_dir_mult_fact, use_sw_direct_albedo, &
1029 height, building_frac, veg_frac, building_scale, veg_scale, &
1030 alb_roof, emis_roof, alb_wall, emis_wall, &
1031 roof_albedo_dir_mult_fact, wall_specular_frac, &
1032 alb_next, ldown, fcld, &
1033 qn_surf, qn_roof, qn_wall, &
1034 qn, qn_snowfree, qn_snow, kclear, kup, lup, tsurf, &
1035 qn_ind_snow, kup_ind_snow, tsurf_ind_snow, tsurf_ind, &
1036 albedo_snow, snowalb_next, &
1037 dataoutlinespartacus)
1050 IF (i_iter == 1)
THEN
1051 qg_surf = 0.1*qn_surf
1052 qg_roof = 0.1*qn_roof
1053 qg_wall = 0.1*qn_wall
1055 qg_surf = qn_surf + qf - (qh_surf + qe_surf)
1056 qg_roof = qn_roof + qf - (qh_roof + qe_roof)
1057 qg_wall = qn_wall + qf - (qh_wall + qe_wall)
1071 storageheatmethod, qs_obs, ohmincqf, gridiv, &
1072 id, tstep, dt_since_start, diagnose, &
1074 qg_surf, qg_roof, qg_wall, &
1075 tsfc_out_roof, tin_roof, temp_in_roof, k_roof, cp_roof, dz_roof, sfr_roof, &
1076 tsfc_out_wall, tin_wall, temp_in_wall, k_wall, cp_wall, dz_wall, sfr_wall, &
1077 tsfc_out_surf, tin_surf, temp_in_surf, k_surf, cp_surf, dz_surf, sfr_surf, &
1078 ohm_coef, ohm_threshsw, ohm_threshwd, &
1079 soilstore_surf_prev, soilstorecap_surf, state_surf_prev, snowuse, snowfrac_prev, diagqs, &
1080 hdd_id, metforcingdata_grid, ts5mindata_ir, qf, qn, &
1081 kdown, avu1, temp_c, zenith_deg, avrh, press_hpa, ldown, &
1082 bldgh, alb, emis, cpanohm, kkanohm, chanohm, emissionsmethod, &
1083 tair_av, qn_av_prev, dqndt_prev, qn_s_av_prev, dqnsdt_prev, &
1085 qn_snow, dataoutlineestm, qs, &
1086 qn_av_next, dqndt_next, qn_s_av_next, dqnsdt_next, &
1087 deltaqi, a1, a2, a3, &
1088 temp_out_roof, qs_roof, &
1089 temp_out_wall, qs_wall, &
1090 temp_out_surf, qs_surf)
1119 IF (diagnose == 1)
WRITE (*, *)
'Calling MeltHeat'
1122 IF (diagnose == 1)
WRITE (*, *)
'Calling LUMPS_cal_QHQE...'
1123 IF (i_iter == 1)
THEN
1127 snowuse, qn, qf, qs, temp_c, vegfraction,
avcp, press_hpa,
lv_j_kg, &
1128 tstep_real, drainrt, nsh_real, &
1129 precip, rainmaxres, raincover, sfr_surf, lai_id_next, laimax, laimin, &
1131 qe_lumps, psyc_hpa, s_hpa, sice_hpa, tempveg, vegphenlumps)
1143 snowuse, nonwaterfraction, addpipes, addimpervious, addveg, addwaterbody, &
1144 state_surf_prev, sfr_surf, storedrainprm_next, waterdist, nsh_real, &
1146 drain_surf, frac_water2runoff, &
1147 additionalwater, runoffpipes, runoff_per_interval, &
1154 diagnose, aerodynamicresistancemethod, roughlenheatmethod, snowuse, &
1155 id, it, gsmodel, smdmethod, &
1157 avu1, temp_c, vegfraction, kdown, &
1162 dq, xsmd, vsmd, maxconductance, laimax, lai_id_next, snowfrac_prev, sfr_surf, &
1163 ustar, tstar, l_mod, &
1164 zl, gsc, rs, ra_h, rasnow, rb, z0v, z0vsnow)
1169 IF (snowuse == 1)
THEN
1174 tstep, imin, it, evapmethod, dayofweek_id, crwmin, crwmax, &
1176 rasnow, psyc_hpa, sice_hpa, tau_r, &
1177 radmeltfact, tempmeltfact, snowalbmax, preciplimit, preciplimitalb, &
1178 qn_ind_snow, kup_ind_snow, deltaqi, tsurf_ind_snow, &
1180 pervfraction, vegfraction, addimpervious, qn_snowfree, qf, qs, vpd_hpa, s_hpa, &
1181 rs, ra_h, rb, snowdensmax, snowdensmin, precip, pipecapacity, runofftowater, &
1182 addveg, snowlimpaved, snowlimbldg, &
1183 flowchange, drain_surf, wetthresh_surf, soilstorecap_surf, &
1184 tsurf_ind, sfr_surf, &
1185 addwater, frac_water2runoff, storedrainprm_next, snowpacklimit, snowprof_24hr, &
1186 snowpack_prev, snowfrac_prev, snowwater_prev, icefrac_prev, snowdens_prev, &
1187 snowfallcum_prev, state_surf_prev, soilstore_surf_prev, &
1190 snowpack_next, snowfrac_next, snowwater_next, icefrac_next, snowdens_next, &
1191 snowfallcum_next, state_surf_next, soilstore_surf_next, &
1192 state_per_tstep, nwstate_per_tstep, &
1193 qe, qe_surf, qe_roof, qe_wall, &
1195 swe, chsnow_per_interval, ev_per_tstep, runoff_per_tstep, &
1196 surf_chang_per_tstep, runoffpipes, mwstore, runoffwaterbody, &
1197 runoffagveg, runoffagimpervious, rss_surf, &
1204 diagnose, storageheatmethod, nlayer, &
1211 qf, vpd_hpa, s_hpa, rs, ra_h, rb, &
1212 precip, pipecapacity, runofftowater, &
1213 nonwaterfraction, wu_surf, addveg, addwaterbody, addwater, &
1214 flowchange, drain_surf, &
1215 frac_water2runoff, storedrainprm_next, &
1216 sfr_surf, statelimit_surf, soilstorecap_surf, wetthresh_surf, &
1217 state_surf_prev, soilstore_surf_prev, qn_surf, qs_surf, &
1218 sfr_roof, statelimit_roof, soilstorecap_roof, wetthresh_roof, &
1219 state_roof_prev, soilstore_roof_prev, qn_roof, qs_roof, &
1220 sfr_wall, statelimit_wall, soilstorecap_wall, wetthresh_wall, &
1221 state_wall_prev, soilstore_wall_prev, qn_wall, qs_wall, &
1222 state_surf_next, soilstore_surf_next, ev_surf, &
1223 state_roof_next, soilstore_roof_next, ev_roof, &
1224 state_wall_next, soilstore_wall_next, ev_wall, &
1225 state_per_tstep, nwstate_per_tstep, &
1226 ev0_surf, qe0_surf, &
1227 qe, qe_surf, qe_roof, qe_wall, &
1228 ev_per_tstep, runoff_per_tstep, &
1229 surf_chang_per_tstep, runoffpipes, &
1231 runoffagveg, runoffagimpervious, rss_surf)
1234 IF (diagnose == 1) print *,
'before SUEWS_cal_SoilState soilstore_id = ', soilstore_surf_next
1238 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_cal_HorizontalSoilWater...'
1241 soilstorecap_surf, &
1243 sathydraulicconduct, &
1247 soilstore_surf_next, &
1249 runoffsoil_per_tstep &
1253 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_cal_SoilState...'
1255 smdmethod, xsmd, nonwaterfraction, soilmoistcap, &
1256 soilstorecap_surf, surf_chang_per_tstep, &
1257 soilstore_surf_next, soilstore_surf_prev, sfr_surf, &
1258 smd, smd_nsurf, tot_chang_per_tstep, soilstate)
1261 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_cal_QH...'
1263 1, nlayer, storageheatmethod, &
1264 qn, qf, qmrain, qe, qs, qmfreez, qm,
avdens,
avcp, &
1265 sfr_surf, sfr_roof, sfr_wall, &
1266 tsfc_out_surf, tsfc_out_roof, tsfc_out_wall, &
1269 qh, qh_residual, qh_resist, &
1270 qh_resist_surf, qh_resist_roof, qh_resist_wall)
1299 tsfc0_out_surf = min(tsfc_out_surf, temp_c + 50)
1300 tsfc0_out_roof = min(tsfc_out_roof, temp_c + 50)
1301 tsfc0_out_wall = min(tsfc_out_wall, temp_c + 50)
1303 qh_surf = qn_surf + qf - qs_surf - qe_surf
1304 qh_roof = qn_roof + qf - qs_roof - qe_roof
1305 qh_wall = qn_wall + qf - qs_wall - qe_wall
1306 IF (diagnose == 1)
THEN
1307 print *,
'qn_surf before QH back env.:', qn_surf
1308 print *,
'qf before QH back env.:', qf
1309 print *,
'qs_surf before QH back env.:', qs_surf
1310 print *,
'qe_surf before QH back env.:', qe_surf
1311 print *,
'qh_surf before QH back env.:', qh_surf
1313 print *,
'qn_roof before QH back env.:', qn_roof
1314 print *,
'qs_roof before QH back env.:', qs_roof
1315 print *,
'qe_roof before QH back env.:', qe_roof
1316 print *,
'qh_roof before QH back env.:', qh_roof
1319 DO i_surf = 1,
nsurf
1331 DO i_surf = 1, nlayer
1336 IF (diagnose == 1) print *,
'tsfc_surf after QH back env.:', tsfc_out_surf
1338 IF (diagnose == 1) print *, &
1339 'tsfc_surf abs. diff.:', maxval(abs(tsfc_out_surf - tsfc0_out_surf)), maxloc(abs(tsfc_out_surf - tsfc0_out_surf))
1340 dif_tsfc_iter = maxval(abs(tsfc_out_surf - tsfc0_out_surf))
1341 IF (storageheatmethod == 5)
THEN
1342 IF (diagnose == 1) print *, &
1343 'tsfc_roof abs. diff.:', maxval(abs(tsfc_out_roof - tsfc0_out_roof)), maxloc(abs(tsfc_out_roof - tsfc0_out_roof))
1344 dif_tsfc_iter = max(maxval(abs(tsfc_out_roof - tsfc0_out_roof)), dif_tsfc_iter)
1345 IF (diagnose == 1) print *, &
1346 'tsfc_wall abs. diff.:', maxval(abs(tsfc_out_wall - tsfc0_out_wall)), maxloc(abs(tsfc_out_wall - tsfc0_out_wall))
1347 dif_tsfc_iter = max(maxval(abs(tsfc0_out_wall - tsfc_out_wall)), dif_tsfc_iter)
1353 tsfc_out_surf = (tsfc0_out_surf*(1 - ratio_iter) + tsfc_out_surf*ratio_iter)
1354 tsfc_out_roof = (tsfc0_out_roof*(1 - ratio_iter) + tsfc_out_roof*ratio_iter)
1355 tsfc_out_wall = (tsfc0_out_wall*(1 - ratio_iter) + tsfc_out_wall*ratio_iter)
1376 IF (dif_tsfc_iter > .1)
THEN
1377 flag_converge = .false.
1379 flag_converge = .true.
1389 IF (diagnose == 1 .AND. i_iter == max_iter)
THEN
1409 IF (diagnose == 1)
WRITE (*, *)
'Calling RSLProfile...'
1412 zh, z0m, zdm, z0v, &
1413 l_mod, sfr_surf, fai, pai, &
1414 stabilitymethod, ra_h, &
1416 avu1, temp_c, avrh, press_hpa, z, qh, qe, &
1417 t2_c, q2_gkg, u10_ms, rh2, &
1422 alpha_bioco2, alpha_enh_bioco2, kdown, avrh, beta_bioco2, beta_enh_bioco2, &
1423 dectime, diagnose, emissionsmethod, fc_anthro, g1, g2, g3, g4, &
1424 g5, g6, gfunc, gsmodel, id, it, kmax, lai_id_next, laimin, &
1425 laimax, maxconductance, min_res_bioco2, press_hpa, resp_a, &
1426 resp_b, s1, s2, sfr_surf, smdmethod, snowfrac, t2_c, temp_c, theta_bioco2, th, tl, vsmd, xsmd, &
1427 fc, fc_biogen, fc_photo, fc_respi)
1436 qn_s_av = qn_s_av_next
1437 dqnsdt = dqnsdt_next
1438 snowfallcum = snowfallcum_next
1439 snowalb = snowalb_next
1440 icefrac = icefrac_next
1441 snowwater = snowwater_next
1442 snowdens = snowdens_next
1443 snowfrac = snowfrac_next
1444 snowpack = snowpack_next
1446 soilstore_surf = soilstore_surf_next
1447 state_surf = state_surf_next
1449 gdd_id = gdd_id_next
1450 sdd_id = sdd_id_next
1451 lai_id = lai_id_next
1452 decidcap_id = decidcap_id_next
1453 albdectr_id = albdectr_id_next
1454 albevetr_id = albevetr_id_next
1455 albgrass_id = albgrass_id_next
1456 porosity_id = porosity_id_next
1457 storedrainprm = storedrainprm_next
1458 tair_av = tair_av_next
1459 tmin_id = tmin_id_next
1460 tmax_id = tmax_id_next
1461 lenday_id = lenday_id_next
1462 hdd_id = hdd_id_next
1463 wuday_id = wuday_id_next
1465 IF (storageheatmethod == 5)
THEN
1467 temp_roof = temp_out_roof
1468 temp_wall = temp_out_wall
1469 temp_surf = temp_out_surf
1470 tsfc_roof = tsfc_out_roof
1471 tsfc_wall = tsfc_out_wall
1472 tsfc_surf = tsfc_out_surf
1474 soilstore_roof = soilstore_roof_next
1475 state_roof = state_roof_next
1476 soilstore_wall = soilstore_wall_next
1477 state_wall = state_wall_next
1491 pai = sfr_surf(2)/sum(sfr_surf(1:2))
1492 CALL beers_cal_main(iy, id, dectime, pai, fai, kdown, ldown, temp_c, avrh, &
1493 press_hpa, tsfc_c, lat, lng, alt, timezone, zenith_deg, azimuth, &
1494 alb(1), alb(2), emis(1), emis(2), &
1499 dataoutlinebeers =
set_nan(dataoutlinebeers)
1504 additionalwater, alb, kdown, u10_ms, azimuth, &
1505 chsnow_per_interval, dectime, &
1506 drain_per_tstep, qe_lumps, ev_per_tstep, wu_ext, fc, fc_build, fcld, &
1507 fc_metab, fc_photo, fc_respi, fc_point, fc_traff, flowchange, &
1508 qh_lumps, id, imin, wu_int, it, iy, &
1509 kup, lai_id, ldown, l_mod, lup, mwh, &
1511 nsh_real, nwstate_per_tstep, precip, q2_gkg, &
1512 qe, qf, qh, qh_resist, qm, qmfreez, &
1513 qmrain, qn, qn_snow, qn_snowfree, qs, ra_h, &
1514 rs, rh2, runoffagimpervious, runoffagveg, &
1515 runoff_per_tstep, runoffpipes, runoffsoil_per_tstep, &
1516 runoffwaterbody, sfr_surf, smd, smd_nsurf, snowalb, snowremoval, &
1517 state_surf_next, state_per_tstep, surf_chang_per_tstep, swe, t2_c, tsfc_c, &
1518 tot_chang_per_tstep, tsurf, ustar, &
1520 z0m, zdm, zenith_deg, &
1521 datetimeline, dataoutlinesuews)
1524 iy, id, it, imin, dectime, nlayer, &
1525 tsfc_out_surf, qs_surf, &
1540 datetimeline, dataoutlineestmext)
1544 it, imin, nsh_real, &
1545 gdd_id, hdd_id, lai_id, &
1547 tmin_id, tmax_id, lenday_id, &
1554 deltalai, vegphenlumps, &
1555 snowalb, snowdens, &
1561 dataoutlinedebug = &
1563 qn_surf, qs_surf, qe0_surf, qe_surf, qh_surf, &
1564 wu_surf, ev0_surf, ev_surf, drain_surf, state_surf_prev, state_surf_next, soilstore_surf_prev, soilstore_surf_next, &
1565 rs, ra_h, rb, rasnow, rss_surf, &
1574 AH_MIN, AHProf_24hr, AH_SLOPE_Cooling, AH_SLOPE_Heating, CO2PointSource, & ! input:
1575 dayofWeek_id, DLS, EF_umolCO2perJ, EmissionsMethod, EnEF_v_Jkm, &
1576 FcEF_v_kgkm, FrFossilFuel_Heat, FrFossilFuel_NonHeat, HDD_id, HumActivity_24hr, &
1577 imin, it, MaxFCMetab, MaxQFMetab, MinFCMetab, MinQFMetab, &
1578 PopDensDaytime, PopDensNighttime, PopProf_24hr, QF, QF0_BEU, Qf_A, Qf_B, Qf_C, &
1579 QF_obs, QF_SAHP, SurfaceArea, BaseT_Cooling, BaseT_Heating, &
1580 Temp_C, TrafficRate, TrafficUnits, TraffProf_24hr, &
1581 Fc_anthro, Fc_build, Fc_metab, Fc_point, Fc_traff)
1586 INTEGER,
INTENT(in) :: DLS
1587 INTEGER,
INTENT(in) :: EmissionsMethod
1589 INTEGER,
INTENT(in) :: it
1590 INTEGER,
INTENT(in) :: imin
1592 INTEGER,
DIMENSION(3),
INTENT(in) :: dayofWeek_id
1594 REAL(KIND(1D0)),
DIMENSION(6, 2),
INTENT(in) :: HDD_id
1596 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: AH_MIN
1597 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: AH_SLOPE_Heating
1598 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: AH_SLOPE_Cooling
1599 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: FcEF_v_kgkm
1601 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: PopDensDaytime
1602 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: QF0_BEU
1603 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: Qf_A
1604 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: Qf_B
1605 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: Qf_C
1606 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: BaseT_Heating
1607 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: BaseT_Cooling
1608 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(in) :: TrafficRate
1610 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(in) :: AHProf_24hr
1611 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(in) :: HumActivity_24hr
1612 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(in) :: TraffProf_24hr
1613 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(in) :: PopProf_24hr
1615 REAL(KIND(1D0)),
INTENT(in) :: CO2PointSource
1616 REAL(KIND(1D0)),
INTENT(in) :: EF_umolCO2perJ
1617 REAL(KIND(1D0)),
INTENT(in) :: EnEF_v_Jkm
1618 REAL(KIND(1D0)),
INTENT(in) :: FrFossilFuel_Heat
1619 REAL(KIND(1D0)),
INTENT(in) :: FrFossilFuel_NonHeat
1620 REAL(KIND(1D0)),
INTENT(in) :: MaxFCMetab
1621 REAL(KIND(1D0)),
INTENT(in) :: MaxQFMetab
1622 REAL(KIND(1D0)),
INTENT(in) :: MinFCMetab
1623 REAL(KIND(1D0)),
INTENT(in) :: MinQFMetab
1624 REAL(KIND(1D0)),
INTENT(in) :: PopDensNighttime
1625 REAL(KIND(1D0)),
INTENT(in) :: QF_obs
1626 REAL(KIND(1D0)),
INTENT(in) :: Temp_C
1627 REAL(KIND(1D0)),
INTENT(in) :: TrafficUnits
1631 REAL(KIND(1D0)),
INTENT(IN) :: SurfaceArea
1633 REAL(KIND(1D0)),
INTENT(out) :: Fc_anthro
1634 REAL(KIND(1D0)),
INTENT(out) :: Fc_build
1635 REAL(KIND(1D0)),
INTENT(out) :: Fc_metab
1636 REAL(KIND(1D0)),
INTENT(out) :: Fc_point
1637 REAL(KIND(1D0)),
INTENT(out) :: Fc_traff
1638 REAL(KIND(1D0)),
INTENT(out) :: QF
1639 REAL(KIND(1D0)),
INTENT(out) :: QF_SAHP
1641 INTEGER,
PARAMETER :: notUsedI = -999
1642 REAL(KIND(1D0)),
PARAMETER :: notUsed = -999
1644 IF (emissionsmethod == 0)
THEN
1646 ELSEIF ((emissionsmethod > 0 .AND. emissionsmethod <= 6) .OR. emissionsmethod >= 11)
THEN
1648 co2pointsource, emissionsmethod, &
1649 it, imin, dls, dayofweek_id, &
1650 ef_umolco2perj, fcef_v_kgkm, enef_v_jkm, trafficunits, &
1651 frfossilfuel_heat, frfossilfuel_nonheat, &
1652 minfcmetab, maxfcmetab, minqfmetab, maxqfmetab, &
1653 popdensdaytime, popdensnighttime, &
1654 temp_c, hdd_id, qf_a, qf_b, qf_c, &
1655 ah_min, ah_slope_heating, ah_slope_cooling, &
1656 baset_heating, baset_cooling, &
1659 fc_anthro, fc_metab, fc_traff, fc_build, fc_point, &
1660 ahprof_24hr, humactivity_24hr, traffprof_24hr, popprof_24hr, surfacearea)
1663 CALL errorhint(73,
'RunControl.nml:EmissionsMethod unusable', notused, notused, emissionsmethod)
1666 IF (emissionsmethod >= 1) qf = qf_sahp
1668 IF (emissionsmethod >= 0 .AND. emissionsmethod <= 6)
THEN
1681 alpha_bioCO2, alpha_enh_bioCO2, avkdn, avRh, beta_bioCO2, beta_enh_bioCO2, & ! input:
1682 dectime, Diagnose, EmissionsMethod, Fc_anthro, G1, G2, G3, G4, &
1683 G5, G6, gfunc, gsmodel, id, it, Kmax, LAI_id, LAIMin, &
1684 LAIMax, MaxConductance, min_res_bioCO2, Press_hPa, resp_a, &
1685 resp_b, S1, S2, sfr_surf, SMDMethod, SnowFrac, t2_C, Temp_C, theta_bioCO2, TH, TL, vsmd, xsmd, &
1686 Fc, Fc_biogen, Fc_photo, Fc_respi)
1690 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: alpha_bioCO2
1691 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: alpha_enh_bioCO2
1692 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: beta_bioCO2
1693 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: beta_enh_bioCO2
1694 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: LAI_id
1695 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: LAIMin
1696 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: LAIMax
1697 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: min_res_bioCO2
1698 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: resp_a
1699 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: resp_b
1700 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: theta_bioCO2
1702 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
1703 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowFrac
1705 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(in) :: MaxConductance
1710 INTEGER,
INTENT(in) :: Diagnose
1711 INTEGER,
INTENT(in) :: EmissionsMethod
1713 INTEGER,
INTENT(in) :: gsmodel
1714 INTEGER,
INTENT(in) :: id
1715 INTEGER,
INTENT(in) :: it
1721 INTEGER,
INTENT(in) :: SMDMethod
1723 REAL(KIND(1D0)),
INTENT(in) :: avkdn
1724 REAL(KIND(1D0)),
INTENT(in) :: avRh
1725 REAL(KIND(1D0)),
INTENT(in) :: dectime
1726 REAL(KIND(1D0)),
INTENT(in) :: Fc_anthro
1727 REAL(KIND(1D0)),
INTENT(in) :: G1
1728 REAL(KIND(1D0)),
INTENT(in) :: G2
1729 REAL(KIND(1D0)),
INTENT(in) :: G3
1730 REAL(KIND(1D0)),
INTENT(in) :: G4
1731 REAL(KIND(1D0)),
INTENT(in) :: G5
1732 REAL(KIND(1D0)),
INTENT(in) :: G6
1733 REAL(KIND(1D0)),
INTENT(in) :: gfunc
1734 REAL(KIND(1D0)),
INTENT(in) :: Kmax
1735 REAL(KIND(1D0)),
INTENT(in) :: Press_hPa
1736 REAL(KIND(1D0)),
INTENT(in) :: S1
1737 REAL(KIND(1D0)),
INTENT(in) :: S2
1738 REAL(KIND(1D0)),
INTENT(in) :: t2_C
1739 REAL(KIND(1D0)),
INTENT(in) :: Temp_C
1740 REAL(KIND(1D0)),
INTENT(in) :: TH
1741 REAL(KIND(1D0)),
INTENT(in) :: TL
1742 REAL(KIND(1D0)),
INTENT(in) :: vsmd
1743 REAL(KIND(1D0)),
INTENT(in) :: xsmd
1745 REAL(KIND(1D0)),
INTENT(out) :: Fc_biogen
1746 REAL(KIND(1D0)),
INTENT(out) :: Fc_photo
1747 REAL(KIND(1D0)),
INTENT(out) :: Fc_respi
1748 REAL(KIND(1D0)),
INTENT(out) :: Fc
1750 REAL(KIND(1D0)) :: gfunc2
1751 REAL(KIND(1D0)) :: dq
1752 REAL(KIND(1D0)) :: t2
1753 REAL(KIND(1D0)) :: dummy1
1754 REAL(KIND(1D0)) :: dummy2
1755 REAL(KIND(1D0)) :: dummy3
1756 REAL(KIND(1D0)) :: dummy4
1757 REAL(KIND(1D0)) :: dummy5
1758 REAL(KIND(1D0)) :: dummy6
1759 REAL(KIND(1D0)) :: dummy7
1760 REAL(KIND(1D0)) :: dummy8
1761 REAL(KIND(1D0)) :: dummy9
1762 REAL(KIND(1D0)) :: dummy10
1763 REAL(KIND(1D0)) :: dummy11
1765 IF (emissionsmethod >= 11)
THEN
1767 IF (gsmodel == 3 .OR. gsmodel == 4)
THEN
1771 IF (abs(temp_c - t2_c) > 5)
THEN
1778 t2, press_hpa, avrh, dectime, &
1780 dummy3, dummy4, dummy5, dummy6, dq, dummy7, dummy8, dummy9)
1784 smdmethod, snowfrac, sfr_surf, avkdn, t2, dq, xsmd, vsmd, maxconductance, &
1785 laimax, lai_id, gsmodel, kmax, &
1786 g1, g2, g3, g4, g5, g6, th, tl, s1, s2, &
1787 gfunc2, dummy10, dummy11)
1791 IF (diagnose == 1)
WRITE (*, *)
'Calling CO2_biogen...'
1793 alpha_bioco2, alpha_enh_bioco2, avkdn, beta_bioco2, beta_enh_bioco2,
bsoilsurf, &
1795 id, it,
ivconif,
ivdecid,
ivgrass, lai_id, laimin, laimax, min_res_bioco2,
nsurf, &
1796 nvegsurf, resp_a, resp_b, sfr_surf, snowfrac, t2, temp_c, theta_bioco2, &
1797 fc_biogen, fc_photo, fc_respi)
1800 IF (emissionsmethod >= 0 .AND. emissionsmethod <= 6)
THEN
1806 fc = fc_anthro + fc_biogen
1813 storageheatmethod, NetRadiationMethod, SnowUse, & !input
1814 tstep, nlayer, SnowPack_prev, tau_a, tau_f, SnowAlbMax, SnowAlbMin, &
1815 Diagnose, ldown_obs, fcld_obs, &
1816 dectime, ZENITH_deg, Tsurf_0, kdown, Tair_C, avRH, ea_hPa, qn1_obs, &
1817 SnowAlb_prev, snowFrac_prev, DiagQN, &
1818 NARP_TRANS_SITE, NARP_EMIS_SNOW, IceFrac, &
1819 sfr_surf, sfr_roof, sfr_wall, &
1820 tsfc_surf, tsfc_roof, tsfc_wall, &
1821 emis, alb_prev, albDecTr_id, albEveTr_id, albGrass_id, &
1823 n_vegetation_region_urban, &
1824 n_stream_sw_urban, n_stream_lw_urban, & !input: SPARTACUS
1825 sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
1826 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
1827 veg_fsd_const, veg_contact_fraction_const, &
1828 ground_albedo_dir_mult_fact, use_sw_direct_albedo, & !input: SPARTACUS
1829 height, building_frac, veg_frac, building_scale, veg_scale, & !input: SPARTACUS
1830 alb_roof, emis_roof, alb_wall, emis_wall, &
1831 roof_albedo_dir_mult_fact, wall_specular_frac, &
1832 alb_next, ldown, fcld, & !output
1833 qn_surf, qn_roof, qn_wall, &
1834 qn, qn_snowfree, qn_snow, kclear, kup, lup, tsurf, &
1835 qn_ind_snow, kup_ind_snow, Tsurf_ind_snow, Tsurf_ind, &
1836 albedo_snow, SnowAlb_next, &
1837 dataOutLineSPARTACUS)
1847 INTEGER,
INTENT(in) :: storageheatmethod
1848 INTEGER,
INTENT(in) :: NetRadiationMethod
1849 INTEGER,
INTENT(in) :: SnowUse
1850 INTEGER,
INTENT(in) :: Diagnose
1851 INTEGER,
INTENT(in) :: DiagQN
1852 INTEGER,
INTENT(in) :: tstep
1853 INTEGER,
INTENT(in) :: nlayer
1856 REAL(KIND(1D0)),
INTENT(in) :: ldown_obs
1857 REAL(KIND(1D0)),
INTENT(in) :: fcld_obs
1858 REAL(KIND(1D0)),
INTENT(in) :: dectime
1859 REAL(KIND(1D0)),
INTENT(in) :: ZENITH_deg
1860 REAL(KIND(1D0)),
INTENT(in) :: Tsurf_0
1861 REAL(KIND(1D0)),
INTENT(in) :: kdown
1862 REAL(KIND(1D0)),
INTENT(in) :: Tair_C
1863 REAL(KIND(1D0)),
INTENT(in) :: avRH
1864 REAL(KIND(1D0)),
INTENT(in) :: ea_hPa
1865 REAL(KIND(1D0)),
INTENT(in) :: qn1_obs
1866 REAL(KIND(1D0)),
INTENT(in) :: SnowAlb_prev
1867 REAL(KIND(1D0)),
INTENT(in) :: NARP_EMIS_SNOW
1868 REAL(KIND(1D0)),
INTENT(in) :: NARP_TRANS_SITE
1869 REAL(KIND(1D0)),
INTENT(in) :: tau_a, tau_f, SnowAlbMax, SnowAlbMin
1871 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(in) :: LAI_id
1873 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: IceFrac
1874 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
1875 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: tsfc_surf
1876 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_roof
1877 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_roof
1878 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_wall
1879 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_wall
1881 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: emis
1882 REAL(KIND(1D0)),
DIMENSION(nsurf) :: alb
1883 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: alb_prev
1884 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: alb_next
1885 REAL(KIND(1D0)),
INTENT(in) :: albDecTr_id
1887 REAL(KIND(1D0)),
INTENT(in) :: albEveTr_id
1888 REAL(KIND(1D0)),
INTENT(in) :: albGrass_id
1892 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowPack_prev
1893 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: snowFrac_prev
1895 REAL(KIND(1D0)),
DIMENSION(nsurf) :: SnowFrac
1897 REAL(KIND(1D0)),
INTENT(out) :: ldown
1898 REAL(KIND(1D0)),
INTENT(out) :: fcld
1899 REAL(KIND(1D0)),
INTENT(out) :: qn
1900 REAL(KIND(1D0)),
INTENT(out) :: qn_snowfree
1901 REAL(KIND(1D0)),
INTENT(out) :: qn_snow
1902 REAL(KIND(1D0)),
INTENT(out) :: kclear
1903 REAL(KIND(1D0)),
INTENT(out) :: kup
1904 REAL(KIND(1D0)),
INTENT(out) :: lup
1905 REAL(KIND(1D0)),
INTENT(out) :: tsurf
1906 REAL(KIND(1D0)),
INTENT(out) :: albedo_snow
1907 REAL(KIND(1D0)),
INTENT(out) :: SnowAlb_next
1908 REAL(KIND(1D0)) :: albedo_snowfree
1909 REAL(KIND(1D0)) :: SnowAlb
1911 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: qn_surf
1912 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: qn_ind_snow
1913 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: kup_ind_snow
1914 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: Tsurf_ind_snow
1915 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: tsurf_ind
1917 REAL(KIND(1D0)),
DIMENSION(nsurf) :: lup_ind
1918 REAL(KIND(1D0)),
DIMENSION(nsurf) :: kup_ind
1919 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qn1_ind
1921 REAL(KIND(1D0)),
PARAMETER :: NAN = -999
1922 INTEGER :: NetRadiationMethod_use
1923 INTEGER :: AlbedoChoice, ldown_option
1935 INTEGER,
INTENT(IN) :: n_vegetation_region_urban, &
1936 n_stream_sw_urban, n_stream_lw_urban
1937 REAL(KIND(1D0)),
INTENT(IN) :: sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
1938 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
1939 veg_fsd_const, veg_contact_fraction_const, &
1940 ground_albedo_dir_mult_fact
1941 LOGICAL,
INTENT(IN) :: use_sw_direct_albedo
1943 REAL(KIND(1D0)),
DIMENSION(nlayer + 1),
INTENT(IN) :: height
1944 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_frac
1945 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: veg_frac
1946 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_scale
1947 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: veg_scale
1948 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: alb_roof
1949 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: emis_roof
1950 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: alb_wall
1951 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: emis_wall
1952 REAL(KIND(1D0)),
DIMENSION(nspec, nlayer),
INTENT(IN) :: roof_albedo_dir_mult_fact
1953 REAL(KIND(1D0)),
DIMENSION(nspec, nlayer),
INTENT(IN) :: wall_specular_frac
1954 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qn_wall
1955 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qn_roof
1957 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSPARTACUS - 5),
INTENT(OUT) :: dataOutLineSPARTACUS
1964 tstep, snowpack_prev, snowalb_prev, tair_c, &
1965 tau_a, tau_f, snowalbmax, snowalbmin)
1968 netradiationmethod, &
1970 netradiationmethod_use, albedochoice, ldown_option)
1972 snowfrac = snowfrac_prev
1973 IF (netradiationmethod_use > 0)
THEN
1976 IF (snowuse == 0) snowfrac = 0
1978 IF (ldown_option == 2)
THEN
1991 IF (diagnose == 1)
WRITE (*, *)
'Calling NARP...'
1992 IF (diagqn == 1)
WRITE (*, *)
'NetRadiationMethodX:', netradiationmethod_use
1993 IF (diagqn == 1)
WRITE (*, *)
'AlbedoChoice:', albedochoice
1999 storageheatmethod, &
2000 nsurf, sfr_surf, tsfc_surf, snowfrac, alb, emis, icefrac, &
2001 narp_trans_site, narp_emis_snow, &
2002 dectime, zenith_deg, tsurf_0, kdown, tair_c, avrh, ea_hpa, qn1_obs, ldown_obs, &
2004 albedochoice, ldown_option, netradiationmethod_use, diagqn, &
2006 qn, qn_snowfree, qn_snow, kclear, kup, ldown, lup, fcld, tsurf, &
2007 qn_ind_snow, kup_ind_snow, tsurf_ind_snow, tsurf_ind, albedo_snowfree, albedo_snow)
2009 IF (diagqn == 1)
WRITE (*, *)
'Calling SPARTACUS:'
2010 IF (netradiationmethod > 1000)
THEN
2014 sfr_surf, zenith_deg, nlayer, &
2015 tsfc_surf, tsfc_roof, tsfc_wall, &
2016 kdown, ldown, tair_c, alb, emis, lai_id, &
2017 n_vegetation_region_urban, &
2018 n_stream_sw_urban, n_stream_lw_urban, &
2019 sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
2020 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
2021 veg_fsd_const, veg_contact_fraction_const, &
2022 ground_albedo_dir_mult_fact, use_sw_direct_albedo, &
2023 height, building_frac, veg_frac, sfr_roof, sfr_wall, &
2024 building_scale, veg_scale, &
2025 alb_roof, emis_roof, alb_wall, emis_wall, &
2026 roof_albedo_dir_mult_fact, wall_specular_frac, &
2027 qn, kup, lup, qn_roof, qn_wall, qn_surf, &
2028 dataoutlinespartacus)
2037 qn_snowfree = qn1_obs
2054 IF (ldown_option == 1)
THEN
2060 snowalb_next = snowalb
2067 StorageHeatMethod, qs_obs, OHMIncQF, Gridiv, & !input
2068 id, tstep, dt_since_start, Diagnose, &
2070 QG_surf, QG_roof, QG_wall, &
2071 tsfc_roof, tin_roof, temp_in_roof, k_roof, cp_roof, dz_roof, sfr_roof, & !input
2072 tsfc_wall, tin_wall, temp_in_wall, k_wall, cp_wall, dz_wall, sfr_wall, & !input
2073 tsfc_surf, tin_surf, temp_in_surf, k_surf, cp_surf, dz_surf, sfr_surf, & !input
2074 OHM_coef, OHM_threshSW, OHM_threshWD, &
2075 soilstore_id, SoilStoreCap, state_id, SnowUse, SnowFrac, DiagQS, &
2076 HDD_id, MetForcingData_grid, Ts5mindata_ir, qf, qn, &
2077 avkdn, avu1, temp_c, zenith_deg, avrh, press_hpa, ldown, &
2078 bldgh, alb, emis, cpAnOHM, kkAnOHM, chAnOHM, EmissionsMethod, &
2079 Tair_av, qn_av_prev, dqndt_prev, qn_s_av_prev, dqnsdt_prev, &
2081 qn_S, dataOutLineESTM, qs, & !output
2082 qn_av_next, dqndt_next, qn_s_av_next, dqnsdt_next, &
2083 deltaQi, a1, a2, a3, &
2084 temp_out_roof, QS_roof, & !output
2085 temp_out_wall, QS_wall, & !output
2086 temp_out_surf, QS_surf)
2090 INTEGER,
INTENT(in) :: StorageHeatMethod
2091 INTEGER,
INTENT(in) :: OHMIncQF
2092 INTEGER,
INTENT(in) :: Gridiv
2093 INTEGER,
INTENT(in) :: id
2094 INTEGER,
INTENT(in) :: tstep
2095 INTEGER,
INTENT(in) :: dt_since_start
2096 INTEGER,
INTENT(in) :: Diagnose
2098 INTEGER,
INTENT(in) :: SnowUse
2099 INTEGER,
INTENT(in) :: DiagQS
2100 INTEGER,
INTENT(in) :: EmissionsMethod
2101 INTEGER,
INTENT(in) :: nlayer
2103 REAL(KIND(1D0)),
INTENT(in) :: OHM_coef(nsurf + 1, 4, 3)
2104 REAL(KIND(1D0)),
INTENT(in) :: OHM_threshSW(nsurf + 1)
2105 REAL(KIND(1D0)),
INTENT(in) :: OHM_threshWD(nsurf + 1)
2106 REAL(KIND(1D0)),
INTENT(in) :: soilstore_id(nsurf)
2107 REAL(KIND(1D0)),
INTENT(in) :: SoilStoreCap(nsurf)
2108 REAL(KIND(1D0)),
INTENT(in) :: state_id(nsurf)
2110 REAL(KIND(1D0)),
DIMENSION(12),
INTENT(in) :: HDD_id
2111 REAL(KIND(1D0)),
INTENT(in) :: qf
2112 REAL(KIND(1D0)),
INTENT(in) :: qn
2113 REAL(KIND(1D0)),
INTENT(in) :: qs_obs
2114 REAL(KIND(1D0)),
INTENT(in) :: avkdn, avu1, temp_c, zenith_deg, avrh, press_hpa, ldown
2115 REAL(KIND(1D0)),
INTENT(in) :: bldgh
2117 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: alb
2118 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: emis
2119 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: cpAnOHM
2120 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: kkAnOHM
2121 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: chAnOHM
2122 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowFrac
2124 REAL(KIND(1D0)),
DIMENSION(:, :),
INTENT(in) :: MetForcingData_grid
2126 REAL(KIND(1D0)),
DIMENSION(:),
INTENT(in) :: Ts5mindata_ir
2128 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: QG_surf
2129 REAL(KIND(1D0)),
INTENT(in) :: Tair_av
2130 REAL(KIND(1D0)),
INTENT(in) :: qn_av_prev
2131 REAL(KIND(1D0)),
INTENT(out) :: qn_av_next
2132 REAL(KIND(1D0)),
INTENT(in) :: dqndt_prev
2133 REAL(KIND(1D0)),
INTENT(out) :: dqndt_next
2134 REAL(KIND(1D0)),
INTENT(in) :: qn_s_av_prev
2135 REAL(KIND(1D0)),
INTENT(out) :: qn_s_av_next
2136 REAL(KIND(1D0)),
INTENT(in) :: dqnsdt_prev
2137 REAL(KIND(1D0)),
INTENT(out) :: dqnsdt_next
2143 REAL(KIND(1D0)),
DIMENSION(6, nsurf),
INTENT(in) :: StoreDrainPrm
2145 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: deltaQi
2147 REAL(KIND(1D0)),
DIMENSION(27),
INTENT(out) :: dataOutLineESTM
2148 REAL(KIND(1D0)),
INTENT(out) :: qn_S
2149 REAL(KIND(1D0)),
INTENT(out) :: qs
2150 REAL(KIND(1D0)),
INTENT(out) :: a1
2151 REAL(KIND(1D0)),
INTENT(out) :: a2
2152 REAL(KIND(1D0)),
INTENT(out) :: a3
2156 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: qg_roof
2157 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tin_roof
2158 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_roof
2159 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: temp_in_roof
2160 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: k_roof
2161 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: cp_roof
2162 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: dz_roof
2164 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: qg_wall
2165 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tin_wall
2166 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_wall
2167 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: temp_in_wall
2168 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: k_wall
2169 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: cp_wall
2170 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: dz_wall
2172 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: tin_surf
2173 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
2174 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: temp_in_surf
2175 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: k_surf
2176 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: cp_surf
2177 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: dz_surf
2180 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_roof
2181 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: QS_roof
2182 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(out) :: temp_out_roof
2184 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_wall
2185 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: QS_wall
2186 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(out) :: temp_out_wall
2188 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: tsfc_surf
2189 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: QS_surf
2190 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(out) :: temp_out_surf
2193 REAL(KIND(1D0)) :: Tair_mav_5d
2194 REAL(KIND(1D0)) :: qn_use
2196 REAL(KIND(1D0)) :: moist_surf(nsurf)
2202 dataoutlineestm = -999
2209 IF (ohmincqf == 1)
THEN
2211 ELSEIF (ohmincqf == 0)
THEN
2215 IF (storageheatmethod == 0)
THEN
2218 ELSEIF (storageheatmethod == 1)
THEN
2219 tair_mav_5d = hdd_id(10)
2220 IF (diagnose == 1)
WRITE (*, *)
'Calling OHM...'
2221 CALL ohm(qn_use, qn_av_prev, dqndt_prev, qn_av_next, dqndt_next, &
2222 qn_s, qn_s_av_prev, dqnsdt_prev, qn_s_av_next, dqnsdt_next, &
2223 tstep, dt_since_start, &
2227 ohm_threshsw, ohm_threshwd, &
2228 soilstore_id, soilstorecap, state_id, &
2230 snowuse, snowfrac, &
2232 a1, a2, a3, qs, deltaqi)
2238 ELSEIF (storageheatmethod == 3)
THEN
2239 IF (diagnose == 1)
WRITE (*, *)
'Calling AnOHM...'
2245 moist_surf = state_id/storedrainprm(6, :)
2247 tstep, dt_since_start, &
2248 qn_use, qn_av_prev, dqndt_prev, qf, &
2249 metforcingdata_grid, moist_surf, &
2250 alb, emis, cpanohm, kkanohm, chanohm, &
2251 sfr_surf, nsurf, emissionsmethod, id, gridiv, &
2252 qn_av_next, dqndt_next, &
2253 a1, a2, a3, qs, deltaqi)
2259 ELSEIF (storageheatmethod == 4 .OR. storageheatmethod == 14)
THEN
2261 IF (diagnose == 1)
WRITE (*, *)
'Calling ESTM...'
2265 avkdn, avu1, temp_c, zenith_deg, avrh, press_hpa, ldown, &
2266 bldgh, ts5mindata_ir, &
2268 dataoutlineestm, qs)
2271 ELSEIF (storageheatmethod == 5)
THEN
2273 IF (diagnose == 1)
WRITE (*, *)
'Calling extended ESTM...'
2285 qg_surf, qg_roof, qg_wall, &
2286 tsfc_roof, tin_roof, temp_in_roof, k_roof, cp_roof, dz_roof, sfr_roof, &
2287 tsfc_wall, tin_wall, temp_in_wall, k_wall, cp_wall, dz_wall, sfr_wall, &
2288 tsfc_surf, tin_surf, temp_in_surf, k_surf, cp_surf, dz_surf, sfr_surf, &
2289 temp_out_roof, qs_roof, &
2290 temp_out_wall, qs_wall, &
2291 temp_out_surf, qs_surf, &
2310 SnowUse, NonWaterFraction, addPipes, addImpervious, addVeg, addWaterBody, &
2311 state_id, sfr_surf, StoreDrainPrm, WaterDist, nsh_real, &
2312 drain_per_tstep, & !output
2313 drain, frac_water2runoff, &
2314 AdditionalWater, runoffPipes, runoff_per_interval, &
2320 INTEGER,
INTENT(in) :: Diagnose
2321 INTEGER,
INTENT(in) :: SnowUse
2323 REAL(KIND(1D0)),
INTENT(in) :: NonWaterFraction
2324 REAL(KIND(1D0)),
INTENT(in) :: addPipes
2325 REAL(KIND(1D0)),
INTENT(in) :: addImpervious
2326 REAL(KIND(1D0)),
INTENT(in) :: addVeg
2327 REAL(KIND(1D0)),
INTENT(in) :: addWaterBody
2328 REAL(KIND(1D0)),
INTENT(in) :: nsh_real
2330 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: state_id
2332 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
2333 REAL(KIND(1D0)),
DIMENSION(6, nsurf),
INTENT(in) :: StoreDrainPrm
2334 REAL(KIND(1D0)),
DIMENSION(nsurf + 1, nsurf - 1),
INTENT(in) :: WaterDist
2336 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: drain
2337 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: frac_water2runoff
2338 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: AddWater
2342 REAL(KIND(1D0)),
INTENT(out) :: drain_per_tstep
2343 REAL(KIND(1D0)),
INTENT(out) :: AdditionalWater
2344 REAL(KIND(1D0)),
INTENT(out) :: runoffPipes
2345 REAL(KIND(1D0)),
INTENT(out) :: runoff_per_interval
2358 additionalwater = addpipes + addimpervious + addveg + addwaterbody
2361 runoffpipes = addpipes
2363 runoff_per_interval = addpipes
2367 IF (diagnose == 1)
WRITE (*, *)
'Calling Drainage...'
2369 IF (nonwaterfraction /= 0)
THEN
2370 DO is = 1,
nsurf - 1
2375 storedrainprm(6, is), &
2376 storedrainprm(2, is), &
2377 storedrainprm(3, is), &
2378 storedrainprm(4, is), &
2385 drain_per_tstep = dot_product(drain(1:
nsurf - 1), sfr_surf(1:
nsurf - 1))/nonwaterfraction
2387 drain(1:
nsurf - 1) = 0
2394 IF (diagnose == 1)
WRITE (*, *)
'Calling ReDistributeWater...'
2398 snowuse, waterdist, sfr_surf, drain, &
2399 frac_water2runoff, addwater)
2406 avdens, avcp, h_mod, qn1, dectime, & !input
2411 REAL(KIND(1D0)),
INTENT(in) :: avdens
2412 REAL(KIND(1D0)),
INTENT(in) :: avcp
2413 REAL(KIND(1D0)),
INTENT(in) :: h_mod
2414 REAL(KIND(1D0)),
INTENT(in) :: qn1
2415 REAL(KIND(1D0)),
INTENT(in) :: dectime
2416 REAL(KIND(1D0)),
INTENT(out) :: H_init
2418 REAL(KIND(1D0)),
PARAMETER :: NAN = -999
2419 INTEGER,
PARAMETER :: notUsedI = -999
2425 IF (h_mod /= nan)
THEN
2426 h_init = h_mod/(avdens*avcp)
2428 h_init = (qn1*0.2)/(avdens*avcp)
2429 CALL errorhint(38,
'LUMPS unable to calculate realistic value for H_mod.', h_mod, dectime, notusedi)
2436 Diagnose, nlayer, & !input
2437 tstep, imin, it, EvapMethod, dayofWeek_id, CRWmin, CRWmax, &
2438 dectime, avdens, avcp, lv_J_kg, lvS_J_kg, avRh, Press_hPa, Temp_C, &
2439 RAsnow, psyc_hPa, sIce_hPa, tau_r, &
2440 RadMeltFact, TempMeltFact, SnowAlbMax, PrecipLimit, PrecipLimitAlb, &
2441 qn_ind_snow, kup_ind_snow, deltaQi, Tsurf_ind_snow, &
2443 PervFraction, vegfraction, addimpervious, qn_snowfree, qf, qs, vpd_hPa, s_hPa, &
2444 RS, RA, RB, SnowDensMax, SnowDensMin, precip, PipeCapacity, RunoffToWater, &
2445 addVeg, SnowLimPaved, SnowLimBldg, &
2446 FlowChange, drain, WetThresh_surf, SoilStoreCap, &
2447 Tsurf_ind, sfr_surf, &
2448 AddWater, addwaterrunoff, StoreDrainPrm, SnowPackLimit, SnowProf_24hr, &
2449 SnowPack_in, SnowFrac_in, SnowWater_in, iceFrac_in, SnowDens_in, & ! input:
2450 SnowfallCum_in, state_id_in, soilstore_id_in, & ! input:
2452 SnowRemoval, & ! snow specific output:
2453 SnowPack_out, SnowFrac_out, SnowWater_out, iceFrac_out, SnowDens_out, & ! output
2454 SnowfallCum_out, state_id_out, soilstore_id_out, & ! general output:
2455 state_per_tstep, NWstate_per_tstep, &
2456 qe, qe_surf, qe_roof, qe_wall, &
2458 swe, chSnow_per_tstep, ev_per_tstep, runoff_per_tstep, &
2459 surf_chang_per_tstep, runoffPipes, mwstore, runoffwaterbody, &
2460 runoffAGveg, runoffAGimpervious, rss_surf, &
2465 INTEGER,
INTENT(in) :: Diagnose
2466 INTEGER,
INTENT(in) :: nlayer
2467 INTEGER,
INTENT(in) :: tstep
2468 INTEGER,
INTENT(in) :: imin
2469 INTEGER,
INTENT(in) :: it
2470 INTEGER,
INTENT(in) :: EvapMethod
2472 INTEGER,
DIMENSION(nsurf) :: snowCalcSwitch
2473 INTEGER,
DIMENSION(3),
INTENT(in) :: dayofWeek_id
2475 REAL(KIND(1D0)),
INTENT(in) :: CRWmin
2476 REAL(KIND(1D0)),
INTENT(in) :: CRWmax
2477 REAL(KIND(1D0)),
INTENT(in) :: dectime
2478 REAL(KIND(1D0)),
INTENT(in) :: lvS_J_kg
2479 REAL(KIND(1D0)),
INTENT(in) :: lv_j_kg
2480 REAL(KIND(1D0)),
INTENT(in) :: avdens
2481 REAL(KIND(1D0)),
INTENT(in) :: avRh
2482 REAL(KIND(1D0)),
INTENT(in) :: Press_hPa
2483 REAL(KIND(1D0)),
INTENT(in) :: Temp_C
2484 REAL(KIND(1D0)),
INTENT(in) :: RAsnow
2485 REAL(KIND(1D0)),
INTENT(in) :: psyc_hPa
2486 REAL(KIND(1D0)),
INTENT(in) :: avcp
2487 REAL(KIND(1D0)),
INTENT(in) :: sIce_hPa
2488 REAL(KIND(1D0)),
INTENT(in) :: PervFraction
2489 REAL(KIND(1D0)),
INTENT(in) :: vegfraction
2490 REAL(KIND(1D0)),
INTENT(in) :: addimpervious
2491 REAL(KIND(1D0)),
INTENT(in) :: qn_snowfree
2492 REAL(KIND(1D0)),
INTENT(in) :: qf
2493 REAL(KIND(1D0)),
INTENT(in) :: qs
2494 REAL(KIND(1D0)),
INTENT(in) :: vpd_hPa
2495 REAL(KIND(1D0)),
INTENT(in) :: s_hPa
2496 REAL(KIND(1D0)),
INTENT(in) :: RS
2497 REAL(KIND(1D0)),
INTENT(in) :: RA
2498 REAL(KIND(1D0)),
INTENT(in) :: RB
2499 REAL(KIND(1D0)),
INTENT(in) :: SnowDensMax
2500 REAL(KIND(1D0)),
INTENT(in) :: SnowDensMin
2501 REAL(KIND(1D0)),
INTENT(in) :: precip
2502 REAL(KIND(1D0)),
INTENT(in) :: PipeCapacity
2503 REAL(KIND(1D0)),
INTENT(in) :: RunoffToWater
2508 REAL(KIND(1D0)),
INTENT(in) :: addVeg
2510 REAL(KIND(1D0)),
INTENT(in) :: SnowLimPaved
2511 REAL(KIND(1D0)),
INTENT(in) :: SnowLimBldg
2513 REAL(KIND(1D0)),
INTENT(in) :: FlowChange
2515 REAL(KIND(1D0)),
INTENT(in) :: tau_r
2518 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: drain
2519 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: WetThresh_surf
2520 REAL(KIND(1D0)),
DIMENSION(nsurf) :: mw_ind
2521 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SoilStoreCap
2522 REAL(KIND(1D0)),
DIMENSION(nsurf) :: rainonsnow
2523 REAL(KIND(1D0)),
DIMENSION(nsurf) :: freezmelt
2524 REAL(KIND(1D0)),
DIMENSION(nsurf) :: freezstate
2525 REAL(KIND(1D0)),
DIMENSION(nsurf) :: freezstatevol
2526 REAL(KIND(1D0)),
DIMENSION(nsurf) :: Qm_Melt
2527 REAL(KIND(1D0)),
DIMENSION(nsurf) :: Qm_rain
2528 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: Tsurf_ind
2529 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
2530 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowPackLimit
2532 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: AddWater
2533 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: addwaterrunoff
2534 REAL(KIND(1D0)),
DIMENSION(6, nsurf),
INTENT(in) :: StoreDrainPrm
2535 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(in) :: SnowProf_24hr
2539 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: state_id_in
2540 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: soilstore_id_in
2541 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowPack_in
2542 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowFrac_in
2543 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowWater_in
2544 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: iceFrac_in
2545 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowDens_in
2548 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: state_id_out
2549 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: soilstore_id_out
2550 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: SnowPack_out
2551 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: SnowFrac_out
2552 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: SnowWater_out
2553 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: iceFrac_out
2554 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: SnowDens_out
2557 REAL(KIND(1D0)),
DIMENSION(nsurf) :: runoff_surf
2558 REAL(KIND(1D0)),
DIMENSION(nsurf) :: chang
2559 REAL(KIND(1D0)),
DIMENSION(nsurf) :: ChangSnow_surf
2561 REAL(KIND(1D0)),
DIMENSION(nsurf) :: SnowToSurf
2562 REAL(KIND(1D0)),
DIMENSION(nsurf) :: ev_snow
2563 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(out) :: SnowRemoval
2564 REAL(KIND(1D0)),
DIMENSION(nsurf) :: ev_surf
2565 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: rss_surf
2569 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: qn_surf
2570 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: qs_surf
2571 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: qe_surf
2572 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qe_roof
2573 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qe_wall
2574 REAL(KIND(1D0)),
INTENT(out) :: state_per_tstep
2575 REAL(KIND(1D0)),
INTENT(out) :: NWstate_per_tstep
2576 REAL(KIND(1D0)),
INTENT(out) :: qe
2577 REAL(KIND(1D0)),
INTENT(out) :: swe
2578 REAL(KIND(1D0)),
INTENT(out) :: chSnow_per_tstep
2579 REAL(KIND(1D0)),
INTENT(out) :: ev_per_tstep
2580 REAL(KIND(1D0)) :: qe_per_tstep
2581 REAL(KIND(1D0)),
INTENT(out) :: runoff_per_tstep
2582 REAL(KIND(1D0)),
INTENT(out) :: surf_chang_per_tstep
2583 REAL(KIND(1D0)),
INTENT(out) :: runoffPipes
2584 REAL(KIND(1D0)),
INTENT(out) :: mwstore
2585 REAL(KIND(1D0)),
INTENT(out) :: runoffwaterbody
2588 REAL(KIND(1D0)),
INTENT(out) :: runoffAGveg
2589 REAL(KIND(1D0)),
INTENT(out) :: runoffAGimpervious
2595 REAL(KIND(1D0)),
DIMENSION(nsurf) :: state_id_surf
2596 REAL(KIND(1D0)),
DIMENSION(nsurf) :: soilstore_id
2597 REAL(KIND(1D0)),
DIMENSION(nsurf) :: SnowPack
2598 REAL(KIND(1D0)),
DIMENSION(nsurf) :: SnowFrac
2599 REAL(KIND(1D0)),
DIMENSION(nsurf) :: SnowWater
2600 REAL(KIND(1D0)),
DIMENSION(nsurf) :: iceFrac
2601 REAL(KIND(1D0)),
DIMENSION(nsurf) :: SnowDens
2602 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qn_e_surf
2604 REAL(KIND(1D0)),
DIMENSION(2) :: SurplusEvap
2605 REAL(KIND(1D0)) :: surplusWaterBody
2606 REAL(KIND(1D0)) :: pin
2611 REAL(KIND(1D0)) :: qn_e
2612 REAL(KIND(1D0)) :: tlv
2615 REAL(KIND(1D0)) :: nsh_real
2617 REAL(KIND(1D0)) :: ev_tot
2618 REAL(KIND(1D0)) :: qe_tot
2619 REAL(KIND(1D0)) :: surf_chang_tot
2620 REAL(KIND(1D0)) :: runoff_tot
2621 REAL(KIND(1D0)) :: chSnow_tot
2623 REAL(KIND(1D0)),
DIMENSION(7) :: capStore_surf
2625 REAL(KIND(1D0)),
DIMENSION(nsurf) :: Qm_freezState
2626 REAL(KIND(1D0)) :: mwh
2627 REAL(KIND(1D0)) :: fwh
2628 REAL(KIND(1D0)) :: Qm
2629 REAL(KIND(1D0)) :: QmFreez
2630 REAL(KIND(1D0)) :: QmRain
2631 REAL(KIND(1D0)),
DIMENSION(nsurf) :: SnowDepth
2633 REAL(KIND(1D0)),
INTENT(in) :: RadMeltFact
2634 REAL(KIND(1D0)),
INTENT(in) :: TempMeltFact
2635 REAL(KIND(1D0)),
INTENT(in) :: SnowAlbMax
2636 REAL(KIND(1D0)),
INTENT(in) :: PrecipLimit
2637 REAL(KIND(1D0)),
INTENT(in) :: PrecipLimitAlb
2639 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: qn_ind_snow
2640 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: kup_ind_snow
2641 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: deltaQi
2642 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: Tsurf_ind_snow
2644 REAL(KIND(1D0)),
INTENT(in) :: SnowfallCum_in
2645 REAL(KIND(1D0)),
INTENT(out) :: SnowfallCum_out
2646 REAL(KIND(1D0)) :: SnowfallCum
2648 REAL(KIND(1D0)),
INTENT(in) :: SnowAlb_in
2649 REAL(KIND(1D0)),
INTENT(out) :: SnowAlb_out
2650 REAL(KIND(1D0)) :: SnowAlb
2651 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSnow - 5),
INTENT(out) :: dataOutLineSnow
2654 state_id_surf = state_id_in
2655 soilstore_id = soilstore_id_in
2658 nsh_real = 3600/tstep*1.d0
2662 tlv = lv_j_kg/tstep*1.d0
2664 pin = max(0., precip)
2671 surf_chang_per_tstep = 0
2672 runoff_per_tstep = 0
2674 nwstate_per_tstep = 0
2675 chsnow_per_tstep = 0
2679 runoffagimpervious = 0
2680 surpluswaterbody = 0
2691 qn_e_surf = qn_surf + qf - qs_surf
2693 IF (diagnose == 1)
WRITE (*, *)
'Calling SUEWS_cal_snow...'
2696 qn_e = qn_snowfree + qf - qs
2698 snowpack = snowpack_in
2699 snowfrac = snowfrac_in
2700 snowwater = snowwater_in
2701 icefrac = icefrac_in
2702 snowdens = snowdens_in
2703 snowfallcum = snowfallcum_in
2704 snowalb = snowalb_in
2708 tstep, snowfrac, snowdens, &
2709 tau_r, snowdensmax, snowdensmin)
2713 lvs_j_kg, lv_j_kg, tstep*1d0, radmeltfact, tempmeltfact, &
2714 snowalbmax, snowdensmin, temp_c, precip, preciplimit, preciplimitalb, &
2715 nsh_real, sfr_surf, tsurf_ind, state_id_in, qn_ind_snow, &
2716 snowwater, deltaqi, &
2717 snowpack, snowfrac, snowalb, snowdens, snowfallcum, &
2718 mwh, fwh, qm, qmfreez, qmrain, snowcalcswitch, &
2719 qm_melt, qm_freezstate, qm_rain, freezmelt, freezstate, freezstatevol, &
2720 rainonsnow, snowdepth, mw_ind)
2734 IF (sfr_surf(is) > 0)
THEN
2738 tstep, imin, it, dectime, is, &
2740 evapmethod, crwmin, crwmax, nsh_real, lvs_j_kg, avdens, &
2741 avrh, press_hpa, temp_c, rasnow, psyc_hpa, avcp, sice_hpa, &
2742 pervfraction, vegfraction, addimpervious, &
2743 vpd_hpa, qn_e, s_hpa, rs, ra, rb, tlv, snowdensmin, snowprof_24hr, precip, &
2744 pipecapacity, runofftowater, &
2745 addveg, snowlimpaved, snowlimbldg, flowchange, drain, &
2746 wetthresh_surf, state_id_in, mw_ind, soilstorecap, rainonsnow, &
2747 freezmelt, freezstate, freezstatevol, &
2748 qm_melt, qm_rain, tsurf_ind, sfr_surf, dayofweek_id, storedrainprm, snowpacklimit, &
2749 addwater, addwaterrunoff, &
2750 soilstore_id, snowpack, surplusevap, &
2751 snowfrac, snowwater, icefrac, snowdens, &
2752 runoffagimpervious, runoffagveg, surpluswaterbody, &
2753 ev_tot, qe_tot, runoff_tot, surf_chang_tot, chsnow_tot, &
2755 runoff_surf, chang, changsnow_surf, snowtosurf, state_id_surf, ev_snow, &
2757 runoffpipes, mwstore, runoffwaterbody)
2765 ev_per_tstep = ev_per_tstep + ev_tot
2766 qe_per_tstep = qe_per_tstep + qe_tot
2767 runoff_per_tstep = runoff_per_tstep + runoff_tot
2768 surf_chang_per_tstep = surf_chang_per_tstep + surf_chang_tot
2769 chsnow_per_tstep = chsnow_per_tstep + chsnow_tot
2772 ev_surf(is) = ev_tot
2786 state_id_out = state_id_surf
2787 soilstore_id_out = soilstore_id
2789 snowwater_out = snowwater
2790 icefrac_out = icefrac
2792 snowalb_out = snowalb
2793 snowdens_out = snowdens
2794 snowpack_out = snowpack
2795 snowfrac_out = snowfrac
2796 snowfallcum_out = snowfallcum
2799 dataoutlinesnow = [ &
2801 qm_rain(1:
nsurf), qm_freezstate(1:
nsurf), snowfrac_out(1:(
nsurf - 1)), &
2802 rainonsnow(1:
nsurf), &
2805 snowdepth(1:
nsurf), tsurf_ind_snow(1:
nsurf), &
2813 Diagnose, storageheatmethod, nlayer, & !input
2816 avdens, avcp, lv_J_kg, &
2820 qf, vpd_hPa, s_hPa, RS, RA_h, RB, &
2821 precip, PipeCapacity, RunoffToWater, &
2822 NonWaterFraction, WU_surf, addVeg, addWaterBody, AddWater_surf, &
2823 FlowChange, drain_surf, &
2824 frac_water2runoff_surf, StoreDrainPrm, &
2825 sfr_surf, StateLimit_surf, SoilStoreCap_surf, WetThresh_surf, & ! input:
2826 state_surf_in, soilstore_surf_in, qn_surf, qs_surf, & ! input:
2827 sfr_roof, StateLimit_roof, SoilStoreCap_roof, WetThresh_roof, & ! input:
2828 state_roof_in, soilstore_roof_in, qn_roof, qs_roof, & ! input:
2829 sfr_wall, StateLimit_wall, SoilStoreCap_wall, WetThresh_wall, & ! input:
2830 state_wall_in, soilstore_wall_in, qn_wall, qs_wall, & ! input:
2831 state_surf_out, soilstore_surf_out, ev_surf, & ! general output:
2832 state_roof_out, soilstore_roof_out, ev_roof, & ! general output:
2833 state_wall_out, soilstore_wall_out, ev_wall, & ! general output:
2834 state_grid, NWstate_grid, &
2835 ev0_surf, qe0_surf, &
2836 qe, qe_surf, qe_roof, qe_wall, &
2837 ev_grid, runoff_grid, &
2838 surf_chang_grid, runoffPipes_grid, &
2839 runoffWaterBody_grid, &
2840 runoffAGveg_grid, runoffAGimpervious_grid, rss_surf)
2844 INTEGER,
INTENT(in) :: Diagnose
2845 INTEGER,
INTENT(in) :: storageheatmethod
2846 INTEGER,
INTENT(in) :: nlayer
2847 INTEGER,
INTENT(in) :: tstep
2850 INTEGER,
INTENT(in) :: EvapMethod
2852 REAL(KIND(1D0)),
INTENT(in) :: lv_j_kg
2853 REAL(KIND(1D0)),
INTENT(in) :: avdens
2854 REAL(KIND(1D0)),
INTENT(in) :: psyc_hPa
2855 REAL(KIND(1D0)),
INTENT(in) :: avcp
2857 REAL(KIND(1D0)),
INTENT(in) :: PervFraction
2859 REAL(KIND(1D0)),
INTENT(in) :: addimpervious
2861 REAL(KIND(1D0)),
INTENT(in) :: qf
2863 REAL(KIND(1D0)),
INTENT(in) :: vpd_hPa
2864 REAL(KIND(1D0)),
INTENT(in) :: s_hPa
2865 REAL(KIND(1D0)),
INTENT(in) :: RS
2866 REAL(KIND(1D0)),
INTENT(in) :: RA_h
2867 REAL(KIND(1D0)),
INTENT(in) :: RB
2869 REAL(KIND(1D0)),
INTENT(in) :: precip
2870 REAL(KIND(1D0)),
INTENT(in) :: PipeCapacity
2871 REAL(KIND(1D0)),
INTENT(in) :: RunoffToWater
2872 REAL(KIND(1D0)),
INTENT(in) :: NonWaterFraction
2876 REAL(KIND(1D0)),
INTENT(in) :: addVeg
2877 REAL(KIND(1D0)),
INTENT(in) :: addWaterBody
2881 REAL(KIND(1D0)),
INTENT(in) :: FlowChange
2883 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: WU_surf
2884 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: drain_surf
2887 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
2888 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: StateLimit_surf
2889 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: WetThresh_surf
2890 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SoilStoreCap_surf
2891 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: state_surf_in
2892 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: soilstore_surf_in
2893 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: qn_surf
2894 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: qs_surf
2897 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_roof
2898 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: StateLimit_roof
2899 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: WetThresh_roof
2900 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: SoilStoreCap_roof
2901 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: state_roof_in
2902 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: soilstore_roof_in
2903 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: qn_roof
2904 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: qs_roof
2907 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_wall
2908 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: StateLimit_wall
2909 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: WetThresh_wall
2910 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: SoilStoreCap_wall
2911 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: state_wall_in
2912 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: soilstore_wall_in
2913 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: qn_wall
2914 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: qs_wall
2917 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: AddWater_surf
2918 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: frac_water2runoff_surf
2919 REAL(KIND(1D0)),
DIMENSION(6, nsurf),
INTENT(in) :: StoreDrainPrm
2931 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: state_surf_out
2932 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: soilstore_surf_out
2933 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: state_roof_out
2934 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: soilstore_roof_out
2935 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: state_wall_out
2936 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: soilstore_wall_out
2944 REAL(KIND(1D0)),
DIMENSION(nsurf) :: runoff_surf
2951 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: qe0_surf
2952 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: ev0_surf
2953 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: ev_surf
2954 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: rss_surf
2958 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: qe_surf
2959 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qe_roof
2960 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qe_wall
2961 REAL(KIND(1D0)),
DIMENSION(nlayer) :: ev_roof
2962 REAL(KIND(1D0)),
DIMENSION(nlayer) :: rss_roof
2963 REAL(KIND(1D0)),
DIMENSION(nlayer) :: runoff_roof
2965 REAL(KIND(1D0)),
DIMENSION(nlayer) :: ev_wall
2966 REAL(KIND(1D0)),
DIMENSION(nlayer) :: rss_wall
2967 REAL(KIND(1D0)),
DIMENSION(nlayer) :: runoff_wall
2969 REAL(KIND(1D0)),
INTENT(out) :: state_grid
2970 REAL(KIND(1D0)),
INTENT(out) :: NWstate_grid
2971 REAL(KIND(1D0)),
INTENT(out) :: qe
2975 REAL(KIND(1D0)),
INTENT(out) :: ev_grid
2977 REAL(KIND(1D0)),
INTENT(out) :: runoff_grid
2978 REAL(KIND(1D0)),
INTENT(out) :: surf_chang_grid
2979 REAL(KIND(1D0)),
INTENT(out) :: runoffPipes_grid
2981 REAL(KIND(1D0)),
INTENT(out) :: runoffWaterBody_grid
2984 REAL(KIND(1D0)),
INTENT(out) :: runoffAGveg_grid
2985 REAL(KIND(1D0)),
INTENT(out) :: runoffAGimpervious_grid
2992 REAL(KIND(1D0)),
DIMENSION(nsurf) :: soilstore_id
2998 REAL(KIND(1D0)),
DIMENSION(nsurf) :: qn_e_surf
2999 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qn_e_roof
3000 REAL(KIND(1D0)),
DIMENSION(nlayer) :: qn_e_wall
3002 REAL(KIND(1D0)) :: pin
3003 REAL(KIND(1D0)) :: tlv
3004 REAL(KIND(1D0)) :: nsh_real
3005 REAL(KIND(1D0)) :: state_building
3006 REAL(KIND(1D0)) :: soilstore_building
3007 REAL(KIND(1D0)) :: capStore_builing
3008 REAL(KIND(1D0)) :: runoff_building
3009 REAL(KIND(1D0)) :: qe_building
3011 REAL(KIND(1D0)),
DIMENSION(7) :: capStore_surf
3014 state_surf_out = state_surf_in
3015 soilstore_id = soilstore_surf_in
3017 nsh_real = 3600/tstep*1.d0
3019 tlv = lv_j_kg/tstep*1.d0
3021 pin = max(0., precip)
3029 IF (diagnose == 1)
WRITE (*, *)
'Calling evap_SUEWS and SoilStore...'
3033 qn_e_surf = qn_surf + qf - qs_surf
3036 capstore_surf = storedrainprm(6, :)
3039 sfr_surf, state_surf_in, wetthresh_surf, capstore_surf, &
3040 vpd_hpa, avdens, avcp, qn_e_surf, s_hpa, psyc_hpa, rs, ra_h, rb, tlv, &
3041 rss_surf, ev0_surf, qe0_surf)
3043 IF (storageheatmethod == 5)
THEN
3046 qn_e_roof = qn_roof + qf - qs_roof
3049 sfr_roof, state_roof_in, wetthresh_roof, statelimit_roof, &
3050 vpd_hpa, avdens, avcp, qn_e_roof, s_hpa, psyc_hpa, rs, ra_h, rb, tlv, &
3051 rss_roof, ev_roof, qe_roof)
3055 qn_e_wall = qn_wall + qf - qs_wall
3058 sfr_wall, state_wall_in, wetthresh_wall, statelimit_wall, &
3059 vpd_hpa, avdens, avcp, qn_e_wall, s_hpa, psyc_hpa, rs, ra_h, rb, tlv, &
3060 rss_wall, ev_wall, qe_wall)
3065 pin, nsh_real, nlayer, &
3066 sfr_roof, statelimit_roof, soilstorecap_roof, wetthresh_roof, &
3067 ev_roof, state_roof_in, soilstore_roof_in, &
3068 sfr_wall, statelimit_wall, soilstorecap_wall, wetthresh_wall, &
3069 ev_wall, state_wall_in, soilstore_wall_in, &
3070 ev_roof, state_roof_out, soilstore_roof_out, runoff_roof, &
3071 ev_wall, state_wall_out, soilstore_wall_out, runoff_wall, &
3072 state_building, soilstore_building, runoff_building, capstore_builing)
3075 qe_roof = tlv*ev_roof
3076 qe_wall = tlv*ev_wall
3077 qe_building = (dot_product(qe_roof, sfr_roof) + dot_product(qe_wall, sfr_wall))/sfr_surf(
bldgsurf)
3082 pipecapacity, runofftowater, &
3083 addimpervious, addveg, addwaterbody, flowchange, &
3084 soilstorecap_surf, statelimit_surf, &
3086 sfr_surf, drain_surf, addwater_surf, frac_water2runoff_surf, wu_surf, &
3087 ev0_surf, state_surf_in, soilstore_surf_in, &
3088 ev_surf, state_surf_out, soilstore_surf_out, &
3090 runoffagimpervious_grid, runoffagveg_grid, runoffpipes_grid, runoffwaterbody_grid &
3094 qe_surf = tlv*ev_surf
3097 IF (storageheatmethod == 5)
THEN
3100 state_surf_out(
bldgsurf) = state_building
3101 soilstore_surf_out(
bldgsurf) = soilstore_building/capstore_builing*capstore_surf(
bldgsurf)
3102 runoff_surf(
bldgsurf) = runoff_building
3106 qe = dot_product(qe_surf, sfr_surf)
3109 surf_chang_grid = dot_product(state_surf_out - state_surf_in, sfr_surf)
3112 ev_grid = dot_product(ev_surf, sfr_surf)
3115 runoff_grid = dot_product(runoff_surf, sfr_surf)
3118 state_grid = dot_product(state_surf_out, sfr_surf)
3120 IF (nonwaterfraction /= 0)
THEN
3121 nwstate_grid = dot_product(state_surf_out(1:
nsurf - 1), sfr_surf(1:
nsurf - 1))/nonwaterfraction
3133 IF (storageheatmethod == 5)
THEN
3134 IF (diagnose == 1) print *,
'in SUEWS_cal_QE soilstore_building = ', soilstore_building
3135 IF (diagnose == 1) print *,
'in SUEWS_cal_QE capStore_builing = ', capstore_builing
3136 IF (diagnose == 1) print *,
'in SUEWS_cal_QE capStore_surf(BldgSurf) = ', capstore_surf(
bldgsurf)
3138 IF (diagnose == 1) print *,
'in SUEWS_cal_QE soilstore_id = ', soilstore_surf_out
3145 QHMethod, nlayer, storageheatmethod, & !input
3146 qn, qf, QmRain, qe, qs, QmFreez, qm, avdens, avcp, &
3147 sfr_surf, sfr_roof, sfr_wall, &
3148 tsfc_surf, tsfc_roof, tsfc_wall, &
3151 qh, qh_residual, qh_resist, & !output
3152 qh_resist_surf, qh_resist_roof, qh_resist_wall)
3155 INTEGER,
INTENT(in) :: QHMethod
3156 INTEGER,
INTENT(in) :: storageheatmethod
3157 INTEGER,
INTENT(in) :: nlayer
3159 REAL(KIND(1D0)),
INTENT(in) :: qn
3160 REAL(KIND(1D0)),
INTENT(in) :: qf
3161 REAL(KIND(1D0)),
INTENT(in) :: QmRain
3162 REAL(KIND(1D0)),
INTENT(in) :: qe
3163 REAL(KIND(1D0)),
INTENT(in) :: qs
3164 REAL(KIND(1D0)),
INTENT(in) :: QmFreez
3165 REAL(KIND(1D0)),
INTENT(in) :: qm
3166 REAL(KIND(1D0)),
INTENT(in) :: avdens
3167 REAL(KIND(1D0)),
INTENT(in) :: avcp
3169 REAL(KIND(1D0)),
INTENT(in) :: Temp_C
3170 REAL(KIND(1D0)),
INTENT(in) :: RA
3172 REAL(KIND(1D0)),
INTENT(out) :: qh
3173 REAL(KIND(1D0)),
INTENT(out) :: qh_resist
3174 REAL(KIND(1D0)),
INTENT(out) :: qh_residual
3175 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: tsfc_surf
3176 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
3177 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(out) :: qh_resist_surf
3178 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_roof
3179 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_roof
3180 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qh_resist_roof
3181 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: sfr_wall
3182 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_wall
3183 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(out) :: qh_resist_wall
3185 REAL(KIND(1D0)),
PARAMETER :: NAN = -999
3189 qh_residual = (qn + qf + qmrain) - (qe + qs + qm + qmfreez)
3195 qh_resist_surf(is) = avdens*avcp*(tsfc_surf(is) - temp_c)/ra
3197 qh_resist_surf(is) = nan
3200 IF (storageheatmethod == 5)
THEN
3203 qh_resist_roof(is) = avdens*avcp*(tsfc_roof(is) - temp_c)/ra
3204 qh_resist_wall(is) = avdens*avcp*(tsfc_wall(is) - temp_c)/ra
3206 qh_resist_surf(is) = nan
3216 qh_resist_surf(
bldgsurf) = (dot_product(qh_resist_roof, sfr_roof) + dot_product(qh_resist_wall, sfr_wall))/2.
3219 qh_resist = dot_product(qh_resist_surf, sfr_surf)
3222 SELECT CASE (qhmethod)
3234 StabilityMethod, & !input:
3235 Diagnose, AerodynamicResistanceMethod, RoughLenHeatMethod, SnowUse, &
3236 id, it, gsModel, SMDMethod, &
3237 avdens, avcp, QH_init, zzd, z0m, zdm, &
3238 avU1, Temp_C, VegFraction, &
3239 avkdn, Kmax, G1, G2, G3, G4, G5, G6, S1, S2, TH, TL, dq, &
3240 xsmd, vsmd, MaxConductance, LAIMax, LAI_id, SnowFrac, sfr_surf, &
3241 UStar, TStar, L_mod, & !output
3242 zL, gsc, RS, RA, RASnow, RB, z0v, z0vSnow)
3246 INTEGER,
INTENT(in) :: StabilityMethod
3247 INTEGER,
INTENT(in) :: Diagnose
3248 INTEGER,
INTENT(in) :: AerodynamicResistanceMethod
3249 INTEGER,
INTENT(in) :: RoughLenHeatMethod
3250 INTEGER,
INTENT(in) :: SnowUse
3251 INTEGER,
INTENT(in) :: id
3252 INTEGER,
INTENT(in) :: it
3253 INTEGER,
INTENT(in) :: gsModel
3254 INTEGER,
INTENT(in) :: SMDMethod
3257 REAL(KIND(1D0)),
INTENT(in) :: avdens
3258 REAL(KIND(1D0)),
INTENT(in) :: avcp
3259 REAL(KIND(1D0)),
INTENT(in) :: QH_init
3260 REAL(KIND(1D0)),
INTENT(in) :: zzd
3261 REAL(KIND(1D0)),
INTENT(in) :: z0m
3262 REAL(KIND(1D0)),
INTENT(in) :: zdm
3263 REAL(KIND(1D0)),
INTENT(in) :: avU1
3264 REAL(KIND(1D0)),
INTENT(in) :: Temp_C
3265 REAL(KIND(1D0)),
INTENT(in) :: VegFraction
3266 REAL(KIND(1D0)),
INTENT(in) :: avkdn
3267 REAL(KIND(1D0)),
INTENT(in) :: Kmax
3268 REAL(KIND(1D0)),
INTENT(in) :: G1
3269 REAL(KIND(1D0)),
INTENT(in) :: G2
3270 REAL(KIND(1D0)),
INTENT(in) :: G3
3271 REAL(KIND(1D0)),
INTENT(in) :: G4
3272 REAL(KIND(1D0)),
INTENT(in) :: G5
3273 REAL(KIND(1D0)),
INTENT(in) :: G6
3274 REAL(KIND(1D0)),
INTENT(in) :: S1
3275 REAL(KIND(1D0)),
INTENT(in) :: S2
3276 REAL(KIND(1D0)),
INTENT(in) :: TH
3277 REAL(KIND(1D0)),
INTENT(in) :: TL
3278 REAL(KIND(1D0)),
INTENT(in) :: dq
3279 REAL(KIND(1D0)),
INTENT(in) :: xsmd
3280 REAL(KIND(1D0)),
INTENT(in) :: vsmd
3282 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(in) :: MaxConductance
3283 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(in) :: LAIMax
3284 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(in) :: LAI_id
3286 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: SnowFrac
3287 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: sfr_surf
3289 REAL(KIND(1D0)),
INTENT(out) :: TStar
3290 REAL(KIND(1D0)),
INTENT(out) :: UStar
3291 REAL(KIND(1D0)),
INTENT(out) :: zL
3292 REAL(KIND(1D0)),
INTENT(out) :: gsc
3293 REAL(KIND(1D0)),
INTENT(out) :: RS
3294 REAL(KIND(1D0)),
INTENT(out) :: RA
3295 REAL(KIND(1D0)),
INTENT(out) :: z0v
3296 REAL(KIND(1D0)),
INTENT(out) :: RASnow
3297 REAL(KIND(1D0)),
INTENT(out) :: z0vSnow
3298 REAL(KIND(1D0)),
INTENT(out) :: RB
3299 REAL(KIND(1D0)),
INTENT(out) :: L_mod
3300 REAL(KIND(1D0)) :: gfunc
3309 IF (diagnose == 1)
WRITE (*, *)
'Calling STAB_lumps...'
3326 IF (diagnose == 1)
WRITE (*, *)
'Calling AerodynamicResistance...'
3334 aerodynamicresistancemethod, &
3336 roughlenheatmethod, &
3339 IF (snowuse == 1)
THEN
3340 IF (diagnose == 1)
WRITE (*, *)
'Calling AerodynamicResistance for snow...'
3348 aerodynamicresistancemethod, &
3354 IF (diagnose == 1)
WRITE (*, *)
'Calling SurfaceResistance...'
3358 smdmethod, snowfrac, sfr_surf, avkdn, temp_c, dq, xsmd, vsmd, maxconductance, &
3359 laimax, lai_id, gsmodel, kmax, &
3360 g1, g2, g3, g4, g5, g6, th, tl, s1, s2, &
3363 IF (diagnose == 1)
WRITE (*, *)
'Calling BoundaryLayerResistance...'
3376 AdditionalWater, alb, avkdn, avU10_ms, azimuth, & !input
3377 chSnow_per_interval, dectime, &
3378 drain_per_tstep, E_mod, ev_per_tstep, ext_wu, Fc, Fc_build, fcld, &
3379 Fc_metab, Fc_photo, Fc_respi, Fc_point, Fc_traff, FlowChange, &
3380 h_mod, id, imin, int_wu, it, iy, &
3381 kup, LAI_id, ldown, l_mod, lup, mwh, &
3383 nsh_real, NWstate_per_tstep, Precip, q2_gkg, &
3384 qeOut, qf, qh, qh_resist, Qm, QmFreez, &
3385 QmRain, qn, qn_snow, qn_snowfree, qs, RA, &
3386 resistsurf, RH2, runoffAGimpervious, runoffAGveg, &
3387 runoff_per_tstep, runoffPipes, runoffSoil_per_tstep, &
3388 runoffWaterBody, sfr_surf, smd, smd_nsurf, SnowAlb, SnowRemoval, &
3389 state_id, state_per_tstep, surf_chang_per_tstep, swe, t2_C, tskin_C, &
3390 tot_chang_per_tstep, tsurf, UStar, &
3392 z0m, zdm, zenith_deg, &
3393 datetimeLine, dataOutLineSUEWS)
3396 REAL(KIND(1D0)),
PARAMETER :: NAN = -999
3397 INTEGER,
INTENT(in) :: iy
3398 INTEGER,
INTENT(in) :: id
3399 INTEGER,
INTENT(in) :: it
3400 INTEGER,
INTENT(in) :: imin
3401 REAL(KIND(1D0)),
INTENT(in) :: AdditionalWater
3402 REAL(KIND(1D0)),
INTENT(in) :: alb(nsurf)
3403 REAL(KIND(1D0)),
INTENT(in) :: avkdn
3404 REAL(KIND(1D0)),
INTENT(in) :: avU10_ms
3405 REAL(KIND(1D0)),
INTENT(in) :: azimuth
3406 REAL(KIND(1D0)),
INTENT(in) :: chSnow_per_interval
3407 REAL(KIND(1D0)),
INTENT(in) :: dectime
3408 REAL(KIND(1D0)),
INTENT(in) :: drain_per_tstep
3409 REAL(KIND(1D0)),
INTENT(in) :: E_mod
3410 REAL(KIND(1D0)),
INTENT(in) :: ev_per_tstep
3411 REAL(KIND(1D0)),
INTENT(in) :: ext_wu
3412 REAL(KIND(1D0)),
INTENT(in) :: Fc
3413 REAL(KIND(1D0)),
INTENT(in) :: Fc_build
3414 REAL(KIND(1D0)),
INTENT(in) :: Fc_metab
3415 REAL(KIND(1D0)),
INTENT(in) :: Fc_photo
3416 REAL(KIND(1D0)),
INTENT(in) :: Fc_respi
3417 REAL(KIND(1D0)),
INTENT(in) :: Fc_point
3418 REAL(KIND(1D0)),
INTENT(in) :: Fc_traff
3419 REAL(KIND(1D0)),
INTENT(in) :: fcld
3420 REAL(KIND(1D0)),
INTENT(in) :: FlowChange
3421 REAL(KIND(1D0)),
INTENT(in) :: h_mod
3422 REAL(KIND(1D0)),
INTENT(in) :: int_wu
3423 REAL(KIND(1D0)),
INTENT(in) :: kup
3424 REAL(KIND(1D0)),
INTENT(in) :: l_mod
3425 REAL(KIND(1D0)),
INTENT(in) :: LAI_id(nvegsurf)
3426 REAL(KIND(1D0)),
INTENT(in) :: ldown
3427 REAL(KIND(1D0)),
INTENT(in) :: lup
3428 REAL(KIND(1D0)),
INTENT(in) :: mwh
3429 REAL(KIND(1D0)),
INTENT(in) :: MwStore
3430 REAL(KIND(1D0)),
INTENT(in) :: nsh_real
3431 REAL(KIND(1D0)),
INTENT(in) :: NWstate_per_tstep
3432 REAL(KIND(1D0)),
INTENT(in) :: Precip
3433 REAL(KIND(1D0)),
INTENT(in) :: q2_gkg
3434 REAL(KIND(1D0)),
INTENT(in) :: qeOut
3435 REAL(KIND(1D0)),
INTENT(in) :: qf
3436 REAL(KIND(1D0)),
INTENT(in) :: qh
3437 REAL(KIND(1D0)),
INTENT(in) :: qh_resist
3438 REAL(KIND(1D0)),
INTENT(in) :: Qm
3439 REAL(KIND(1D0)),
INTENT(in) :: QmFreez
3440 REAL(KIND(1D0)),
INTENT(in) :: QmRain
3441 REAL(KIND(1D0)),
INTENT(in) :: qn
3442 REAL(KIND(1D0)),
INTENT(in) :: qn_snow
3443 REAL(KIND(1D0)),
INTENT(in) :: qn_snowfree
3444 REAL(KIND(1D0)),
INTENT(in) :: qs
3445 REAL(KIND(1D0)),
INTENT(in) :: RA
3446 REAL(KIND(1D0)),
INTENT(in) :: resistsurf
3447 REAL(KIND(1D0)),
INTENT(in) :: RH2
3448 REAL(KIND(1D0)),
INTENT(in) :: runoff_per_tstep
3449 REAL(KIND(1D0)),
INTENT(in) :: runoffAGimpervious
3450 REAL(KIND(1D0)),
INTENT(in) :: runoffAGveg
3451 REAL(KIND(1D0)),
INTENT(in) :: runoffPipes
3452 REAL(KIND(1D0)),
INTENT(in) :: runoffSoil_per_tstep
3453 REAL(KIND(1D0)),
INTENT(in) :: runoffWaterBody
3454 REAL(KIND(1D0)),
INTENT(in) :: sfr_surf(nsurf)
3455 REAL(KIND(1D0)),
INTENT(in) :: smd
3456 REAL(KIND(1D0)),
INTENT(in) :: smd_nsurf(nsurf)
3457 REAL(KIND(1D0)),
INTENT(in) :: SnowAlb
3458 REAL(KIND(1D0)),
INTENT(in) :: SnowRemoval(2)
3459 REAL(KIND(1D0)),
INTENT(in) :: state_id(nsurf)
3460 REAL(KIND(1D0)),
INTENT(in) :: state_per_tstep
3461 REAL(KIND(1D0)),
INTENT(in) :: surf_chang_per_tstep
3462 REAL(KIND(1D0)),
INTENT(in) :: swe
3463 REAL(KIND(1D0)),
INTENT(in) :: t2_C
3464 REAL(KIND(1D0)),
INTENT(in) :: tskin_C
3465 REAL(KIND(1D0)),
INTENT(in) :: tot_chang_per_tstep
3466 REAL(KIND(1D0)),
INTENT(in) :: tsurf
3467 REAL(KIND(1D0)),
INTENT(in) :: UStar
3468 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: wu_nsurf
3470 REAL(KIND(1D0)),
INTENT(in) :: z0m
3471 REAL(KIND(1D0)),
INTENT(in) :: zdm
3472 REAL(KIND(1D0)),
INTENT(in) :: zenith_deg
3474 REAL(KIND(1D0)),
DIMENSION(5),
INTENT(OUT) :: datetimeLine
3475 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSUEWS - 5),
INTENT(out) :: dataOutLineSUEWS
3479 REAL(KIND(1D0)) :: LAI_wt
3480 REAL(KIND(1D0)) :: RH2_pct
3483 REAL(KIND(1D0)) :: ResistSurf_x
3484 REAL(KIND(1D0)) :: surf_chang_per_tstep_x
3485 REAL(KIND(1D0)) :: l_mod_x
3486 REAL(KIND(1D0)) :: bulkalbedo
3487 REAL(KIND(1D0)) :: smd_nsurf_x(nsurf)
3488 REAL(KIND(1D0)) :: state_x(nsurf)
3489 REAL(KIND(1D0)) :: wu_DecTr
3490 REAL(KIND(1D0)) :: wu_EveTr
3491 REAL(KIND(1D0)) :: wu_Grass
3498 state_x = unpack(spread(nan, dim=1, ncopies=
SIZE(sfr_surf)), mask=(sfr_surf < 0.00001), field=state_id)
3499 smd_nsurf_x = unpack(spread(nan, dim=1, ncopies=
SIZE(sfr_surf)), mask=(sfr_surf < 0.00001), field=smd_nsurf)
3501 resistsurf_x = min(9999., resistsurf)
3503 surf_chang_per_tstep_x = merge(surf_chang_per_tstep, 0.d0, abs(surf_chang_per_tstep) > 1e-6)
3505 l_mod_x = max(min(9999., l_mod), -9999.)
3514 lai_wt = dot_product(lai_id(:), sfr_surf(1 + 2:nvegsurf + 2))
3517 bulkalbedo = dot_product(alb, sfr_surf)
3523 wu_dectr = wu_nsurf(3)
3524 wu_evetr = wu_nsurf(4)
3525 wu_grass = wu_nsurf(5)
3530 REAL(iy, KIND(1D0)),
REAL(id, KIND(1D0)), &
3531 REAL(it, KIND(1D0)),
REAL(imin, KIND(1D0)), dectime]
3533 dataoutlinesuews = [ &
3534 avkdn, kup, ldown, lup, tsurf, &
3535 qn, qf, qs, qh, qeout, &
3536 h_mod, e_mod, qh_resist, &
3537 precip, ext_wu, ev_per_tstep, runoff_per_tstep, tot_chang_per_tstep, &
3538 surf_chang_per_tstep_x, state_per_tstep, nwstate_per_tstep, drain_per_tstep, smd, &
3539 flowchange/nsh_real, additionalwater, &
3540 runoffsoil_per_tstep, runoffpipes, runoffagimpervious, runoffagveg, runoffwaterbody, &
3541 int_wu, wu_evetr, wu_dectr, wu_grass, &
3542 smd_nsurf_x(1:nsurf - 1), &
3544 zenith_deg, azimuth, bulkalbedo, fcld, &
3546 ustar, l_mod, ra, resistsurf, &
3548 fc_photo, fc_respi, fc_metab, fc_traff, fc_build, fc_point, &
3549 qn_snowfree, qn_snow, snowalb, &
3550 qm, qmfreez, qmrain, swe, mwh, mwstore, chsnow_per_interval, &
3552 tskin_c, t2_c, q2_gkg, avu10_ms, rh2_pct &
3564 iy, id, it, imin, dectime, nlayer, & !input
3565 tsfc_out_surf, qs_surf, &
3580 datetimeLine, dataOutLineESTMExt)
3583 REAL(KIND(1D0)),
PARAMETER :: NAN = -999
3584 INTEGER,
PARAMETER :: n_fill = 15
3586 INTEGER,
INTENT(in) :: iy
3587 INTEGER,
INTENT(in) :: id
3588 INTEGER,
INTENT(in) :: it
3589 INTEGER,
INTENT(in) :: imin
3591 INTEGER,
INTENT(in) :: nlayer
3592 REAL(KIND(1D0)),
INTENT(in) :: dectime
3594 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: tsfc_out_surf
3595 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: qs_surf
3596 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_out_roof
3597 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: Qn_roof
3598 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: QS_roof
3599 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: QE_roof
3600 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: QH_roof
3601 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: state_roof
3602 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: soilstore_roof
3603 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tsfc_out_wall
3604 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: Qn_wall
3605 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: QS_wall
3606 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: QE_wall
3607 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: QH_wall
3608 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: state_wall
3609 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: soilstore_wall
3611 REAL(KIND(1D0)),
DIMENSION(5),
INTENT(OUT) :: datetimeLine
3612 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutESTMExt - 5),
INTENT(out) :: dataOutLineESTMExt
3616 REAL(KIND(1D0)) :: LAI_wt
3617 REAL(KIND(1D0)) :: RH2_pct
3620 REAL(KIND(1D0)) :: ResistSurf_x
3621 REAL(KIND(1D0)) :: surf_chang_per_tstep_x
3622 REAL(KIND(1D0)) :: l_mod_x
3623 REAL(KIND(1D0)) :: bulkalbedo
3624 REAL(KIND(1D0)) :: smd_nsurf_x(nsurf)
3625 REAL(KIND(1D0)) :: state_x(nsurf)
3626 REAL(KIND(1D0)) :: wu_DecTr
3627 REAL(KIND(1D0)) :: wu_EveTr
3628 REAL(KIND(1D0)) :: wu_Grass
3632 REAL(iy, KIND(1D0)),
REAL(id, KIND(1D0)), &
3633 REAL(it, KIND(1D0)),
REAL(imin, KIND(1D0)), dectime]
3635 dataoutlineestmext = [ &
3636 tsfc_out_surf, qs_surf, &
3662 REAL(kind(1d0)),
DIMENSION(:),
INTENT(IN) :: res_valid
3663 INTEGER,
INTENT(IN) :: n_fill
3664 REAL(kind(1d0)),
DIMENSION(n_fill) :: res_filled
3666 REAL(kind(1d0)),
PARAMETER :: nan = -999
3668 res_filled = reshape(res_valid, [n_fill], pad=[nan])
3673 SnowUse, storageheatmethod, & !input
3674 ReadLinesMetdata, NumberOfGrids, &
3676 datetimeLine, dataOutLineSUEWS, dataOutLineSnow, dataOutLineESTM, dataoutLineRSL, dataOutLineBEERS, &
3677 dataoutlineDebug, dataoutlineSPARTACUS, dataOutLineESTMExt, & !input
3678 dataOutSUEWS, dataOutSnow, dataOutESTM, dataOutRSL, dataOutBEERS, dataOutDebug, dataOutSPARTACUS, &
3682 INTEGER,
INTENT(in) :: ReadLinesMetdata
3683 INTEGER,
INTENT(in) :: NumberOfGrids
3684 INTEGER,
INTENT(in) :: Gridiv
3685 INTEGER,
INTENT(in) :: SnowUse
3686 INTEGER,
INTENT(in) :: storageheatmethod
3687 INTEGER,
INTENT(in) :: ir
3689 REAL(KIND(1D0)),
DIMENSION(5),
INTENT(in) :: datetimeLine
3690 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSUEWS - 5),
INTENT(in) :: dataOutLineSUEWS
3691 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutESTM - 5),
INTENT(in) :: dataOutLineESTM
3692 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutESTMExt - 5),
INTENT(in) :: dataOutLineESTMExt
3693 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSnow - 5),
INTENT(in) :: dataOutLineSnow
3694 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutRSL - 5),
INTENT(in) :: dataoutLineRSL
3695 REAL(KIND(1D0)),
DIMENSION(ncolumnsdataOutBEERS - 5),
INTENT(in) :: dataOutLineBEERS
3696 REAL(KIND(1D0)),
DIMENSION(ncolumnsdataOutDebug - 5),
INTENT(in) :: dataOutLineDebug
3697 REAL(KIND(1D0)),
DIMENSION(ncolumnsdataOutSPARTACUS - 5),
INTENT(in) :: dataOutLineSPARTACUS
3699 REAL(KIND(1D0)),
INTENT(inout) :: dataOutSUEWS(ReadLinesMetdata, ncolumnsDataOutSUEWS, NumberOfGrids)
3700 REAL(KIND(1D0)),
INTENT(inout) :: dataOutSnow(ReadLinesMetdata, ncolumnsDataOutSnow, NumberOfGrids)
3701 REAL(KIND(1D0)),
INTENT(inout) :: dataOutESTM(ReadLinesMetdata, ncolumnsDataOutESTM, NumberOfGrids)
3702 REAL(KIND(1D0)),
INTENT(inout) :: dataOutESTMExt(ReadLinesMetdata, ncolumnsDataOutESTMExt, NumberOfGrids)
3703 REAL(KIND(1D0)),
INTENT(inout) :: dataOutRSL(ReadLinesMetdata, ncolumnsDataOutRSL, NumberOfGrids)
3704 REAL(KIND(1D0)),
INTENT(inout) :: dataOutBEERS(ReadLinesMetdata, ncolumnsdataOutBEERS, NumberOfGrids)
3705 REAL(KIND(1D0)),
INTENT(inout) :: dataOutDebug(ReadLinesMetdata, ncolumnsDataOutDebug, NumberOfGrids)
3706 REAL(KIND(1D0)),
INTENT(inout) :: dataOutSPARTACUS(ReadLinesMetdata, ncolumnsDataOutSPARTACUS, NumberOfGrids)
3710 dataoutsuews(ir, 1:ncolumnsdataoutsuews, gridiv) = [datetimeline, (dataoutlinesuews)]
3712 dataoutrsl(ir, 1:ncolumnsdataoutrsl, gridiv) = [datetimeline, (dataoutlinersl)]
3713 dataoutdebug(ir, 1:ncolumnsdataoutdebug, gridiv) = [datetimeline, (dataoutlinedebug)]
3714 dataoutspartacus(ir, 1:ncolumnsdataoutspartacus, gridiv) = [datetimeline, (dataoutlinespartacus)]
3716 dataoutbeers(ir, 1:ncolumnsdataoutbeers, gridiv) = [datetimeline,
set_nan(dataoutlinebeers)]
3720 IF (snowuse == 1)
THEN
3721 dataoutsnow(ir, 1:ncolumnsdataoutsnow, gridiv) = [datetimeline,
set_nan(dataoutlinesnow)]
3724 IF (storageheatmethod == 4)
THEN
3725 dataoutestm(ir, 1:ncolumnsdataoutestm, gridiv) = [datetimeline,
set_nan(dataoutlineestm)]
3728 IF (storageheatmethod == 5)
THEN
3729 dataoutestmext(ir, 1:ncolumnsdataoutestmext, gridiv) = [datetimeline,
set_nan(dataoutlineestmext)]
3808 StorageHeatMethod, NetRadiationMethod, & !input
3809 nlayer, sfr_surf, & !input
3810 building_frac, building_scale, height, & !input
3811 vegfraction, ImpervFraction, PervFraction, NonWaterFraction, & ! output
3815 INTEGER,
INTENT(IN) :: StorageHeatMethod
3816 INTEGER,
INTENT(IN) :: NetRadiationMethod
3817 INTEGER,
INTENT(IN) :: nlayer
3818 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: sfr_surf
3819 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_frac
3820 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_scale
3821 REAL(KIND(1D0)),
DIMENSION(nlayer + 1),
INTENT(IN) :: height
3822 REAL(KIND(1D0)),
INTENT(OUT) :: VegFraction
3823 REAL(KIND(1D0)),
INTENT(OUT) :: ImpervFraction
3824 REAL(KIND(1D0)),
INTENT(OUT) :: PervFraction
3825 REAL(KIND(1D0)),
INTENT(OUT) :: NonWaterFraction
3826 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(OUT) :: sfr_roof
3827 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(OUT) :: sfr_wall
3830 REAL(KIND(1D0)),
DIMENSION(nlayer) :: dz_ind
3832 REAL(KIND(1D0)),
DIMENSION(nlayer) :: perimeter_ind
3836 pervfraction = 1 - impervfraction
3837 nonwaterfraction = 1 - sfr_surf(
watersurf)
3839 IF (storageheatmethod == 5 .OR. netradiationmethod > 1000)
THEN
3843 IF (nlayer > 1) sfr_roof(1:nlayer - 1) = building_frac(1:nlayer - 1) - building_frac(2:nlayer)
3844 sfr_roof(nlayer) = building_frac(nlayer)
3848 dz_ind(1:nlayer) = height(2:nlayer + 1) - height(1:nlayer)
3854 perimeter_ind(1:nlayer) = 4.*building_frac(1:nlayer)/building_scale(1:nlayer)
3861 sfr_wall(1:nlayer) = perimeter_ind(1:nlayer)*dz_ind(1:nlayer)
4005 REAL(kind(1d0)),
PARAMETER :: pnan = 30000
4006 REAL(kind(1d0)),
PARAMETER :: pzero = 1e-8
4007 REAL(kind(1d0)),
PARAMETER :: nan = -999
4008 REAL(kind(1d0)),
INTENT(in) :: x
4009 REAL(kind(1d0)) :: xx
4011 IF (abs(x) > pnan)
THEN
4013 ELSEIF (abs(x) < pzero)
THEN
4025 REAL(kind(1d0)),
PARAMETER :: pnan = 9999
4026 REAL(kind(1d0)),
PARAMETER :: nan = -999
4027 REAL(kind(1d0)),
INTENT(in) :: x
4028 REAL(kind(1d0)) :: xx
4030 xx = x**2 + nan/pnan
4037 REAL,
PARAMETER :: pnan = 9999
4038 REAL,
PARAMETER :: nan = -999
4039 REAL,
INTENT(in) :: x
4042 xx = x**2 + nan/pnan
4052 INTEGER,
INTENT(in) :: i
4053 CHARACTER(len=15),
INTENT(out) :: name, group, aggreg
4054 INTEGER,
INTENT(out) :: outlevel
4058 IF (i < nvar .AND. i > 0)
THEN
4077 INTEGER,
INTENT(out) :: nVar
4084 MetForcingBlock, len_sim, &
4085 AerodynamicResistanceMethod, AH_MIN, AHProf_24hr, AH_SLOPE_Cooling, & ! input&inout in alphabetical order
4087 alb, AlbMax_DecTr, AlbMax_EveTr, AlbMax_Grass, &
4088 AlbMin_DecTr, AlbMin_EveTr, AlbMin_Grass, &
4089 alpha_bioCO2, alpha_enh_bioCO2, alt, BaseT, BaseTe, &
4091 BaseT_HC, beta_bioCO2, beta_enh_bioCO2, bldgH, CapMax_dec, CapMin_dec, &
4092 chAnOHM, CO2PointSource, cpAnOHM, CRWmax, CRWmin, DayWat, DayWatPer, &
4093 DecTreeH, DiagMethod, Diagnose, DiagQN, DiagQS, DRAINRT, &
4094 dt_since_start, dqndt, qn_av, dqnsdt, qn_s_av, &
4095 EF_umolCO2perJ, emis, EmissionsMethod, EnEF_v_Jkm, endDLS, EveTreeH, FAIBldg, &
4096 FAIDecTree, FAIEveTree, Faut, FcEF_v_kgkm, FlowChange, &
4097 FrFossilFuel_Heat, FrFossilFuel_NonHeat, G1, G2, G3, G4, G5, G6, GDD_id, &
4098 GDDFull, Gridiv, gsModel, H_maintain, HDD_id, HumActivity_24hr, &
4099 IceFrac, Ie_a, Ie_end, Ie_m, Ie_start, &
4100 InternalWaterUse_h, &
4101 IrrFracPaved, IrrFracBldgs, &
4102 IrrFracEveTr, IrrFracDecTr, IrrFracGrass, &
4103 IrrFracBSoil, IrrFracWater, &
4105 kkAnOHM, Kmax, LAI_id, LAICalcYes, LAIMax, LAIMin, &
4106 LAIPower, LAIType, lat, lng, MaxConductance, MaxFCMetab, MaxQFMetab, &
4107 SnowWater, MinFCMetab, MinQFMetab, min_res_bioCO2, &
4108 NARP_EMIS_SNOW, NARP_TRANS_SITE, NetRadiationMethod, &
4109 OHM_coef, OHMIncQF, OHM_threshSW, &
4110 OHM_threshWD, PipeCapacity, PopDensDaytime, &
4111 PopDensNighttime, PopProf_24hr, PorMax_dec, PorMin_dec, &
4112 PrecipLimit, PrecipLimitAlb, &
4113 QF0_BEU, Qf_A, Qf_B, Qf_C, &
4115 n_vegetation_region_urban, &
4116 n_stream_sw_urban, n_stream_lw_urban, &
4117 sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
4118 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
4119 veg_fsd_const, veg_contact_fraction_const, &
4120 ground_albedo_dir_mult_fact, use_sw_direct_albedo, & !input
4121 height, building_frac, veg_frac, building_scale, veg_scale, & !input: SPARTACUS
4122 alb_roof, emis_roof, alb_wall, emis_wall, &
4123 roof_albedo_dir_mult_fact, wall_specular_frac, &
4124 RadMeltFact, RAINCOVER, RainMaxRes, resp_a, resp_b, &
4125 RoughLenHeatMethod, RoughLenMomMethod, RunoffToWater, S1, S2, &
4126 SatHydraulicConduct, SDDFull, SDD_id, SMDMethod, SnowAlb, SnowAlbMax, &
4127 SnowAlbMin, SnowPackLimit, SnowDens, SnowDensMax, SnowDensMin, SnowfallCum, SnowFrac, &
4128 SnowLimBldg, SnowLimPaved, SnowPack, SnowProf_24hr, SnowUse, SoilDepth, &
4129 StabilityMethod, startDLS, &
4130 soilstore_surf, SoilStoreCap_surf, state_surf, StateLimit_surf, WetThresh_surf, &
4131 soilstore_roof, SoilStoreCap_roof, state_roof, StateLimit_roof, WetThresh_roof, &
4132 soilstore_wall, SoilStoreCap_wall, state_wall, StateLimit_wall, WetThresh_wall, &
4133 StorageHeatMethod, StoreDrainPrm, SurfaceArea, Tair_av, tau_a, tau_f, tau_r, &
4134 BaseT_Cooling, BaseT_Heating, TempMeltFact, TH, &
4135 theta_bioCO2, timezone, TL, TrafficRate, TrafficUnits, &
4137 tsfc_roof, tsfc_wall, tsfc_surf, &
4138 temp_roof, temp_wall, temp_surf, &
4139 tin_roof, tin_wall, tin_surf, &
4140 k_wall, k_roof, k_surf, &
4141 cp_wall, cp_roof, cp_surf, &
4142 dz_wall, dz_roof, dz_surf, &
4143 Tmin_id, Tmax_id, lenday_id, &
4144 TraffProf_24hr, Ts5mindata_ir, tstep, tstep_prev, veg_type, &
4145 WaterDist, WaterUseMethod, &
4146 WUDay_id, DecidCap_id, albDecTr_id, albEveTr_id, albGrass_id, porosity_id, &
4147 WUProfA_24hr, WUProfM_24hr, Z, z0m_in, zdm_in, &
4148 dataOutBlockSUEWS, dataOutBlockSnow, dataOutBlockESTM, dataOutBlockRSL, dataOutBlockBEERS, & !output
4149 dataOutBlockDebug, dataOutBlockSPARTACUS, dataOutBlockESTMExt, &
4155 REAL(KIND(1D0)),
DIMENSION(len_sim, 24),
INTENT(IN) :: MetForcingBlock
4156 INTEGER,
INTENT(IN) :: len_sim
4158 INTEGER,
INTENT(IN) :: nlayer
4159 INTEGER,
INTENT(IN) :: AerodynamicResistanceMethod
4160 INTEGER,
INTENT(IN) :: BaseTMethod
4161 INTEGER,
INTENT(IN) :: Diagnose
4162 INTEGER,
INTENT(IN) :: DiagQN
4163 INTEGER,
INTENT(IN) :: DiagQS
4164 INTEGER,
INTENT(IN) :: startDLS
4165 INTEGER,
INTENT(IN) :: endDLS
4166 INTEGER,
INTENT(IN) :: EmissionsMethod
4167 INTEGER,
INTENT(IN) :: Gridiv
4168 INTEGER,
INTENT(IN) :: gsModel
4169 INTEGER,
INTENT(IN) :: Ie_end
4170 INTEGER,
INTENT(IN) :: Ie_start
4171 INTEGER,
INTENT(IN) :: EvapMethod
4172 INTEGER,
INTENT(IN) :: LAICalcYes
4173 INTEGER,
INTENT(in) :: DiagMethod
4174 INTEGER,
INTENT(IN) :: NetRadiationMethod
4175 INTEGER,
INTENT(IN) :: OHMIncQF
4176 INTEGER,
INTENT(IN) :: RoughLenHeatMethod
4177 INTEGER,
INTENT(IN) :: RoughLenMomMethod
4178 INTEGER,
INTENT(IN) :: SMDMethod
4179 INTEGER,
INTENT(IN) :: SnowUse
4180 INTEGER,
INTENT(IN) :: StabilityMethod
4181 INTEGER,
INTENT(IN) :: StorageHeatMethod
4182 INTEGER,
INTENT(IN) :: tstep
4183 INTEGER,
INTENT(IN) :: tstep_prev
4185 INTEGER,
INTENT(inout) :: dt_since_start
4186 INTEGER,
INTENT(IN) :: veg_type
4187 INTEGER,
INTENT(IN) :: WaterUseMethod
4189 INTEGER,
DIMENSION(NVEGSURF),
INTENT(IN) :: LAIType
4191 REAL(KIND(1D0)),
INTENT(IN) :: AlbMax_DecTr
4192 REAL(KIND(1D0)),
INTENT(IN) :: AlbMax_EveTr
4193 REAL(KIND(1D0)),
INTENT(IN) :: AlbMax_Grass
4194 REAL(KIND(1D0)),
INTENT(IN) :: AlbMin_DecTr
4195 REAL(KIND(1D0)),
INTENT(IN) :: AlbMin_EveTr
4196 REAL(KIND(1D0)),
INTENT(IN) :: AlbMin_Grass
4197 REAL(KIND(1D0)),
INTENT(IN) :: alt
4201 REAL(KIND(1D0)),
INTENT(IN) :: BaseT_HC
4202 REAL(KIND(1D0)),
INTENT(IN) :: bldgH
4203 REAL(KIND(1D0)),
INTENT(IN) :: CapMax_dec
4204 REAL(KIND(1D0)),
INTENT(IN) :: CapMin_dec
4205 REAL(KIND(1D0)),
INTENT(IN) :: CO2PointSource
4206 REAL(KIND(1D0)),
INTENT(IN) :: CRWmax
4207 REAL(KIND(1D0)),
INTENT(IN) :: CRWmin
4208 REAL(KIND(1D0)),
INTENT(IN) :: DecTreeH
4209 REAL(KIND(1D0)),
INTENT(IN) :: DRAINRT
4210 REAL(KIND(1D0)),
INTENT(IN) :: EF_umolCO2perJ
4211 REAL(KIND(1D0)),
INTENT(IN) :: EnEF_v_Jkm
4212 REAL(KIND(1D0)),
INTENT(IN) :: EveTreeH
4213 REAL(KIND(1D0)),
INTENT(IN) :: FAIBldg
4214 REAL(KIND(1D0)),
INTENT(IN) :: FAIDecTree
4215 REAL(KIND(1D0)),
INTENT(IN) :: FAIEveTree
4216 REAL(KIND(1D0)),
INTENT(IN) :: Faut
4218 REAL(KIND(1D0)),
INTENT(IN) :: FlowChange
4219 REAL(KIND(1D0)),
INTENT(IN) :: FrFossilFuel_Heat
4220 REAL(KIND(1D0)),
INTENT(IN) :: FrFossilFuel_NonHeat
4221 REAL(KIND(1D0)),
INTENT(IN) :: G1
4222 REAL(KIND(1D0)),
INTENT(IN) :: G2
4223 REAL(KIND(1D0)),
INTENT(IN) :: G3
4224 REAL(KIND(1D0)),
INTENT(IN) :: G4
4225 REAL(KIND(1D0)),
INTENT(IN) :: G5
4226 REAL(KIND(1D0)),
INTENT(IN) :: G6
4227 REAL(KIND(1D0)),
INTENT(IN) :: H_maintain
4228 REAL(KIND(1D0)),
INTENT(IN) :: InternalWaterUse_h
4229 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracPaved
4230 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracBldgs
4231 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracEveTr
4232 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracDecTr
4233 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracGrass
4234 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracBSoil
4235 REAL(KIND(1D0)),
INTENT(IN) :: IrrFracWater
4236 REAL(KIND(1D0)),
INTENT(IN) :: Kmax
4238 REAL(KIND(1D0)),
INTENT(IN) :: lat
4240 REAL(KIND(1D0)),
INTENT(IN) :: lng
4241 REAL(KIND(1D0)),
INTENT(IN) :: MaxFCMetab
4242 REAL(KIND(1D0)),
INTENT(IN) :: MaxQFMetab
4243 REAL(KIND(1D0)),
INTENT(IN) :: MinFCMetab
4244 REAL(KIND(1D0)),
INTENT(IN) :: MinQFMetab
4245 REAL(KIND(1D0)),
INTENT(IN) :: NARP_EMIS_SNOW
4246 REAL(KIND(1D0)),
INTENT(IN) :: NARP_TRANS_SITE
4247 REAL(KIND(1D0)),
INTENT(IN) :: PipeCapacity
4248 REAL(KIND(1D0)),
INTENT(IN) :: PopDensNighttime
4249 REAL(KIND(1D0)),
INTENT(IN) :: PorMax_dec
4250 REAL(KIND(1D0)),
INTENT(IN) :: PorMin_dec
4252 REAL(KIND(1D0)),
INTENT(IN) :: PrecipLimit
4253 REAL(KIND(1D0)),
INTENT(IN) :: PrecipLimitAlb
4259 REAL(KIND(1D0)),
INTENT(IN) :: RadMeltFact
4260 REAL(KIND(1D0)),
INTENT(IN) :: RAINCOVER
4261 REAL(KIND(1D0)),
INTENT(IN) :: RainMaxRes
4262 REAL(KIND(1D0)),
INTENT(IN) :: RunoffToWater
4263 REAL(KIND(1D0)),
INTENT(IN) :: S1
4264 REAL(KIND(1D0)),
INTENT(IN) :: S2
4265 REAL(KIND(1D0)),
INTENT(IN) :: SnowAlbMax
4266 REAL(KIND(1D0)),
INTENT(IN) :: SnowAlbMin
4267 REAL(KIND(1D0)),
INTENT(IN) :: SnowDensMax
4268 REAL(KIND(1D0)),
INTENT(IN) :: SnowDensMin
4269 REAL(KIND(1D0)),
INTENT(IN) :: SnowLimBldg
4270 REAL(KIND(1D0)),
INTENT(IN) :: SnowLimPaved
4272 REAL(KIND(1D0)),
INTENT(IN) :: SurfaceArea
4273 REAL(KIND(1D0)),
INTENT(IN) :: tau_a
4274 REAL(KIND(1D0)),
INTENT(IN) :: tau_f
4275 REAL(KIND(1D0)),
INTENT(IN) :: tau_r
4277 REAL(KIND(1D0)),
INTENT(IN) :: TempMeltFact
4278 REAL(KIND(1D0)),
INTENT(IN) :: TH
4279 REAL(KIND(1D0)),
INTENT(IN) :: timezone
4280 REAL(KIND(1D0)),
INTENT(IN) :: TL
4281 REAL(KIND(1D0)),
INTENT(IN) :: TrafficUnits
4283 REAL(KIND(1D0)),
INTENT(IN) :: Z
4284 REAL(KIND(1D0)),
INTENT(IN) :: z0m_in
4285 REAL(KIND(1D0)),
INTENT(IN) :: zdm_in
4287 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: AH_MIN
4288 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: AH_SLOPE_Cooling
4289 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: AH_SLOPE_Heating
4290 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: FcEF_v_kgkm
4291 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: QF0_BEU
4292 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: Qf_A
4293 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: Qf_B
4294 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: Qf_C
4296 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: PopDensDaytime
4297 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: BaseT_Cooling
4298 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: BaseT_Heating
4299 REAL(KIND(1D0)),
DIMENSION(2),
INTENT(IN) :: TrafficRate
4300 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(IN) :: Ie_a
4301 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(IN) :: Ie_m
4302 REAL(KIND(1D0)),
DIMENSION(3),
INTENT(IN) :: MaxConductance
4303 REAL(KIND(1D0)),
DIMENSION(7),
INTENT(IN) :: DayWat
4304 REAL(KIND(1D0)),
DIMENSION(7),
INTENT(IN) :: DayWatPer
4305 REAL(KIND(1D0)),
DIMENSION(nsurf + 1),
INTENT(IN) :: OHM_threshSW
4306 REAL(KIND(1D0)),
DIMENSION(nsurf + 1),
INTENT(IN) :: OHM_threshWD
4307 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: chAnOHM
4308 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: cpAnOHM
4309 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: emis
4310 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: kkAnOHM
4311 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SatHydraulicConduct
4312 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: sfr_surf
4313 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SnowPackLimit
4314 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SoilDepth
4315 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: SoilStoreCap_surf
4316 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: StateLimit_surf
4317 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(IN) :: WetThresh_surf
4318 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: alpha_bioCO2
4319 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: alpha_enh_bioCO2
4320 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: BaseT
4321 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: BaseTe
4322 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: beta_bioCO2
4323 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: beta_enh_bioCO2
4324 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: GDDFull
4325 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: LAIMax
4326 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: LAIMin
4327 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: min_res_bioCO2
4328 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: resp_a
4329 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: resp_b
4330 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: SDDFull
4331 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: SnowProf_24hr
4332 REAL(KIND(1D0)),
DIMENSION(NVEGSURF),
INTENT(IN) :: theta_bioCO2
4333 REAL(KIND(1D0)),
DIMENSION(4, NVEGSURF),
INTENT(IN) :: LAIPower
4334 REAL(KIND(1D0)),
DIMENSION(nsurf + 1, 4, 3),
INTENT(IN) :: OHM_coef
4335 REAL(KIND(1D0)),
DIMENSION(NSURF + 1, NSURF - 1),
INTENT(IN) :: WaterDist
4336 REAL(KIND(1D0)),
DIMENSION(:),
INTENT(IN) :: Ts5mindata_ir
4339 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: AHProf_24hr
4340 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: HumActivity_24hr
4341 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: PopProf_24hr
4342 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: TraffProf_24hr
4343 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: WUProfA_24hr
4344 REAL(KIND(1D0)),
DIMENSION(0:23, 2),
INTENT(IN) :: WUProfM_24hr
4350 REAL(KIND(1D0)),
INTENT(INOUT) :: qn_av
4351 REAL(KIND(1D0)),
INTENT(INOUT) :: dqndt
4352 REAL(KIND(1D0)),
INTENT(INOUT) :: qn_s_av
4353 REAL(KIND(1D0)),
INTENT(INOUT) :: dqnsdt
4356 REAL(KIND(1D0)),
INTENT(INOUT) :: SnowfallCum
4357 REAL(KIND(1D0)),
INTENT(INOUT) :: SnowAlb
4358 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: IceFrac
4359 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowWater
4360 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowDens
4361 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowFrac
4362 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: SnowPack
4365 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: soilstore_surf
4366 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: state_surf
4367 REAL(KIND(1D0)),
DIMENSION(6, NSURF),
INTENT(INOUT) :: StoreDrainPrm
4370 REAL(KIND(1D0)),
DIMENSION(NSURF),
INTENT(INOUT) :: alb
4371 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(INOUT) :: GDD_id
4372 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(INOUT) :: SDD_id
4373 REAL(KIND(1D0)),
DIMENSION(nvegsurf),
INTENT(INOUT) :: LAI_id
4374 REAL(KIND(1D0)),
INTENT(INOUT) :: DecidCap_id
4375 REAL(KIND(1D0)),
INTENT(INOUT) :: albDecTr_id
4376 REAL(KIND(1D0)),
INTENT(INOUT) :: albEveTr_id
4377 REAL(KIND(1D0)),
INTENT(INOUT) :: albGrass_id
4378 REAL(KIND(1D0)),
INTENT(INOUT) :: porosity_id
4379 REAL(KIND(1D0)),
INTENT(INOUT) :: Tmin_id
4380 REAL(KIND(1D0)),
INTENT(INOUT) :: Tmax_id
4381 REAL(KIND(1D0)),
INTENT(INOUT) :: lenday_id
4384 REAL(KIND(1D0)),
DIMENSION(12),
INTENT(INOUT) :: HDD_id
4387 REAL(KIND(1D0)),
DIMENSION(9),
INTENT(INOUT) :: WUDay_id
4390 REAL(KIND(1D0)),
INTENT(INOUT) :: Tair_av
4395 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: tsfc_roof
4396 REAL(KIND(1D0)),
DIMENSION(nlayer) :: sfr_roof
4397 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tin_roof
4398 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(inout) :: temp_roof
4399 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: k_roof
4400 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: cp_roof
4401 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: dz_roof
4404 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: tsfc_wall
4405 REAL(KIND(1D0)),
DIMENSION(nlayer) :: sfr_wall
4406 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(in) :: tin_wall
4407 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(inout) :: temp_wall
4408 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: k_wall
4409 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: cp_wall
4410 REAL(KIND(1D0)),
DIMENSION(nlayer, ndepth),
INTENT(in) :: dz_wall
4413 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(INOUT) :: tsfc_surf
4414 REAL(KIND(1D0)),
DIMENSION(nsurf),
INTENT(in) :: tin_surf
4415 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(inout) :: temp_surf
4416 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: k_surf
4417 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: cp_surf
4418 REAL(KIND(1D0)),
DIMENSION(nsurf, ndepth),
INTENT(in) :: dz_surf
4421 INTEGER,
INTENT(IN) :: n_vegetation_region_urban, &
4422 n_stream_sw_urban, n_stream_lw_urban
4423 REAL(KIND(1D0)),
INTENT(IN) :: sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
4424 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
4425 veg_fsd_const, veg_contact_fraction_const, &
4426 ground_albedo_dir_mult_fact
4427 LOGICAL,
INTENT(IN) :: use_sw_direct_albedo
4428 REAL(KIND(1D0)),
DIMENSION(nlayer + 1),
INTENT(IN) :: height
4429 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_frac
4430 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: veg_frac
4431 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: building_scale
4432 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: veg_scale
4433 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: alb_roof
4434 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: emis_roof
4435 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: alb_wall
4436 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: emis_wall
4437 REAL(KIND(1D0)),
DIMENSION(nspec, nlayer),
INTENT(IN) :: roof_albedo_dir_mult_fact
4438 REAL(KIND(1D0)),
DIMENSION(nspec, nlayer),
INTENT(IN) :: wall_specular_frac
4443 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: SoilStoreCap_roof
4444 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: StateLimit_roof
4445 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: wetthresh_roof
4446 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: soilstore_roof
4447 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: state_roof
4449 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: SoilStoreCap_wall
4450 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: StateLimit_wall
4451 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(IN) :: wetthresh_wall
4452 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: soilstore_wall
4453 REAL(KIND(1D0)),
DIMENSION(nlayer),
INTENT(INOUT) :: state_wall
4458 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutSUEWS),
INTENT(OUT) :: dataOutBlockSUEWS
4459 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutSnow),
INTENT(OUT) :: dataOutBlockSnow
4460 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutESTM),
INTENT(OUT) :: dataOutBlockESTM
4461 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutESTMExt),
INTENT(OUT) :: dataOutBlockESTMExt
4462 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutRSL),
INTENT(OUT) :: dataOutBlockRSL
4463 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsdataOutBEERS),
INTENT(OUT) :: dataOutBlockBEERS
4464 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutDebug),
INTENT(OUT) :: dataOutBlockDebug
4465 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutSPARTACUS),
INTENT(OUT) :: dataOutBlockSPARTACUS
4466 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutDailyState),
INTENT(OUT) :: DailyStateBlock
4483 INTEGER,
PARAMETER :: gridiv_x = 1
4484 REAL(KIND(1D0)) :: qn1_obs
4485 REAL(KIND(1D0)) :: qh_obs
4486 REAL(KIND(1D0)) :: qe_obs
4487 REAL(KIND(1D0)) :: qs_obs
4488 REAL(KIND(1D0)) :: qf_obs
4489 REAL(KIND(1D0)) :: avu1
4490 REAL(KIND(1D0)) :: avrh
4491 REAL(KIND(1D0)) :: Temp_C
4492 REAL(KIND(1D0)) :: Press_hPa
4493 REAL(KIND(1D0)) :: Precip
4494 REAL(KIND(1D0)) :: avkdn
4495 REAL(KIND(1D0)) :: snowFrac_obs
4496 REAL(KIND(1D0)) :: ldown_obs
4497 REAL(KIND(1D0)) :: fcld_obs
4498 REAL(KIND(1D0)) :: wu_m3
4499 REAL(KIND(1D0)) :: xsmd
4500 REAL(KIND(1D0)) :: LAI_obs
4501 REAL(KIND(1D0)) :: kdiff
4502 REAL(KIND(1D0)) :: kdir
4503 REAL(KIND(1D0)) :: wdir
4505 REAL(KIND(1D0)),
DIMENSION(5) :: datetimeLine
4506 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSUEWS - 5) :: dataOutLineSUEWS
4507 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSnow - 5) :: dataOutLineSnow
4508 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutESTM - 5) :: dataOutLineESTM
4509 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutESTMExt - 5) :: dataOutLineESTMExt
4510 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutRSL - 5) :: dataOutLineRSL
4512 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutBEERS - 5) :: dataOutLineBEERS
4513 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutDebug - 5) :: dataOutLinedebug
4514 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutSPARTACUS - 5) :: dataOutLineSPARTACUS
4515 REAL(KIND(1D0)),
DIMENSION(ncolumnsDataOutDailyState - 5) :: DailyStateLine
4517 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutSUEWS, 1) :: dataOutBlockSUEWS_X
4518 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutSnow, 1) :: dataOutBlockSnow_X
4519 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutESTM, 1) :: dataOutBlockESTM_X
4520 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutESTMExt, 1) :: dataOutBlockESTMExt_X
4521 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutRSL, 1) :: dataOutBlockRSL_X
4522 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsdataOutBEERS, 1) :: dataOutBlockBEERS_X
4523 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutDebug, 1) :: dataOutBlockDebug_X
4524 REAL(KIND(1D0)),
DIMENSION(len_sim, ncolumnsDataOutSPARTACUS, 1) :: dataOutBlockSPARTACUS_X
4527 REAL(KIND(1D0)),
DIMENSION(10, 10) :: MetForcingData_grid
4537 DO ir = 1, len_sim, 1
4541 iy = int(metforcingblock(ir, 1))
4542 id = int(metforcingblock(ir, 2))
4543 it = int(metforcingblock(ir, 3))
4544 imin = int(metforcingblock(ir, 4))
4546 qn1_obs = metforcingblock(ir, 5)
4547 qh_obs = metforcingblock(ir, 6)
4548 qe_obs = metforcingblock(ir, 7)
4549 qs_obs = metforcingblock(ir, 8)
4550 qf_obs = metforcingblock(ir, 9)
4551 avu1 = metforcingblock(ir, 10)
4552 avrh = metforcingblock(ir, 11)
4553 temp_c = metforcingblock(ir, 12)
4554 press_hpa = metforcingblock(ir, 13)
4555 precip = metforcingblock(ir, 14)
4556 avkdn = metforcingblock(ir, 15)
4557 snowfrac_obs = metforcingblock(ir, 16)
4558 ldown_obs = metforcingblock(ir, 17)
4559 fcld_obs = metforcingblock(ir, 18)
4560 wu_m3 = metforcingblock(ir, 19)
4561 xsmd = metforcingblock(ir, 20)
4562 lai_obs = metforcingblock(ir, 21)
4563 kdiff = metforcingblock(ir, 22)
4564 kdir = metforcingblock(ir, 23)
4565 wdir = metforcingblock(ir, 24)
4799 aerodynamicresistancemethod, ah_min, ahprof_24hr, ah_slope_cooling, &
4801 alb, albmax_dectr, albmax_evetr, albmax_grass, &
4802 albmin_dectr, albmin_evetr, albmin_grass, &
4803 alpha_bioco2, alpha_enh_bioco2, alt, avkdn, avrh, avu1, baset, basete, &
4805 baset_hc, beta_bioco2, beta_enh_bioco2, bldgh, capmax_dec, capmin_dec, &
4806 chanohm, co2pointsource, cpanohm, crwmax, crwmin, daywat, daywatper, &
4807 dectreeh, diagmethod, diagnose, diagqn, diagqs, drainrt, &
4808 dt_since_start, dqndt, qn_av, dqnsdt, qn_s_av, &
4809 ef_umolco2perj, emis, emissionsmethod, enef_v_jkm, enddls, evetreeh, faibldg, &
4810 faidectree, faievetree, faut, fcef_v_kgkm, fcld_obs, flowchange, &
4811 frfossilfuel_heat, frfossilfuel_nonheat, g1, g2, g3, g4, g5, g6, gdd_id, &
4812 gddfull, gridiv, gsmodel, h_maintain, hdd_id, humactivity_24hr, &
4813 icefrac, id, ie_a, ie_end, ie_m, ie_start, imin, &
4814 internalwateruse_h, &
4815 irrfracpaved, irrfracbldgs, &
4816 irrfracevetr, irrfracdectr, irrfracgrass, &
4817 irrfracbsoil, irrfracwater, &
4818 isec, it, evapmethod, &
4819 iy, kkanohm, kmax, lai_id, laicalcyes, laimax, laimin, lai_obs, &
4820 laipower, laitype, lat, lenday_id, ldown_obs, lng, maxconductance, maxfcmetab, maxqfmetab, &
4821 snowwater, metforcingdata_grid, minfcmetab, minqfmetab, min_res_bioco2, &
4822 narp_emis_snow, narp_trans_site, netradiationmethod, &
4824 n_vegetation_region_urban, &
4825 n_stream_sw_urban, n_stream_lw_urban, &
4826 sw_dn_direct_frac, air_ext_sw, air_ssa_sw, &
4827 veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, &
4828 veg_fsd_const, veg_contact_fraction_const, &
4829 ground_albedo_dir_mult_fact, use_sw_direct_albedo, &
4830 height, building_frac, veg_frac, building_scale, veg_scale, &
4831 alb_roof, emis_roof, alb_wall, emis_wall, &
4832 roof_albedo_dir_mult_fact, wall_specular_frac, &
4833 ohm_coef, ohmincqf, ohm_threshsw, &
4834 ohm_threshwd, pipecapacity, popdensdaytime, &
4835 popdensnighttime, popprof_24hr, pormax_dec, pormin_dec, &
4836 precip, preciplimit, preciplimitalb, press_hpa, &
4837 qf0_beu, qf_a, qf_b, qf_c, &
4838 qn1_obs, qs_obs, qf_obs, &
4839 radmeltfact, raincover, rainmaxres, resp_a, resp_b, &
4840 roughlenheatmethod, roughlenmommethod, runofftowater, s1, s2, &
4841 sathydraulicconduct, sddfull, sdd_id, smdmethod, snowalb, snowalbmax, &
4842 snowalbmin, snowpacklimit, snowdens, snowdensmax, snowdensmin, snowfallcum, snowfrac, &
4843 snowlimbldg, snowlimpaved, snowfrac_obs, snowpack, snowprof_24hr, snowuse, soildepth, &
4844 stabilitymethod, startdls, &
4845 soilstore_surf, soilstorecap_surf, state_surf, statelimit_surf, wetthresh_surf, &
4846 soilstore_roof, soilstorecap_roof, state_roof, statelimit_roof, wetthresh_roof, &
4847 soilstore_wall, soilstorecap_wall, state_wall, statelimit_wall, wetthresh_wall, &
4848 storageheatmethod, storedrainprm, surfacearea, tair_av, tau_a, tau_f, tau_r, &
4850 baset_cooling, baset_heating, temp_c, tempmeltfact, th, &
4851 theta_bioco2, timezone, tl, trafficrate, trafficunits, &
4853 tsfc_roof, tsfc_wall, tsfc_surf, &
4854 temp_roof, temp_wall, temp_surf, &
4855 tin_roof, tin_wall, tin_surf, &
4856 k_roof, k_wall, k_surf, &
4857 cp_roof, cp_wall, cp_surf, &
4858 dz_roof, dz_wall, dz_surf, &
4859 traffprof_24hr, ts5mindata_ir, tstep, tstep_prev, veg_type, &
4860 waterdist, waterusemethod, wu_m3, &
4861 wuday_id, decidcap_id, albdectr_id, albevetr_id, albgrass_id, porosity_id, &
4862 wuprofa_24hr, wuprofm_24hr, xsmd, z, z0m_in, zdm_in, &
4863 datetimeline, dataoutlinesuews, dataoutlinesnow, dataoutlineestm, dataoutlinersl, &
4865 dataoutlinedebug, dataoutlinespartacus, &
4866 dataoutlineestmext, &
4870 dt_since_start = dt_since_start + tstep
4873 dailystateblock(ir, :) = [datetimeline, dailystateline]
4878 snowuse, storageheatmethod, &
4880 ir, gridiv_x, datetimeline, dataoutlinesuews, dataoutlinesnow, dataoutlineestm, &
4881 dataoutlinersl, dataoutlinebeers, dataoutlinedebug, dataoutlinespartacus, dataoutlineestmext, &
4882 dataoutblocksuews_x, dataoutblocksnow_x, dataoutblockestm_x, &
4883 dataoutblockrsl_x, dataoutblockbeers_x, dataoutblockdebug_x, dataoutblockspartacus_x, dataoutblockestmext_x)
4887 dataoutblocksuews = dataoutblocksuews_x(:, :, 1)
4888 dataoutblocksnow = dataoutblocksnow_x(:, :, 1)
4889 dataoutblockestm = dataoutblockestm_x(:, :, 1)
4890 dataoutblockestmext = dataoutblockestmext_x(:, :, 1)
4891 dataoutblockrsl = dataoutblockrsl_x(:, :, 1)
4892 dataoutblockbeers = dataoutblockbeers_x(:, :, 1)
4893 dataoutblockdebug = dataoutblockdebug_x(:, :, 1)
4894 dataoutblockspartacus = dataoutblockspartacus_x(:, :, 1)
4901 year, idectime, UTC, locationlatitude, locationlongitude, locationaltitude, & !input
4902 sunazimuth, sunzenith)
4905 REAL(KIND(1D0)),
INTENT(in) :: year, idectime, UTC, &
4906 locationlatitude, locationlongitude, locationaltitude
4907 REAL(KIND(1D0)),
INTENT(out) :: sunazimuth, sunzenith
4909 CALL narp_cal_sunposition( &
4910 year, idectime, utc, locationlatitude, locationlongitude, locationaltitude, &
4911 sunazimuth, sunzenith)
4922 FUNCTION cal_tair_av(tair_av_prev, dt_since_start, tstep, temp_c)
RESULT(tair_av_next)
4926 REAL(kind(1d0)),
INTENT(in) :: tair_av_prev
4927 REAL(kind(1d0)),
INTENT(in) :: temp_c
4928 INTEGER,
INTENT(in) :: dt_since_start
4929 INTEGER,
INTENT(in) :: tstep
4931 REAL(kind(1d0)) :: tair_av_next
4933 REAL(kind(1d0)),
PARAMETER :: len_day_s = 24*3600
4934 REAL(kind(1d0)) :: len_cal_s
4935 REAL(kind(1d0)) :: temp_k
4938 IF (dt_since_start > len_day_s)
THEN
4940 len_cal_s = len_day_s
4943 len_cal_s = dt_since_start + tstep
4945 temp_k = temp_c + 273.15
4946 tair_av_next = tair_av_prev*(len_cal_s - tstep*1.)/len_cal_s + temp_k*tstep/len_cal_s
4950 FUNCTION cal_tsfc(qh, avdens, avcp, RA, temp_c)
RESULT(tsfc_C)
4954 REAL(kind(1d0)),
INTENT(in) :: qh
4955 REAL(kind(1d0)),
INTENT(in) ::
avdens
4956 REAL(kind(1d0)),
INTENT(in) ::
avcp
4957 REAL(kind(1d0)),
INTENT(in) :: ra
4958 REAL(kind(1d0)),
INTENT(in) :: temp_c
4960 REAL(kind(1d0)) :: tsfc_c
integer, parameter bldgsurf
integer, parameter conifsurf
integer, parameter ncolumnsdataoutsuews
integer, parameter ncolumnsdataoutsolweig
integer, parameter ncolumnsdataoutestm
integer, parameter ncolumnsdataoutbeers
integer, parameter ncolumnsdataoutspartacus
integer, parameter ncolumnsdataoutrsl
integer, parameter ivgrass
integer, parameter ncolumnsdataoutestmext
integer, parameter ncolumnsdataoutsnow
integer, parameter watersurf
integer, parameter grasssurf
integer, parameter nvegsurf
integer, parameter ivdecid
integer, parameter bsoilsurf
integer, parameter ncolumnsdataoutdailystate
integer, parameter pavsurf
integer, parameter ndepth
integer, parameter ivconif
integer, parameter decidsurf
integer, parameter ncolumnsdataoutdebug
subroutine anthropogenicemissions(CO2PointSource, EmissionsMethod, it, imin, DLS, DayofWeek_id, EF_umolCO2perJ, FcEF_v_kgkm, EnEF_v_Jkm, TrafficUnits, FrFossilFuel_Heat, FrFossilFuel_NonHeat, MinFCMetab, MaxFCMetab, MinQFMetab, MaxQFMetab, PopDensDaytime, PopDensNighttime, Temp_C, HDD_id, Qf_A, Qf_B, Qf_C, AH_MIN, AH_SLOPE_Heating, AH_SLOPE_Cooling, BaseT_Heating, BaseT_Cooling, TrafficRate, QF0_BEU, QF_SAHP, Fc_anthro, Fc_metab, Fc_traff, Fc_build, Fc_point, AHProf_24hr, HumActivity_24hr, TraffProf_24hr, PopProf_24hr, SurfaceArea)
AnOHM: Analytical Objective Hysteresis Model.
subroutine anohm(tstep, dt_since_start, qn1, qn_av_prev, dqndt_prev, qf, MetForcingData_grid, moist_surf, alb, emis, cpAnOHM, kkAnOHM, chAnOHM, sfr_surf, nsurf, EmissionsMethod, id, Gridiv, qn_av_next, dqndt_next, a1, a2, a3, qs, deltaQi)
High level wrapper for AnOHM calculation.
subroutine cal_atmmoist(Temp_C, Press_hPa, avRh, dectime, lv_J_kg, lvS_J_kg, es_hPa, Ea_hPa, VPd_hpa, VPD_Pa, dq, dens_dry, avcp, air_dens)
subroutine cal_stab(StabilityMethod, zzd, z0m, zdm, avU1, Temp_C, QH_init, avdens, avcp, L_MOD, TStar, UStar, zL)
real(kind(1d0)) function stab_psi_heat(StabilityMethod, ZL)
real(kind(1d0)) function stab_psi_mom(StabilityMethod, ZL)
subroutine suews_cal_tstep(tstep, nsh, nsh_real, tstep_real)
subroutine suews_cal_weekday(iy, id, lat, dayofWeek_id)
subroutine suews_cal_dls(id, startDLS, endDLS, DLS)
subroutine beers_cal_main(iy, id, dectime, lamdaP, lamdaF, avkdn, ldown, Temp_C, avrh, Press_hPa, Tsurf, lat, lng, alt, timezone, zenith_deg, azimuth, alb_ground, alb_bldg, emis_ground, emis_wall, dataOutLineBEERS)
subroutine suews_cal_dectime(id, it, imin, isec, dectime)
subroutine co2_biogen(alpha_bioCO2, alpha_enh_bioCO2, avkdn, beta_bioCO2, beta_enh_bioCO2, BSoilSurf, ConifSurf, DecidSurf, dectime, EmissionsMethod, gfunc, gfunc2, GrassSurf, gsmodel, id, it, ivConif, ivDecid, ivGrass, LAI_id, LAIMin, LAIMax, min_res_bioCO2, nsurf, NVegSurf, resp_a, resp_b, sfr_surf, SnowFrac, t2, Temp_C, theta_bioCO2, Fc_biogen, Fc_photo, Fc_respi)
type(varattr), dimension(1200) varlistall
subroutine suews_cal_dailystate(iy, id, it, imin, isec, tstep, tstep_prev, dt_since_start, DayofWeek_id, Tmin_id_prev, Tmax_id_prev, lenDay_id_prev, BaseTMethod, WaterUseMethod, Ie_start, Ie_end, LAICalcYes, LAIType, nsh_real, avkdn, Temp_C, Precip, BaseT_HC, BaseT_Heating, BaseT_Cooling, lat, Faut, LAI_obs, AlbMax_DecTr, AlbMax_EveTr, AlbMax_Grass, AlbMin_DecTr, AlbMin_EveTr, AlbMin_Grass, CapMax_dec, CapMin_dec, PorMax_dec, PorMin_dec, Ie_a, Ie_m, DayWatPer, DayWat, BaseT, BaseTe, GDDFull, SDDFull, LAIMin, LAIMax, LAIPower, DecidCap_id_prev, StoreDrainPrm_prev, LAI_id_prev, GDD_id_prev, SDD_id_prev, albDecTr_id_prev, albEveTr_id_prev, albGrass_id_prev, porosity_id_prev, HDD_id_prev, state_id, soilstore_id, SoilStoreCap, H_maintain, HDD_id_next, Tmin_id_next, Tmax_id_next, lenDay_id_next, albDecTr_id_next, albEveTr_id_next, albGrass_id_next, porosity_id_next, DecidCap_id_next, StoreDrainPrm_next, LAI_id_next, GDD_id_next, SDD_id_next, deltaLAI, WUDay_id)
subroutine update_dailystateline(it, imin, nsh_real, GDD_id, HDD_id, LAI_id, SDD_id, Tmin_id, Tmax_id, lenday_id, DecidCap_id, albDecTr_id, albEveTr_id, albGrass_id, porosity_id, WUDay_id, deltaLAI, VegPhenLumps, SnowAlb, SnowDens, a1, a2, a3, DailyStateLine)
subroutine suews_update_dailystate(id, datetimeline, Gridiv, NumberOfGrids, DailyStateLine, dataOutDailyState)
subroutine estm(Gridiv, tstep, avkdn, avu1, temp_c, zenith_deg, avrh, press_hpa, ldown, bldgh, Ts5mindata_ir, Tair_av, dataOutLineESTM, QS)
subroutine estm_ext(tstep, nlayer, QG_surf, qg_roof, qg_wall, tsfc_roof, tin_roof, temp_in_roof, k_roof, cp_roof, dz_roof, sfr_roof, tsfc_wall, tin_wall, temp_in_wall, k_wall, cp_wall, dz_wall, sfr_wall, tsfc_surf, tin_surf, temp_in_surf, k_surf, cp_surf, dz_surf, sfr_surf, temp_out_roof, QS_roof, temp_out_wall, QS_wall, temp_out_surf, QS_surf, QS)
subroutine cal_evap_multi(EvapMethod, sfr_multi, state_multi, WetThresh_multi, capStore_multi, vpd_hPa, avdens, avcp, qn_e_multi, s_hPa, psyc_hPa, RS, RA, RB, tlv, RSS_multi, ev_multi, qe_multi)
subroutine lumps_cal_qhqe(veg_type, SnowUse, qn1, qf, qs, Temp_C, VegFraction, avcp, Press_hPa, lv_J_kg, tstep_real, DRAINRT, nsh_real, Precip, RainMaxRes, RAINCOVER, sfr_surf, LAI_id_prev, LAImax, LAImin, QH_LUMPS, QE_LUMPS, psyc_hPa, s_hPa, sIce_hpa, Veg_Fr_temp, VegPhenLumps)
real(kind(1d0)) function rh2qa(RH_dec, pres_hPa, Ta_degC)
real(kind(1d0)) function qsatf(T, PMB)
real(kind(1d0)) function qa2rh(qa_gkg, pres_hPa, Ta_degC)
subroutine radmethod(NetRadiationMethod, SnowUse, NetRadiationMethod_use, AlbedoChoice, ldown_option)
subroutine narp(storageheatmethod, nsurf, sfr_surf, tsfc_surf, SnowFrac, alb, emis, IceFrac, NARP_TRANS_SITE, NARP_EMIS_SNOW, DTIME, ZENITH_deg, tsurf_0, kdown, Temp_C, RH, Press_hPa, qn1_obs, ldown_obs, SnowAlb, AlbedoChoice, ldown_option, NetRadiationMethod_use, DiagQN, qn_surf, QSTARall, QSTAR_SF, QSTAR_S, kclear, KUPall, LDOWN, LUPall, fcld, TSURFall, qn1_ind_snow, kup_ind_snow, Tsurf_ind_snow, Tsurf_surf, albedo_snowfree, albedo_snow)
subroutine narp_cal_sunposition(year, idectime, UTC, locationlatitude, locationlongitude, locationaltitude, sunazimuth, sunzenith)
subroutine surfaceresistance(id, it, SMDMethod, SnowFrac, sfr_surf, avkdn, Temp_C, dq, xsmd, vsmd, MaxConductance, LAIMax, LAI_id, gsModel, Kmax, G1, G2, G3, G4, G5, G6, TH, TL, S1, S2, gfunc, gsc, ResistSurf)
subroutine suews_cal_roughnessparameters(RoughLenMomMethod, sfr_surf, bldgH, EveTreeH, DecTreeH, porosity_dectr, FAIBldg, FAIEveTree, FAIDecTree, z0m_in, zdm_in, Z, FAI, PAI, Zh, z0m, zdm, ZZD)
subroutine aerodynamicresistance(ZZD, z0m, AVU1, L_mod, UStar, VegFraction, AerodynamicResistanceMethod, StabilityMethod, RoughLenHeatMethod, RA_h, z0V)
subroutine boundarylayerresistance(zzd, z0m, avU1, UStar, rb)
real(kind(1d0)) function cal_z0v(RoughLenHeatMethod, z0m, VegFraction, UStar)
subroutine rslprofile(DiagMethod, Zh, z0m, zdm, z0v, L_MOD, sfr_surf, FAI, PAI, StabilityMethod, RA_h, avcp, lv_J_kg, avdens, avU1, Temp_C, avRH, Press_hPa, zMeas, qh, qe, T2_C, q2_gkg, U10_ms, RH2, dataoutLineRSL)
subroutine snowupdate(tstep, Temp_C, tau_a, tau_f, tau_r, SnowDensMax, SnowDensMin, SnowAlbMax, SnowAlbMin, SnowPack_prev, SnowAlb_prev, SnowDens_prev, SnowAlb_next, SnowDens_next)
subroutine snowcalc(tstep, imin, it, dectime, is, snowCalcSwitch, EvapMethod, CRWmin, CRWmax, nsh_real, lvS_J_kg, avdens, avRh, Press_hPa, Temp_C, RAsnow, psyc_hPa, avcp, sIce_hPa, PervFraction, vegfraction, addimpervious, vpd_hPa, qn_e, s_hPa, ResistSurf, RA, rb, tlv, snowdensmin, SnowProf_24hr, precip, PipeCapacity, RunoffToWater, addVeg, SnowLimPaved, SnowLimBldg, FlowChange, drain, WetThresh, stateOld, mw_ind, SoilStoreCap, rainonsnow, freezmelt, freezstate, freezstatevol, Qm_Melt, Qm_rain, Tsurf_ind, sfr_surf, dayofWeek_id, StoreDrainPrm, SnowPackLimit, AddWater, addwaterrunoff, soilstore_id, SnowPack, SurplusEvap, SnowFrac, SnowWater, iceFrac, SnowDens, runoffAGimpervious, runoffAGveg, surplusWaterBody, ev_tot, qe_tot, runoff_tot, surf_chang_tot, chSnow_tot, rss_surf, runoff_snowfree, chang, changSnow, SnowToSurf, state_id, ev_snow, SnowRemoval, swe, runoffPipes, mwstore, runoffwaterbody)
real(kind(1d0)) function, dimension(nsurf) update_snow_dens(tstep, SnowPack_prev, SnowDens_prev, tau_r, SnowDensMax, SnowDensMin)
real(kind(1d0)) function update_snow_albedo(tstep, SnowPack_prev, SnowAlb_prev, Temp_C, tau_a, tau_f, SnowAlbMax, SnowAlbMin)
subroutine meltheat(lvS_J_kg, lv_J_kg, tstep_real, RadMeltFact, TempMeltFact, SnowAlbMax, SnowDensMin, Temp_C, Precip, PrecipLimit, PrecipLimitAlb, nsh_real, sfr_surf, Tsurf_ind, state_id, qn1_ind_snow, SnowWater, deltaQi, SnowPack, SnowFrac, SnowAlb, SnowDens, SnowfallCum, mwh, fwh, Qm, QmFreez, QmRain, snowCalcSwitch, Qm_melt, Qm_freezState, Qm_rain, FreezMelt, FreezState, FreezStateVol, rainOnSnow, SnowDepth, mw_ind)
subroutine solweig_cal_main(id, it, dectime, lamdaP, lamdaF, avkdn, ldown, Temp_C, avrh, Press_hPa, Tg, lat, zenith_deg, azimuth, scale, alb_ground, alb_bldg, emis_ground, emis_wall, heightgravity, dataOutLineSOLWEIG)
subroutine spartacus(DiagQN, sfr_surf, zenith_deg, nlayer, tsfc_surf, tsfc_roof, tsfc_wall, kdown, ldown, Tair_C, alb_surf, emis_surf, LAI_id, n_vegetation_region_urban, n_stream_sw_urban, n_stream_lw_urban, sw_dn_direct_frac, air_ext_sw, air_ssa_sw, veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, veg_fsd_const, veg_contact_fraction_const, ground_albedo_dir_mult_fact, use_sw_direct_albedo, height, building_frac, veg_frac, sfr_roof, sfr_wall, building_scale, veg_scale, alb_roof, emis_roof, alb_wall, emis_wall, roof_albedo_dir_mult_fact, wall_specular_frac, qn, kup, lup, qn_roof, qn_wall, qn_surf, dataOutLineSPARTACUS)
real(kind(1d0)) function cal_tsfc(qh, avdens, avcp, RA, temp_c)
subroutine estmext_update_outputline(iy, id, it, imin, dectime, nlayer, tsfc_out_surf, qs_surf, tsfc_out_roof, Qn_roof, QS_roof, QE_roof, QH_roof, state_roof, soilstore_roof, tsfc_out_wall, Qn_wall, QS_wall, QE_wall, QH_wall, state_wall, soilstore_wall, datetimeLine, dataOutLineESTMExt)
subroutine suews_cal_snow(Diagnose, nlayer, tstep, imin, it, EvapMethod, dayofWeek_id, CRWmin, CRWmax, dectime, avdens, avcp, lv_J_kg, lvS_J_kg, avRh, Press_hPa, Temp_C, RAsnow, psyc_hPa, sIce_hPa, tau_r, RadMeltFact, TempMeltFact, SnowAlbMax, PrecipLimit, PrecipLimitAlb, qn_ind_snow, kup_ind_snow, deltaQi, Tsurf_ind_snow, SnowAlb_in, PervFraction, vegfraction, addimpervious, qn_snowfree, qf, qs, vpd_hPa, s_hPa, RS, RA, RB, SnowDensMax, SnowDensMin, precip, PipeCapacity, RunoffToWater, addVeg, SnowLimPaved, SnowLimBldg, FlowChange, drain, WetThresh_surf, SoilStoreCap, Tsurf_ind, sfr_surf, AddWater, addwaterrunoff, StoreDrainPrm, SnowPackLimit, SnowProf_24hr, SnowPack_in, SnowFrac_in, SnowWater_in, iceFrac_in, SnowDens_in, SnowfallCum_in, state_id_in, soilstore_id_in, qn_surf, qs_surf, SnowRemoval, SnowPack_out, SnowFrac_out, SnowWater_out, iceFrac_out, SnowDens_out, SnowfallCum_out, state_id_out, soilstore_id_out, state_per_tstep, NWstate_per_tstep, qe, qe_surf, qe_roof, qe_wall, SnowAlb_out, swe, chSnow_per_tstep, ev_per_tstep, runoff_per_tstep, surf_chang_per_tstep, runoffPipes, mwstore, runoffwaterbody, runoffAGveg, runoffAGimpervious, rss_surf, dataOutLineSnow)
subroutine output_name_n(i, name, group, aggreg, outlevel)
subroutine suews_cal_resistance(StabilityMethod, Diagnose, AerodynamicResistanceMethod, RoughLenHeatMethod, SnowUse, id, it, gsModel, SMDMethod, avdens, avcp, QH_init, zzd, z0m, zdm, avU1, Temp_C, VegFraction, avkdn, Kmax, G1, G2, G3, G4, G5, G6, S1, S2, TH, TL, dq, xsmd, vsmd, MaxConductance, LAIMax, LAI_id, SnowFrac, sfr_surf, UStar, TStar, L_mod, zL, gsc, RS, RA, RASnow, RB, z0v, z0vSnow)
subroutine suews_update_output(SnowUse, storageheatmethod, ReadLinesMetdata, NumberOfGrids, ir, gridiv, datetimeLine, dataOutLineSUEWS, dataOutLineSnow, dataOutLineESTM, dataoutLineRSL, dataOutLineBEERS, dataoutlineDebug, dataoutlineSPARTACUS, dataOutLineESTMExt, dataOutSUEWS, dataOutSnow, dataOutESTM, dataOutRSL, dataOutBEERS, dataOutDebug, dataOutSPARTACUS, dataOutESTMExt)
elemental real(kind(1d0)) function set_nan(x)
real(kind(1d0)) function square(x)
subroutine suews_cal_qs(StorageHeatMethod, qs_obs, OHMIncQF, Gridiv, id, tstep, dt_since_start, Diagnose, nlayer, QG_surf, QG_roof, QG_wall, tsfc_roof, tin_roof, temp_in_roof, k_roof, cp_roof, dz_roof, sfr_roof, tsfc_wall, tin_wall, temp_in_wall, k_wall, cp_wall, dz_wall, sfr_wall, tsfc_surf, tin_surf, temp_in_surf, k_surf, cp_surf, dz_surf, sfr_surf, OHM_coef, OHM_threshSW, OHM_threshWD, soilstore_id, SoilStoreCap, state_id, SnowUse, SnowFrac, DiagQS, HDD_id, MetForcingData_grid, Ts5mindata_ir, qf, qn, avkdn, avu1, temp_c, zenith_deg, avrh, press_hpa, ldown, bldgh, alb, emis, cpAnOHM, kkAnOHM, chAnOHM, EmissionsMethod, Tair_av, qn_av_prev, dqndt_prev, qn_s_av_prev, dqnsdt_prev, StoreDrainPrm, qn_S, dataOutLineESTM, qs, qn_av_next, dqndt_next, qn_s_av_next, dqnsdt_next, deltaQi, a1, a2, a3, temp_out_roof, QS_roof, temp_out_wall, QS_wall, temp_out_surf, QS_surf)
subroutine suews_init_qh(avdens, avcp, h_mod, qn1, dectime, H_init)
subroutine suews_cal_qn(storageheatmethod, NetRadiationMethod, SnowUse, tstep, nlayer, SnowPack_prev, tau_a, tau_f, SnowAlbMax, SnowAlbMin, Diagnose, ldown_obs, fcld_obs, dectime, ZENITH_deg, Tsurf_0, kdown, Tair_C, avRH, ea_hPa, qn1_obs, SnowAlb_prev, snowFrac_prev, DiagQN, NARP_TRANS_SITE, NARP_EMIS_SNOW, IceFrac, sfr_surf, sfr_roof, sfr_wall, tsfc_surf, tsfc_roof, tsfc_wall, emis, alb_prev, albDecTr_id, albEveTr_id, albGrass_id, LAI_id, n_vegetation_region_urban, n_stream_sw_urban, n_stream_lw_urban, sw_dn_direct_frac, air_ext_sw, air_ssa_sw, veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, veg_fsd_const, veg_contact_fraction_const, ground_albedo_dir_mult_fact, use_sw_direct_albedo, height, building_frac, veg_frac, building_scale, veg_scale, alb_roof, emis_roof, alb_wall, emis_wall, roof_albedo_dir_mult_fact, wall_specular_frac, alb_next, ldown, fcld, qn_surf, qn_roof, qn_wall, qn, qn_snowfree, qn_snow, kclear, kup, lup, tsurf, qn_ind_snow, kup_ind_snow, Tsurf_ind_snow, Tsurf_ind, albedo_snow, SnowAlb_next, dataOutLineSPARTACUS)
subroutine suews_cal_water(Diagnose, SnowUse, NonWaterFraction, addPipes, addImpervious, addVeg, addWaterBody, state_id, sfr_surf, StoreDrainPrm, WaterDist, nsh_real, drain_per_tstep, drain, frac_water2runoff, AdditionalWater, runoffPipes, runoff_per_interval, AddWater)
subroutine suews_cal_anthropogenicemission(AH_MIN, AHProf_24hr, AH_SLOPE_Cooling, AH_SLOPE_Heating, CO2PointSource, dayofWeek_id, DLS, EF_umolCO2perJ, EmissionsMethod, EnEF_v_Jkm, FcEF_v_kgkm, FrFossilFuel_Heat, FrFossilFuel_NonHeat, HDD_id, HumActivity_24hr, imin, it, MaxFCMetab, MaxQFMetab, MinFCMetab, MinQFMetab, PopDensDaytime, PopDensNighttime, PopProf_24hr, QF, QF0_BEU, Qf_A, Qf_B, Qf_C, QF_obs, QF_SAHP, SurfaceArea, BaseT_Cooling, BaseT_Heating, Temp_C, TrafficRate, TrafficUnits, TraffProf_24hr, Fc_anthro, Fc_build, Fc_metab, Fc_point, Fc_traff)
subroutine suews_cal_multitsteps(MetForcingBlock, len_sim, AerodynamicResistanceMethod, AH_MIN, AHProf_24hr, AH_SLOPE_Cooling, AH_SLOPE_Heating, alb, AlbMax_DecTr, AlbMax_EveTr, AlbMax_Grass, AlbMin_DecTr, AlbMin_EveTr, AlbMin_Grass, alpha_bioCO2, alpha_enh_bioCO2, alt, BaseT, BaseTe, BaseTMethod, BaseT_HC, beta_bioCO2, beta_enh_bioCO2, bldgH, CapMax_dec, CapMin_dec, chAnOHM, CO2PointSource, cpAnOHM, CRWmax, CRWmin, DayWat, DayWatPer, DecTreeH, DiagMethod, Diagnose, DiagQN, DiagQS, DRAINRT, dt_since_start, dqndt, qn_av, dqnsdt, qn_s_av, EF_umolCO2perJ, emis, EmissionsMethod, EnEF_v_Jkm, endDLS, EveTreeH, FAIBldg, FAIDecTree, FAIEveTree, Faut, FcEF_v_kgkm, FlowChange, FrFossilFuel_Heat, FrFossilFuel_NonHeat, G1, G2, G3, G4, G5, G6, GDD_id, GDDFull, Gridiv, gsModel, H_maintain, HDD_id, HumActivity_24hr, IceFrac, Ie_a, Ie_end, Ie_m, Ie_start, InternalWaterUse_h, IrrFracPaved, IrrFracBldgs, IrrFracEveTr, IrrFracDecTr, IrrFracGrass, IrrFracBSoil, IrrFracWater, EvapMethod, kkAnOHM, Kmax, LAI_id, LAICalcYes, LAIMax, LAIMin, LAIPower, LAIType, lat, lng, MaxConductance, MaxFCMetab, MaxQFMetab, SnowWater, MinFCMetab, MinQFMetab, min_res_bioCO2, NARP_EMIS_SNOW, NARP_TRANS_SITE, NetRadiationMethod, OHM_coef, OHMIncQF, OHM_threshSW, OHM_threshWD, PipeCapacity, PopDensDaytime, PopDensNighttime, PopProf_24hr, PorMax_dec, PorMin_dec, PrecipLimit, PrecipLimitAlb, QF0_BEU, Qf_A, Qf_B, Qf_C, nlayer, n_vegetation_region_urban, n_stream_sw_urban, n_stream_lw_urban, sw_dn_direct_frac, air_ext_sw, air_ssa_sw, veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, veg_fsd_const, veg_contact_fraction_const, ground_albedo_dir_mult_fact, use_sw_direct_albedo, height, building_frac, veg_frac, building_scale, veg_scale, alb_roof, emis_roof, alb_wall, emis_wall, roof_albedo_dir_mult_fact, wall_specular_frac, RadMeltFact, RAINCOVER, RainMaxRes, resp_a, resp_b, RoughLenHeatMethod, RoughLenMomMethod, RunoffToWater, S1, S2, SatHydraulicConduct, SDDFull, SDD_id, SMDMethod, SnowAlb, SnowAlbMax, SnowAlbMin, SnowPackLimit, SnowDens, SnowDensMax, SnowDensMin, SnowfallCum, SnowFrac, SnowLimBldg, SnowLimPaved, SnowPack, SnowProf_24hr, SnowUse, SoilDepth, StabilityMethod, startDLS, soilstore_surf, SoilStoreCap_surf, state_surf, StateLimit_surf, WetThresh_surf, soilstore_roof, SoilStoreCap_roof, state_roof, StateLimit_roof, WetThresh_roof, soilstore_wall, SoilStoreCap_wall, state_wall, StateLimit_wall, WetThresh_wall, StorageHeatMethod, StoreDrainPrm, SurfaceArea, Tair_av, tau_a, tau_f, tau_r, BaseT_Cooling, BaseT_Heating, TempMeltFact, TH, theta_bioCO2, timezone, TL, TrafficRate, TrafficUnits, sfr_surf, tsfc_roof, tsfc_wall, tsfc_surf, temp_roof, temp_wall, temp_surf, tin_roof, tin_wall, tin_surf, k_wall, k_roof, k_surf, cp_wall, cp_roof, cp_surf, dz_wall, dz_roof, dz_surf, Tmin_id, Tmax_id, lenday_id, TraffProf_24hr, Ts5mindata_ir, tstep, tstep_prev, veg_type, WaterDist, WaterUseMethod, WUDay_id, DecidCap_id, albDecTr_id, albEveTr_id, albGrass_id, porosity_id, WUProfA_24hr, WUProfM_24hr, Z, z0m_in, zdm_in, dataOutBlockSUEWS, dataOutBlockSnow, dataOutBlockESTM, dataOutBlockRSL, dataOutBlockBEERS, dataOutBlockDebug, dataOutBlockSPARTACUS, dataOutBlockESTMExt, DailyStateBlock)
subroutine output_size(nVar)
subroutine suews_cal_qh(QHMethod, nlayer, storageheatmethod, qn, qf, QmRain, qe, qs, QmFreez, qm, avdens, avcp, sfr_surf, sfr_roof, sfr_wall, tsfc_surf, tsfc_roof, tsfc_wall, Temp_C, RA, qh, qh_residual, qh_resist, qh_resist_surf, qh_resist_roof, qh_resist_wall)
subroutine suews_cal_main(AerodynamicResistanceMethod, AH_MIN, AHProf_24hr, AH_SLOPE_Cooling, AH_SLOPE_Heating, alb, AlbMax_DecTr, AlbMax_EveTr, AlbMax_Grass, AlbMin_DecTr, AlbMin_EveTr, AlbMin_Grass, alpha_bioCO2, alpha_enh_bioCO2, alt, kdown, avRh, avU1, BaseT, BaseTe, BaseTMethod, BaseT_HC, beta_bioCO2, beta_enh_bioCO2, bldgH, CapMax_dec, CapMin_dec, chAnOHM, CO2PointSource, cpAnOHM, CRWmax, CRWmin, DayWat, DayWatPer, DecTreeH, DiagMethod, Diagnose, DiagQN, DiagQS, DRAINRT, dt_since_start, dqndt, qn_av, dqnsdt, qn_s_av, EF_umolCO2perJ, emis, EmissionsMethod, EnEF_v_Jkm, endDLS, EveTreeH, FAIBldg, FAIDecTree, FAIEveTree, Faut, FcEF_v_kgkm, fcld_obs, FlowChange, FrFossilFuel_Heat, FrFossilFuel_NonHeat, G1, G2, G3, G4, G5, G6, GDD_id, GDDFull, Gridiv, gsModel, H_maintain, HDD_id, HumActivity_24hr, IceFrac, id, Ie_a, Ie_end, Ie_m, Ie_start, imin, InternalWaterUse_h, IrrFracPaved, IrrFracBldgs, IrrFracEveTr, IrrFracDecTr, IrrFracGrass, IrrFracBSoil, IrrFracWater, isec, it, EvapMethod, iy, kkAnOHM, Kmax, LAI_id, LAICalcYes, LAIMax, LAIMin, LAI_obs, LAIPower, LAIType, lat, lenDay_id, ldown_obs, lng, MaxConductance, MaxFCMetab, MaxQFMetab, SnowWater, MetForcingData_grid, MinFCMetab, MinQFMetab, min_res_bioCO2, NARP_EMIS_SNOW, NARP_TRANS_SITE, NetRadiationMethod, nlayer, n_vegetation_region_urban, n_stream_sw_urban, n_stream_lw_urban, sw_dn_direct_frac, air_ext_sw, air_ssa_sw, veg_ssa_sw, air_ext_lw, air_ssa_lw, veg_ssa_lw, veg_fsd_const, veg_contact_fraction_const, ground_albedo_dir_mult_fact, use_sw_direct_albedo, height, building_frac, veg_frac, building_scale, veg_scale, alb_roof, emis_roof, alb_wall, emis_wall, roof_albedo_dir_mult_fact, wall_specular_frac, OHM_coef, OHMIncQF, OHM_threshSW, OHM_threshWD, PipeCapacity, PopDensDaytime, PopDensNighttime, PopProf_24hr, PorMax_dec, PorMin_dec, Precip, PrecipLimit, PrecipLimitAlb, Press_hPa, QF0_BEU, Qf_A, Qf_B, Qf_C, qn1_obs, qs_obs, qf_obs, RadMeltFact, RAINCOVER, RainMaxRes, resp_a, resp_b, RoughLenHeatMethod, RoughLenMomMethod, RunoffToWater, S1, S2, SatHydraulicConduct, SDDFull, SDD_id, SMDMethod, SnowAlb, SnowAlbMax, SnowAlbMin, SnowPackLimit, SnowDens, SnowDensMax, SnowDensMin, SnowfallCum, SnowFrac, SnowLimBldg, SnowLimPaved, snowFrac_obs, SnowPack, SnowProf_24hr, SnowUse, SoilDepth, StabilityMethod, startDLS, soilstore_surf, SoilStoreCap_surf, state_surf, StateLimit_surf, WetThresh_surf, soilstore_roof, SoilStoreCap_roof, state_roof, StateLimit_roof, WetThresh_roof, soilstore_wall, SoilStoreCap_wall, state_wall, StateLimit_wall, WetThresh_wall, StorageHeatMethod, StoreDrainPrm, SurfaceArea, Tair_av, tau_a, tau_f, tau_r, Tmax_id, Tmin_id, BaseT_Cooling, BaseT_Heating, Temp_C, TempMeltFact, TH, theta_bioCO2, timezone, TL, TrafficRate, TrafficUnits, sfr_surf, tsfc_roof, tsfc_wall, tsfc_surf, temp_roof, temp_wall, temp_surf, tin_roof, tin_wall, tin_surf, k_roof, k_wall, k_surf, cp_roof, cp_wall, cp_surf, dz_roof, dz_wall, dz_surf, TraffProf_24hr, Ts5mindata_ir, tstep, tstep_prev, veg_type, WaterDist, WaterUseMethod, wu_m3, WUDay_id, DecidCap_id, albDecTr_id, albEveTr_id, albGrass_id, porosity_id, WUProfA_24hr, WUProfM_24hr, xsmd, Z, z0m_in, zdm_in, datetimeLine, dataOutLineSUEWS, dataOutLineSnow, dataOutLineESTM, dataoutLineRSL, dataOutLineBEERS, dataOutLineDebug, dataOutLineSPARTACUS, dataOutLineESTMExt, DailyStateLine)
subroutine suews_update_outputline(AdditionalWater, alb, avkdn, avU10_ms, azimuth, chSnow_per_interval, dectime, drain_per_tstep, E_mod, ev_per_tstep, ext_wu, Fc, Fc_build, fcld, Fc_metab, Fc_photo, Fc_respi, Fc_point, Fc_traff, FlowChange, h_mod, id, imin, int_wu, it, iy, kup, LAI_id, ldown, l_mod, lup, mwh, MwStore, nsh_real, NWstate_per_tstep, Precip, q2_gkg, qeOut, qf, qh, qh_resist, Qm, QmFreez, QmRain, qn, qn_snow, qn_snowfree, qs, RA, resistsurf, RH2, runoffAGimpervious, runoffAGveg, runoff_per_tstep, runoffPipes, runoffSoil_per_tstep, runoffWaterBody, sfr_surf, smd, smd_nsurf, SnowAlb, SnowRemoval, state_id, state_per_tstep, surf_chang_per_tstep, swe, t2_C, tskin_C, tot_chang_per_tstep, tsurf, UStar, wu_nsurf, z0m, zdm, zenith_deg, datetimeLine, dataOutLineSUEWS)
subroutine suews_cal_sunposition(year, idectime, UTC, locationlatitude, locationlongitude, locationaltitude, sunazimuth, sunzenith)
real function square_real(x)
subroutine suews_cal_qe(Diagnose, storageheatmethod, nlayer, tstep, EvapMethod, avdens, avcp, lv_J_kg, psyc_hPa, PervFraction, addimpervious, qf, vpd_hPa, s_hPa, RS, RA_h, RB, precip, PipeCapacity, RunoffToWater, NonWaterFraction, WU_surf, addVeg, addWaterBody, AddWater_surf, FlowChange, drain_surf, frac_water2runoff_surf, StoreDrainPrm, sfr_surf, StateLimit_surf, SoilStoreCap_surf, WetThresh_surf, state_surf_in, soilstore_surf_in, qn_surf, qs_surf, sfr_roof, StateLimit_roof, SoilStoreCap_roof, WetThresh_roof, state_roof_in, soilstore_roof_in, qn_roof, qs_roof, sfr_wall, StateLimit_wall, SoilStoreCap_wall, WetThresh_wall, state_wall_in, soilstore_wall_in, qn_wall, qs_wall, state_surf_out, soilstore_surf_out, ev_surf, state_roof_out, soilstore_roof_out, ev_roof, state_wall_out, soilstore_wall_out, ev_wall, state_grid, NWstate_grid, ev0_surf, qe0_surf, qe, qe_surf, qe_roof, qe_wall, ev_grid, runoff_grid, surf_chang_grid, runoffPipes_grid, runoffWaterBody_grid, runoffAGveg_grid, runoffAGimpervious_grid, rss_surf)
real(kind(1d0)) function, dimension(n_fill) fill_result(res_valid, n_fill)
real(kind(1d0)) function cal_tair_av(tair_av_prev, dt_since_start, tstep, temp_c)
subroutine suews_cal_biogenco2(alpha_bioCO2, alpha_enh_bioCO2, avkdn, avRh, beta_bioCO2, beta_enh_bioCO2, dectime, Diagnose, EmissionsMethod, Fc_anthro, G1, G2, G3, G4, G5, G6, gfunc, gsmodel, id, it, Kmax, LAI_id, LAIMin, LAIMax, MaxConductance, min_res_bioCO2, Press_hPa, resp_a, resp_b, S1, S2, sfr_surf, SMDMethod, SnowFrac, t2_C, Temp_C, theta_bioCO2, TH, TL, vsmd, xsmd, Fc, Fc_biogen, Fc_photo, Fc_respi)
subroutine suews_cal_surf(StorageHeatMethod, NetRadiationMethod, nlayer, sfr_surf, building_frac, building_scale, height, vegfraction, ImpervFraction, PervFraction, NonWaterFraction, sfr_roof, sfr_wall)
character(len=90) git_commit
character(len=90) compiler_ver
subroutine cal_water_storage_surf(pin, nsh_real, PipeCapacity, RunoffToWater, addImpervious, addVeg, addWaterBody, FlowChange, SoilStoreCap_surf, StateLimit_surf, PervFraction, sfr_surf, drain_surf, AddWater_surf, frac_water2runoff_surf, WU_surf, ev_surf_in, state_surf_in, soilstore_surf_in, ev_surf_out, state_surf_out, soilstore_surf_out, runoff_surf, runoffAGimpervious_grid, runoffAGveg_grid, runoffPipes_grid, runoffWaterBody_grid)
subroutine suews_update_soilmoist(NonWaterFraction, SoilStoreCap, sfr_surf, soilstore_id, SoilMoistCap, SoilState, vsmd, smd)
subroutine suews_cal_soilstate(SMDMethod, xsmd, NonWaterFraction, SoilMoistCap, SoilStoreCap, surf_chang_per_tstep, soilstore_id, soilstoreOld, sfr_surf, smd, smd_nsurf, tot_chang_per_tstep, SoilState)
subroutine drainage(is, state_is, StorCap, DrainEq, DrainCoef1, DrainCoef2, nsh_real, drain_is)
subroutine redistributewater(SnowUse, WaterDist, sfr_surf, Drain, AddWaterRunoff, AddWater)
subroutine cal_water_storage_building(pin, nsh_real, nlayer, sfr_roof, StateLimit_roof, SoilStoreCap_roof, WetThresh_roof, ev_roof_in, state_roof_in, soilstore_roof_in, sfr_wall, StateLimit_wall, SoilStoreCap_wall, WetThresh_wall, ev_wall_in, state_wall_in, soilstore_wall_in, ev_roof_out, state_roof_out, soilstore_roof_out, runoff_roof, ev_wall_out, state_wall_out, soilstore_wall_out, runoff_wall, state_building, soilstore_building, runoff_building, SoilStoreCap_building)
subroutine suews_cal_horizontalsoilwater(sfr_surf, SoilStoreCap, SoilDepth, SatHydraulicConduct, SurfaceArea, NonWaterFraction, tstep_real, soilstore_id, runoffSoil, runoffSoil_per_tstep)
subroutine suews_cal_wateruse(nsh_real, wu_m3, SurfaceArea, sfr_surf, IrrFracPaved, IrrFracBldgs, IrrFracEveTr, IrrFracDecTr, IrrFracGrass, IrrFracBSoil, IrrFracWater, DayofWeek_id, WUProfA_24hr, WUProfM_24hr, InternalWaterUse_h, HDD_id, WUDay_id, WaterUseMethod, NSH, it, imin, DLS, wu_surf, wu_int, wu_ext)
subroutine errorhint(errh, ProblemFile, VALUE, value2, valueI)
subroutine ohm(qn1, qn_av_prev, dqndt_prev, qn_av_next, dqndt_next, qn1_S, qn_s_av_prev, dqnsdt_prev, qn_s_av_next, dqnsdt_next, tstep, dt_since_start, sfr_surf, nsurf, Tair_mav_5d, OHM_coef, OHM_threshSW, OHM_threshWD, soilstore_id, SoilStoreCap, state_id, BldgSurf, WaterSurf, SnowUse, SnowFrac, DiagQS, a1, a2, a3, qs, deltaQi)