SUEWS API Site
Documentation of SUEWS source code
suews_ctrl_sumin.f95
Go to the documentation of this file.
1 !========================================================================================
2 ! a mini version of SUEWS to be coupled with WRF
3 ! TS 22 Apr 2018: initial
4 ! TS 11 Jun 2018: modified according to recent SUEWS development
5 
7  USE suews_driver, ONLY: suews_cal_main, &
8  pavsurf, bldgsurf, conifsurf, decidsurf, grasssurf, bsoilsurf, watersurf, &
9  ivconif, ivdecid, ivgrass, &
10  ncolumnsdataoutsuews, ncolumnsdataoutsnow, &
11  ncolumnsdataoutestm, ncolumnsdataoutdailystate
12 
13  IMPLICIT NONE
14 
15 CONTAINS
16 
17  ! a mini version of SUEWS
18  SUBROUTINE sumin( &
19  snowUse, EmissionsMethod, NetRadiationMethod, RoughLenHeatMethod, &! model options
20  RoughLenMomMethod, StorageHeatMethod, AerodynamicResistanceMethod, LAIType, SnowPackLimit, &
21  OHM_threshSW, OHM_threshWD, th, tl, Kmax, g1, g2, g3, g4, g5, g6, s1, s2, LaiPower, &
22  CRWmax, &
23  CRWmin, &
24  PrecipLimit, &
25  PrecipLimitAlb, &
26  RadMeltFact, &
27  SnowAlbMax, &
28  SnowAlbMin, &
29  SnowDensMax, &
30  SnowDensMin, &
31  SnowLimBldg, &
32  SnowLimPaved, &
33  tau_a, &
34  tau_f, &
35  tau_r, &
36  TempMeltFact, &
37  OHMIncQF, &! model options
38  iy, id, it, imin, isec, dt_since_start, tstep, tstep_prev, startDLS, endDLS, &! time-related input
39  alt, lat, lng, Z, timezone, SurfaceArea, sfr, &! site-specific geographical settings
40  z0m_in, zdm_in, &! roughness related settings
41  alb, emis, SnowAlb, OHM_coef, WaterDist, & ! surface properties
42  AHProf_24hr, HumActivity_24hr, PopProf_24hr, TraffProf_24hr, WUProfA_24hr, WUProfM_24hr, snowProf_24hr, & ! hourly profile values
43  qn1_av, dqndt, qn1_s_av, dqnsdt, & ! OHM related Qn quantities
44  surf_var_id, DecidCap_id, albDecTr_id, albEveTr_id, albGrass_id, &
45  NumCapita_id, &
46  BaseT_id, &
47  BaseTe_id, &
48  GDDFull_id, &
49  SDDFull_id, &
50  LaiMin_id, &
51  LaiMax_id, &
52  MaxConductance_id, &
53  FAIbldg_id, &
54  FAIEveTree_id, &
55  FAIDecTree_id, &
56  bldgH_id, &
57  EveTreeH_id, &
58  DecTreeH_id, &
59  AH_MIN_id, &
60  AH_SLOPE_Cooling_id, &
61  AH_SLOPE_Heating_id, &
62  QF0_BEU_id, &
63  Qf_A_id, &
64  Qf_B_id, &
65  Qf_C_id, &
66  T_CRITIC_Cooling_id, &
67  T_CRITIC_Heating_id, &
68  TrafficRate_id, &
69  surf_attr_MinStorCap_id, &
70  surf_attr_DrainEquat_id, &
71  surf_attr_DrainCoef1_id, &
72  surf_attr_DrainCoef2_id, &
73  surf_attr_MaxStorCap_id, &
74  SoilStoreCap_id, &
75  SoilDepth_id, &
76  SatHydraulicConduct_id, &
77  AlbMin_DecTr_id, &
78  AlbMax_DecTr_id, &
79  AlbMin_EveTr_id, &
80  AlbMax_EveTr_id, &
81  AlbMin_Grass_id, &
82  AlbMax_Grass_id, &
83  CapMin_dec_id, &
84  CapMax_dec_id, &
85  PorMin_dec_id, &
86  PorMax_dec_id, &
87  DRAINRT_id, &
88  RAINCOVER_id, &
89  RAINMAXRES_id, &
90  FlowChange_id, &
91  PipeCapacity_id, &
92  RunoffToWater_id, &
93  StateLimit_id, &
94  WetThresh_id, &
95  BaseT_HC_id, &
96  Faut_id, &
97  IrrFracConif_id, &
98  IrrFracDecid_id, &
99  IrrFracGrass_id, &
100  DayWat_id, &
101  DayWatPer_id, &
102  PopDensDaytime_id, PopDensNighttime_id, &
103  porosity_id, &
104  GDD_id, HDD_id, LAI_id, WUDay_id, soilstore_id, state_id, SnowWater, &
105  avkdn, avRh, avU1, Press_hPa, Temp_C, Precip, & ! forcing variables
106  qn, qf, qs, qh, qe, qsfc, tsk, CHKLOWQ, &
107  kdown_o, &
108  kup_o, &
109  ldown_o, &
110  lup_o, &
111  tsurf_o, smd_o, glw1d, cldfra1d)!output
113  ! model configurations
114  INTEGER, INTENT(in) ::snowUse
115  INTEGER, INTENT(in) ::EmissionsMethod
116  INTEGER, INTENT(in) ::NetRadiationMethod
117  INTEGER, INTENT(IN) ::RoughLenHeatMethod
118  INTEGER, INTENT(IN) ::RoughLenMomMethod
119  INTEGER, INTENT(IN) ::StorageHeatMethod
120  INTEGER, INTENT(IN) ::AerodynamicResistanceMethod
121  INTEGER, DIMENSION(3), INTENT(IN) ::LAIType
122  REAL(KIND(1D0)), DIMENSION(7 + 1), INTENT(IN) :: SnowPackLimit
123  REAL(KIND(1D0)), DIMENSION(7 + 1), INTENT(IN) :: OHM_threshSW
124  REAL(KIND(1D0)), DIMENSION(7 + 1), INTENT(IN) :: OHM_threshWD
125  REAL(KIND(1D0)), INTENT(IN) :: th
126  REAL(KIND(1D0)), INTENT(IN) :: tl
127  REAL(KIND(1D0)), INTENT(IN) :: Kmax
128  REAL(KIND(1D0)), INTENT(IN) :: g1
129  REAL(KIND(1D0)), INTENT(IN) :: g2
130  REAL(KIND(1D0)), INTENT(IN) :: g3
131  REAL(KIND(1D0)), INTENT(IN) :: g4
132  REAL(KIND(1D0)), INTENT(IN) :: g5
133  REAL(KIND(1D0)), INTENT(IN) :: g6
134  REAL(KIND(1D0)), INTENT(IN) :: s1
135  REAL(KIND(1D0)), INTENT(IN) :: s2
136  REAL(KIND(1D0)), DIMENSION(4, 3), INTENT(IN) :: LaiPower
137  REAL(KIND(1D0)), INTENT(IN) :: CRWmax
138  REAL(KIND(1D0)), INTENT(IN) :: CRWmin
139  REAL(KIND(1D0)), INTENT(IN) :: PrecipLimit
140  REAL(KIND(1D0)), INTENT(IN) :: PrecipLimitAlb
141  REAL(KIND(1D0)), INTENT(IN) :: RadMeltFact
142  REAL(KIND(1D0)), INTENT(IN) :: SnowAlbMax
143  REAL(KIND(1D0)), INTENT(IN) :: SnowAlbMin
144  REAL(KIND(1D0)), INTENT(IN) :: SnowDensMax
145  REAL(KIND(1D0)), INTENT(IN) :: SnowDensMin
146  REAL(KIND(1D0)), INTENT(IN) :: SnowLimBldg
147  REAL(KIND(1D0)), INTENT(IN) :: SnowLimPaved
148  REAL(KIND(1D0)), INTENT(IN) :: tau_a
149  REAL(KIND(1D0)), INTENT(IN) :: tau_f
150  REAL(KIND(1D0)), INTENT(IN) :: tau_r
151  REAL(KIND(1D0)), INTENT(IN) :: TempMeltFact
152 
153  INTEGER, INTENT(IN) ::OHMIncQF !OHM calculation uses Q* only (0) or Q*+QF (1)
154 
155  ! time-related input
156  INTEGER, INTENT(IN) ::iy
157  INTEGER, INTENT(IN) ::id
158  INTEGER, INTENT(IN) ::it
159  INTEGER, INTENT(IN) ::imin
160  INTEGER, INTENT(in) ::isec
161  INTEGER, INTENT(in) ::dt_since_start ! time since simulation starts [s]
162  INTEGER, INTENT(IN) ::tstep
163  INTEGER, INTENT(IN) ::tstep_prev ! tstep size of the previous step
164  INTEGER, INTENT(IN) ::startDLS ! start of daylight saving (inclusive)
165  INTEGER, INTENT(IN) ::endDLS ! end of daylight saving (inclusive)
166 
167  ! site-specific geographical settings
168  REAL(KIND(1D0)), INTENT(IN) ::alt
169  REAL(KIND(1D0)), INTENT(IN) ::lat
170  REAL(KIND(1D0)), INTENT(IN) ::lng
171  REAL(KIND(1D0)), INTENT(IN) ::Z
172  REAL(KIND(1D0)), INTENT(IN) ::timezone
173  REAL(KIND(1D0)), INTENT(IN) ::SurfaceArea
174  REAL(KIND(1D0)), DIMENSION(7), INTENT(IN) ::sfr
175 
176  ! roughness related settings
177  REAL(KIND(1D0)), INTENT(in) ::z0m_in
178  REAL(KIND(1D0)), INTENT(in) ::zdm_in
179 
180  ! radiation related settings:
181  REAL(KIND(1D0)), DIMENSION(7), INTENT(INOUT) ::alb
182  REAL(KIND(1D0)), DIMENSION(7), INTENT(IN) ::emis
183  REAL(KIND(1D0)), INTENT(INOUT) ::SnowAlb
184 
185  ! OHM coeffcients
186  REAL(KIND(1D0)), DIMENSION(7 + 1, 4, 3), INTENT(IN) ::OHM_coef
187 
188  ! hydrology related settings
189  REAL(KIND(1D0)), DIMENSION(7 + 1, 7 - 1), INTENT(IN) ::WaterDist
190 
191  ! profiles at 24 hours
192  REAL(KIND(1D0)), DIMENSION(0:23, 2), INTENT(in) :: AHProf_24hr
193  REAL(KIND(1D0)), DIMENSION(0:23, 2), INTENT(in) :: HumActivity_24hr
194  REAL(KIND(1D0)), DIMENSION(0:23, 2), INTENT(in) :: PopProf_24hr
195  REAL(KIND(1D0)), DIMENSION(0:23, 2), INTENT(in) :: TraffProf_24hr
196  REAL(KIND(1D0)), DIMENSION(0:23, 2), INTENT(in) :: WUProfA_24hr
197  REAL(KIND(1D0)), DIMENSION(0:23, 2), INTENT(in) :: WUProfM_24hr
198  REAL(KIND(1D0)), DIMENSION(0:23, 2), INTENT(in) :: snowProf_24hr
199  ! daily states, also initial conditions
200 
201  REAL(KIND(1d0)), INTENT(INOUT) ::qn1_av
202  REAL(KIND(1d0)), INTENT(INOUT) ::dqndt
203  REAL(KIND(1d0)), INTENT(INOUT) ::qn1_s_av !qn1_av for snow
204  REAL(KIND(1d0)), INTENT(INOUT) ::dqnsdt !dqndt for snow
205  REAL(KIND(1d0)), INTENT(INOUT) ::DecidCap_id
206  REAL(KIND(1d0)), INTENT(INOUT) ::albDecTr_id
207  REAL(KIND(1d0)), INTENT(INOUT) ::albEveTr_id
208  REAL(KIND(1d0)), INTENT(INOUT) ::albGrass_id
209  REAL(KIND(1d0)), INTENT(INOUT) ::NumCapita_id
210 
211  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) :: BaseT_id
212  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) :: BaseTe_id
213  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) :: GDDFull_id
214  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) :: SDDFull_id
215  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) :: LaiMin_id
216  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) :: LaiMax_id
217  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) :: MaxConductance_id
218  REAL(KIND(1d0)), INTENT(INOUT) :: FAIbldg_id
219  REAL(KIND(1d0)), INTENT(INOUT) :: FAIEveTree_id
220  REAL(KIND(1d0)), INTENT(INOUT) :: FAIDecTree_id
221  REAL(KIND(1d0)), INTENT(INOUT) :: bldgH_id
222  REAL(KIND(1d0)), INTENT(INOUT) :: EveTreeH_id
223  REAL(KIND(1d0)), INTENT(INOUT) :: DecTreeH_id
224  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: AH_MIN_id
225  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: AH_SLOPE_Cooling_id
226  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: AH_SLOPE_Heating_id
227  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: QF0_BEU_id
228  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: Qf_A_id
229  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: Qf_B_id
230  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: Qf_C_id
231  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: T_CRITIC_Cooling_id
232  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: T_CRITIC_Heating_id
233  REAL(KIND(1d0)), DIMENSION(2), INTENT(INOUT) :: TrafficRate_id
234  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) :: surf_attr_MinStorCap_id
235  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) :: surf_attr_DrainEquat_id
236  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) :: surf_attr_DrainCoef1_id
237  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) :: surf_attr_DrainCoef2_id
238  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) :: surf_attr_MaxStorCap_id
239 
240  REAL(KIND(1d0)), INTENT(INOUT) ::PopDensDaytime_id
241  REAL(KIND(1d0)), INTENT(INOUT) ::PopDensNighttime_id
242  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) ::SoilStoreCap_id
243  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) ::SoilDepth_id
244  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) ::SatHydraulicConduct_id
245  REAL(KIND(1d0)), INTENT(INOUT) ::AlbMin_DecTr_id
246  REAL(KIND(1d0)), INTENT(INOUT) ::AlbMax_DecTr_id
247  REAL(KIND(1d0)), INTENT(INOUT) ::AlbMin_EveTr_id
248  REAL(KIND(1d0)), INTENT(INOUT) ::AlbMax_EveTr_id
249  REAL(KIND(1d0)), INTENT(INOUT) ::AlbMin_Grass_id
250  REAL(KIND(1d0)), INTENT(INOUT) ::AlbMax_Grass_id
251  REAL(KIND(1d0)), INTENT(INOUT) ::CapMin_dec_id
252  REAL(KIND(1d0)), INTENT(INOUT) ::CapMax_dec_id
253  REAL(KIND(1d0)), INTENT(INOUT) ::PorMin_dec_id
254  REAL(KIND(1d0)), INTENT(INOUT) ::PorMax_dec_id
255  REAL(KIND(1d0)), INTENT(INOUT) ::DRAINRT_id
256  REAL(KIND(1d0)), INTENT(INOUT) ::RAINCOVER_id
257  REAL(KIND(1d0)), INTENT(INOUT) ::RAINMAXRES_id
258  REAL(KIND(1d0)), INTENT(INOUT) ::FlowChange_id
259  REAL(KIND(1d0)), INTENT(INOUT) ::PipeCapacity_id
260  REAL(KIND(1d0)), INTENT(INOUT) ::RunoffToWater_id
261  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) ::StateLimit_id
262  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) ::WetThresh_id
263  REAL(KIND(1d0)), INTENT(INOUT) ::BaseT_HC_id
264  REAL(KIND(1d0)), INTENT(INOUT) ::Faut_id
265  REAL(KIND(1d0)), INTENT(INOUT) ::IrrFracConif_id
266  REAL(KIND(1d0)), INTENT(INOUT) ::IrrFracDecid_id
267  REAL(KIND(1d0)), INTENT(INOUT) ::IrrFracGrass_id
268  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) :: DayWat_id
269  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) :: DayWatPer_id
270  REAL(KIND(1d0)), INTENT(INOUT) ::porosity_id
271  REAL(KIND(1d0)), DIMENSION(5), INTENT(INOUT) ::GDD_id !Growing Degree Days (see SUEWS_DailyState.f95)
272  REAL(KIND(1d0)), DIMENSION(12), INTENT(INOUT) ::HDD_id !Heating/Cooling Degree Days (see SUEWS_DailyState.f95)
273  REAL(KIND(1d0)), DIMENSION(3), INTENT(INOUT) ::LAI_id !LAI for each veg surface [m2 m-2]
274  REAL(KIND(1d0)), DIMENSION(9), INTENT(INOUT) ::WUDay_id
275  REAL(KIND(1D0)), DIMENSION(7), INTENT(INOUT) ::soilstore_id
276  REAL(KIND(1D0)), DIMENSION(7), INTENT(INOUT) ::state_id
277  REAL(KIND(1d0)), DIMENSION(7), INTENT(INOUT) ::surf_var_id !variable to store the current states
278  REAL(KIND(1D0)), DIMENSION(7), INTENT(INOUT) ::SnowWater
279 
280  ! forcing variables
281  REAL(KIND(1D0)), INTENT(IN)::avkdn
282  REAL(KIND(1D0)), INTENT(IN)::glw1d
283  REAL(KIND(1D0)), INTENT(IN)::avRh
284  REAL(KIND(1D0)), INTENT(IN)::avU1
285  REAL(KIND(1D0)), INTENT(IN)::Press_hPa
286  REAL(KIND(1D0)), INTENT(IN)::Temp_C
287  REAL(KIND(1D0)), INTENT(IN)::Precip
288  REAL(KIND(1D0)), INTENT(IN)::cldfra1d
289  ! output for WRF
290  REAL(KIND(1D0)), INTENT(out)::kdown_o
291  REAL(KIND(1D0)), INTENT(out)::kup_o
292  REAL(KIND(1D0)), INTENT(out)::ldown_o
293  REAL(KIND(1D0)), INTENT(out)::lup_o
294  REAL(KIND(1D0)), INTENT(out)::tsurf_o
295  REAL(KIND(1D0)), INTENT(out)::smd_o
296 
297  REAL(KIND(1D0)), INTENT(out)::qn
298  REAL(KIND(1D0)), INTENT(out)::qf
299  REAL(KIND(1D0)), INTENT(out)::qs
300  REAL(KIND(1D0)), INTENT(out)::qh
301  REAL(KIND(1D0)), INTENT(out)::qe
302  REAL(KIND(1D0)), INTENT(out)::qsfc
303  REAL(KIND(1D0)), INTENT(out)::tsk
304  REAL(KIND(1D0)), INTENT(out)::CHKLOWQ
305 
306  ! fixed settings in SuMin
307  INTEGER, PARAMETER ::veg_type = 1
308  INTEGER, PARAMETER ::gsModel = 2
309  INTEGER, PARAMETER ::StabilityMethod = 3
310  INTEGER, PARAMETER ::SMDMethod = 0
311  INTEGER, PARAMETER ::DiagQN = 0
312  INTEGER, PARAMETER ::DiagQS = 0
313  INTEGER, PARAMETER ::Diagnose = 0
314  INTEGER, PARAMETER ::EvapMethod = 2
315  INTEGER, PARAMETER ::LAICalcYes = 1
316  INTEGER, PARAMETER ::WaterUseMethod = 0
317 
318  REAL(KIND(1D0)), PARAMETER:: LAI_obs = 0
319  REAL(KIND(1D0)) :: ldown_obs
320  REAL(KIND(1D0)) ::fcld_obs
321  REAL(KIND(1D0)), PARAMETER:: snowFrac_obs = 0
322  REAL(KIND(1D0)), PARAMETER:: qn1_obs = 0
323  REAL(KIND(1D0)), PARAMETER:: qh_obs = 0
324  REAL(KIND(1D0)), PARAMETER:: qf_obs = 0
325  REAL(KIND(1D0)), PARAMETER:: qs_obs = 0
326 
327  ! local variables not used for WRF coupling
328  INTEGER::Gridiv
329  INTEGER::Ie_end
330  INTEGER::Ie_start
331 #ifdef wrf
332  CHARACTER(len=1024) :: message ! Used to pass through function wrf_debug() by Zhenkun Li, 10/08/2018
333 #endif
334 
335  ! parameters used in SUEWS for now:
336  !REAL(KIND(1d0)), DIMENSION(7), PARAMETER ::SoilStoreCap = [150., 150., 150., 150., 150., 150., 0.] !Capacity of soil store for each surface [mm]
337  !REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::SoilDepth = 350 !Depth of sub-surface soil store for each surface [mm]
338  !REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::SatHydraulicConduct = 5E-4 !Saturated hydraulic conductivity for each soil subsurface [mm s-1]
339 
340  !REAL(KIND(1d0)), PARAMETER:: AlbMin_DecTr = 0.12 !Min albedo for deciduous trees [-]
341  !REAL(KIND(1d0)), PARAMETER:: AlbMax_DecTr = 0.18 !Max albedo for deciduous trees [-]
342  !REAL(KIND(1d0)), PARAMETER:: AlbMin_EveTr = 0.11 !Min albedo for evergreen trees [-]
343  !REAL(KIND(1d0)), PARAMETER:: AlbMax_EveTr = 0.12 !Max albedo for evergreen trees [-]
344  !REAL(KIND(1d0)), PARAMETER:: AlbMin_Grass = 0.18 !Min albedo for grass [-]
345  !REAL(KIND(1d0)), PARAMETER:: AlbMax_Grass = 0.21 !Max albedo for grass [-]
346 
347  !REAL(KIND(1d0)), PARAMETER:: CapMin_dec = 0.3 !Min storage capacity for deciduous trees [mm] (from input information)
348  !REAL(KIND(1d0)), PARAMETER:: CapMax_dec = 0.8 !Max storage capacity for deciduous trees [mm] (from input information)
349  !REAL(KIND(1d0)), PARAMETER:: PorMin_dec = 0.2 !Min porosity for deciduous trees
350  !REAL(KIND(1d0)), PARAMETER:: PorMax_dec = 0.6 !Max porosity for deciduous trees
351 
352  !REAL(KIND(1d0)), PARAMETER:: FAIbldg = 0. !Frontal area fraction of buildings
353  !REAL(KIND(1d0)), PARAMETER:: FAIEveTree = 0. !Frontal area fraction of evergreen trees
354  !REAL(KIND(1d0)), PARAMETER:: FAIDecTree = 0. !Frontal area fraction of deciduous trees
355 
356  !REAL(KIND(1d0)), PARAMETER :: bldgH = 10 !Mean building height
357  !REAL(KIND(1d0)), PARAMETER :: EveTreeH = 10 !Height of evergreen trees
358  !REAL(KIND(1d0)), PARAMETER :: DecTreeH = 10 !Height of deciduous trees
359  !grid base
360  !REAL(KIND(1d0)), DIMENSION(3), PARAMETER:: BaseT = [5, 5, 5] !Base temperature for growing degree days [degC]
361  !REAL(KIND(1d0)), DIMENSION(3), PARAMETER:: BaseTe = [11, 11, 11] !Base temperature for senescence degree days [degC]
362  !REAL(KIND(1d0)), DIMENSION(3), PARAMETER:: GDDFull = [300, 300, 300] !Growing degree days needed for full capacity [degC]
363  !REAL(KIND(1d0)), DIMENSION(3), PARAMETER:: SDDFull = [-450, -450, -450] !Senescence degree days needed to initiate leaf off [degC]
364  !REAL(KIND(1d0)), DIMENSION(3), PARAMETER:: LaiMin = [4., 1., 1.6] !Min LAI [m2 m-2]
365  !REAL(KIND(1d0)), DIMENSION(3), PARAMETER:: LaiMax = [5.1, 5.5, 5.9] !Max LAI [m2 m-2]
366  !REAL(KIND(1d0)), DIMENSION(3), PARAMETER:: MaxConductance = [7.4, 11.7, 30.1] !Max conductance [mm s-1]
367  !namelist
368  ! REAL(KIND(1d0)), DIMENSION(4, 3), PARAMETER:: LaiPower = RESHAPE( & !Coeffs for LAI equation: 1,2 - leaf growth; 3,4 - leaf off
369  ! [[0.03, 0.03, 0.03], &
370  ! [0.0005, 0.0005, 0.0005], &
371  ! [0.03, 0.03, 0.03], &
372  ! [0.0005, 0.0005, 0.0005]], &
373  ! [4, 3], order=[2, 1])
374  !namelist
375  !INTEGER, DIMENSION(3), PARAMETER:: LAIType = 0 !LAI equation to use: original (0) or new (1)
376 
377  !REAL(KIND(1D0)), PARAMETER ::DRAINRT = 0.25 !Drainage rate of the water bucket [mm hr-1]
378  !REAL(KIND(1D0)), PARAMETER ::RAINCOVER = 1
379  !REAL(KIND(1D0)), PARAMETER ::RAINMAXRES = 10 !Maximum water bucket reservoir [mm]
380  !REAL(KIND(1d0)), PARAMETER ::FlowChange = 0 !Difference between the input and output flow in the water body
381  !REAL(KIND(1d0)), PARAMETER ::PipeCapacity = 100 !Capacity of pipes to transfer water
382  !REAL(KIND(1d0)), PARAMETER ::RunoffToWater = 0.1 !Fraction of surface runoff going to water body
383 
384  !REAL(KIND(1d0)), DIMENSION(7), PARAMETER:: StateLimit = [0.48, 0.25, 1.3, 0.8, 1.9, 1.0, 30000.] !Limit for state of each surface type [mm] (specified in input files)
385  !REAL(KIND(1d0)), DIMENSION(7), PARAMETER:: WetThresh = [0.48, 0.25, 1.3, 0.8, 1.9, 1., 0.5] !When State > WetThresh, rs=0 limit in SUEWS_evap [mm] (specified in input files)
386 
387  ! ---- Drainage characteristics ----------------------------------------------------------------
388  ! 1 - min storage capacity [mm]
389  ! 2 - Drainage equation to use
390  ! 3 - Drainage coeff 1 [units depend on choice of eqn]
391  ! 4 - Drainage coeff 2 [units depend on choice of eqn]
392  ! 5 - max storage capacity [mm]
393  !REAL(KIND(1d0)), DIMENSION(5, 7), PARAMETER:: surf_attr = RESHAPE( & ! variable to store the above five properties
394  ! [[0.48, 0.25, 1.3, 0.3, 1.9, 0.8, 0.5], &
395  ! [3., 3., 2., 2., 2., 3., 0.], &
396  ! [10., 10., 0.013, 0.013, 0.013, 10., 0.], &
397  ! [3., 3., 1.71, 1.71, 1.71, 3., 0.], &
398  ! [0.48, 0.25, 1.3, 0.8, 1.9, 0.8, 0.5]], &
399  ! [5, 7], order=[2, 1])
400 
401  !REAL(KIND(1d0)), DIMENSION(1, 7), PARAMETER:: surf_attr_MinStorCap = [ 0.48, 0.25, 1.3, 0.3, 1.9, 0.8, 0.5]
402  !REAL(KIND(1d0)), DIMENSION(1, 7), PARAMETER:: surf_attr_DrainEquat = [3., 3., 2., 2., 2., 3., 0.]
403  !REAL(KIND(1d0)), DIMENSION(1, 7), PARAMETER:: surf_attr_DrainCoef1 = [10., 10., 0.013, 0.013, 0.013, 10., 0.]
404  !REAL(KIND(1d0)), DIMENSION(1, 7), PARAMETER:: surf_attr_DrainCoef2 = [3., 3., 1.71, 1.71, 1.71, 3., 0.]
405  !REAL(KIND(1d0)), DIMENSION(1, 7), PARAMETER:: surf_attr_MaxStorCap = [0.48, 0.25, 1.3, 0.8, 1.9, 0.8, 0.5]
406 
407  !namelist
408  ! these will be assigned locally as data
409  ! use gsModel=2 as in Ward et al. (2016)
410  !REAL(KIND(1d0)), PARAMETER::th = 55 !Maximum temperature limit
411  !REAL(KIND(1d0)), PARAMETER::tl = -10 !Minimum temperature limit
412  !REAL(KIND(1d0)), PARAMETER::Kmax = 1200 !Annual maximum hourly solar radiation
413  !REAL(KIND(1d0)), PARAMETER::g1 = 3.5 !Fitted parameter
414  !REAL(KIND(1d0)), PARAMETER::g2 = 200 !Fitted parameter
415  !REAL(KIND(1d0)), PARAMETER::g3 = 0.13 !Fitted parameter
416  !REAL(KIND(1d0)), PARAMETER::g4 = 0.7 !Fitted parameter
417  !REAL(KIND(1d0)), PARAMETER::g5 = 30 !Fitted parameter
418  !REAL(KIND(1d0)), PARAMETER::g6 = 0.05 !Fitted parameter
419  !REAL(KIND(1d0)), PARAMETER::s1 = 5.56 !Fitted parameter
420  !REAL(KIND(1d0)), PARAMETER::s2 = 0 !surface res. calculations
421  !namelist
422  !REAL(KIND(1d0)), DIMENSION(7 + 1), PARAMETER:: OHM_threshSW = [10, 10, 10, 10, 10, 10, 10, 10] !Arrays for OHM thresholds
423  !REAL(KIND(1d0)), DIMENSION(7 + 1), PARAMETER:: OHM_threshWD = [0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9] !Arrays for OHM thresholds
424 
425  !REAL(KIND(1d0)), PARAMETER:: BaseT_HC = 18.9 !Base temperature for QF
426  !not used
427  REAL(KIND(1D0)), PARAMETER::xsmd = 0. !Measured soil moisture deficit
428  !Todo
429  REAL(KIND(1D0)), PARAMETER::wu_m3 = 0 !External water use
430  !REAL(KIND(1D0)), PARAMETER::Faut = 0 !Fraction of irrigated area using automatic irrigation
431  REAL(KIND(1D0)), PARAMETER::InternalWaterUse_h = 0 !Internal water use [mm h-1]
432  !REAL(KIND(1D0)), PARAMETER::IrrFracEveTr = 0 !Fraction of evergreen trees which are irrigated
433  !REAL(KIND(1D0)), PARAMETER::IrrFracDecTr = 0 !Fraction of deciduous trees which are irrigated
434  !REAL(KIND(1D0)), PARAMETER::IrrFracGrass = 0 !Fraction of grass which is irrigated
435  !Todo
436  !REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::DayWat = 0 !Days of watering allowed
437  !REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::DayWatPer = 0 !% of houses following daily water
438  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::Ie_a = [-84.535, 9.959, 3.674] !Coefficients for automatic irrigation models
439  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::Ie_m = [-25.36, 2.988, 1.102] !Coefficients for manual irrigation models
440 
441  ! local variables
442  REAL(KIND(1D0)), PARAMETER::NARP_EMIS_SNOW = 0.9 !NARP-specific parameters
443  REAL(KIND(1D0))::NARP_TRANS_SITE!NARP-specific parameters QUESTION: not used by SUEWS?
444 
445  !REAL(KIND(1D0)), PARAMETER::NumCapita = 0 !Number of people in the study area per hectare [ha-1]
446  !REAL(KIND(1D0)), PARAMETER::PopDensDaytime = 0 ! Daytime population density [ha-1] (i.e. workers)
447  !REAL(KIND(1D0)), PARAMETER::PopDensNighttime = 0 ! Nighttime population density [ha-1] (i.e. residents)
448 
449  ! snow related local variables
450  ! REAL(KIND(1D0)), PARAMETER ::CRWmax = 0.2 !Free water holding capacity of shallow SnowPack
451  ! REAL(KIND(1D0)), PARAMETER ::CRWmin = 0.05 !Free water holding capacity of deep SnowPack
452  ! REAL(KIND(1D0)), PARAMETER ::PrecipLimit = 2.2 !Temperature limit when precipitation occurs as snow
453  ! REAL(KIND(1D0)), PARAMETER ::PrecipLimitAlb = 2 !Precipitation limit for albedo change (in mm)
454  ! REAL(KIND(1D0)), PARAMETER ::RadMeltFact = 0.001 !Radiation melt factor
455  ! REAL(KIND(1D0)), PARAMETER ::SnowAlbMax = 0.8 !Maximum snow albedo
456  ! REAL(KIND(1D0)), PARAMETER ::SnowAlbMin = 0.18 !Minimum snow albedo
457  ! REAL(KIND(1D0)), PARAMETER ::SnowDensMax = 450 !Minimum density of snow
458  ! REAL(KIND(1D0)), PARAMETER ::SnowDensMin = 100 !Maximum density of snow
459  ! REAL(KIND(1D0)), PARAMETER ::SnowLimBldg = 100 !Snow removal limits for roofs in mm)
460  ! REAL(KIND(1D0)), PARAMETER ::SnowLimPaved = 100 !Snow removal limits for paved surfaces in mm)
461  ! REAL(KIND(1D0)), PARAMETER ::tau_a = 0.01 !Time constans related to albedo change
462  ! REAL(KIND(1D0)), PARAMETER ::tau_f = 0.1 !Time constans related to albedo change
463  ! REAL(KIND(1D0)), PARAMETER ::tau_r = 0.02 !Time constans related to albedo change
464  ! REAL(KIND(1D0)), PARAMETER ::TempMeltFact = 0.12 !Temperature melt factor
465  ! REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::SnowPackLimit = 0
466  ! REAL(KIND(1D0)), DIMENSION(0:23, 2), PARAMETER::snowProf_24hr = 0 ! Timing of snow removal (0 or 1) Hourly, WD/WE
467 
468  !grid level
469  ! Anthropogenic heat related variables
470  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::AH_MIN = 10!Minimum anthropogenic heat flux (AnthropHeatMethod = 1)
471  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::AH_SLOPE_Cooling = [2.7, 2.7]!Slope of the antrhropogenic heat flux calculation (AnthropHeatMethod = 1)
472  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::AH_SLOPE_Heating = [2.7, 2.7]!Slope of the antrhropogenic heat flux calculation (AnthropHeatMethod = 1)
473  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::QF0_BEU = [0.7442, 0.7955]
474  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::Qf_A = [0.1, 0.1]!Qf coefficients
475  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::Qf_B = [0.00986, 0.00986]!Qf coefficients
476  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::Qf_C = [0.0102, 0.0102]!Qf coefficients
477  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::BaseT_Cooling = [7, 7] !Critical temperature
478  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::BaseT_Heating = [7, 7] !Critical temperature
479  !REAL(KIND(1D0)), DIMENSION(2), PARAMETER ::TrafficRate = [0.0134, 0.0095]
480  !keep them here
481  REAL(KIND(1D0)), PARAMETER::EF_umolCO2perJ = 1.159
482  REAL(KIND(1D0)), PARAMETER::EnEF_v_Jkm = 4e6
483  REAL(KIND(1D0)), PARAMETER::FcEF_v_kgkm = 0.285
484  REAL(KIND(1D0)), PARAMETER::FrFossilFuel_Heat = 0.05
485  REAL(KIND(1D0)), PARAMETER::FrFossilFuel_NonHeat = 0
486  REAL(KIND(1D0)), PARAMETER::TrafficUnits = 1
487  REAL(KIND(1D0)), PARAMETER::MaxQFMetab = 175
488  REAL(KIND(1D0)), PARAMETER::MinQFMetab = 75
489 
490  ! AnOHM related: not used
491  REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::chAnOHM = 3 ! bulk transfer coef., added by TS AnOHM
492  REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::cpAnOHM = 2e6 ! heat capacity, added by TS AnOHM
493  REAL(KIND(1D0)), DIMENSION(7), PARAMETER ::kkAnOHM = 1.2 ! heat conductivity, added by TS AnOHM
494  REAL(KIND(1D0)), DIMENSION(:, :), ALLOCATABLE ::MetForcingData_grid
495 
496  !Biogenic CO2 related parameters
497  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::alpha_bioCO2 = 0.005
498  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::alpha_enh_bioCO2 = 0.016
499  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::beta_bioCO2 = 8.747
500  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::beta_enh_bioCO2 = 33.454
501  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::min_res_bioCO2 = 0.6
502  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::resp_a = 2.43
503  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::resp_b = 0
504  REAL(KIND(1D0)), DIMENSION(3), PARAMETER ::theta_bioCO2 = 0.96
505 
506  ! ESTM related variables, not used
507  REAL(KIND(1d0)), DIMENSION(24*3600/tstep) ::Tair24HR
508  REAL(KIND(1d0)), DIMENSION(:), ALLOCATABLE ::Ts5mindata_ir !TODO:allocatable array can't serve as argument?
509 
510  REAL(KIND(1D0)) ::SnowfallCum = 0 !Cumulative snowfall
511  REAL(KIND(1D0)), DIMENSION(7) ::IceFrac = 0.2 !Estimated fraction of ice. Should be improved in the future
512  REAL(KIND(1D0)), DIMENSION(7) ::SnowDens = 300 !Density of snow
513  REAL(KIND(1D0)), DIMENSION(7) ::SnowFrac = 0 !!Surface fraction of snow cover
514  REAL(KIND(1D0)), DIMENSION(7) ::SnowPack = 0 !Amount of snow on each surface in mm
515 
516  REAL(KIND(1D0)), DIMENSION(5) ::datetimeLine
517  REAL(KIND(1D0)), DIMENSION(ncolumnsDataOutSUEWS - 5) ::dataOutLineSUEWS
518  REAL(KIND(1D0)), DIMENSION(ncolumnsDataOutSnow - 5) ::dataOutLineSnow
519  REAL(KIND(1d0)), DIMENSION(ncolumnsDataOutESTM - 5) ::dataOutLineESTM
520  REAL(KIND(1d0)), DIMENSION(ncolumnsDataOutDailyState - 5) ::DailyStateLine
521 
522  ! drainage related parameters
523  REAL(KIND(1D0)), DIMENSION(6, 7)::StoreDrainPrm
524  storedrainprm(1, :) = surf_attr_minstorcap_id
525  storedrainprm(2, :) = surf_attr_drainequat_id
526  storedrainprm(3, :) = surf_attr_draincoef1_id
527  storedrainprm(4, :) = surf_attr_draincoef2_id
528  storedrainprm(5, :) = surf_attr_maxstorcap_id
529 
530  storedrainprm(6, :) = surf_var_id
531  ldown_obs = glw1d
532  fcld_obs = cldfra1d
533  ! PRINT*,''
534  ! PRINT*, 'soilstore_id',soilstore_id
535  ! soilstore_id=MERGE(soilstore_id,soilstore_id*0,soilstore_id>0)
536  ! print*, 'soilstore_id modified',soilstore_id
537  ! PRINT*, 'state_id',state_id
538 #ifdef wrf
539  WRITE (message, *) 'in SuMin, before calculation, OHM_coef:', ohm_coef(1, :, :)
540  CALL wrf_debug(100, message)
541 #endif
542 
543  CALL suews_cal_main( &
544  aerodynamicresistancemethod, ah_min_id, ahprof_24hr, ah_slope_cooling_id, & ! input&inout in alphabetical order
545  ah_slope_heating_id, &
546  alb, albmax_dectr_id, albmax_evetr_id, albmax_grass_id, &
547  albmin_dectr_id, albmin_evetr_id, albmin_grass_id, &
548  alpha_bioco2, alpha_enh_bioco2, alt, avkdn, avrh, avu1, baset_id, basete_id, &
549  baset_hc_id, beta_bioco2, beta_enh_bioco2, bldgh_id, capmax_dec_id, capmin_dec_id, &
550  chanohm, cpanohm, crwmax, crwmin, daywat_id, daywatper_id, &
551  dectreeh_id, diagnose, diagqn, diagqs, drainrt_id, &
552  dt_since_start, dqndt, qn1_av, dqnsdt, qn1_s_av, &
553  ef_umolco2perj, emis, emissionsmethod, enef_v_jkm, enddls, evetreeh_id, faibldg_id, &
554  faidectree_id, faievetree_id, faut_id, fcef_v_kgkm, fcld_obs, flowchange_id, &
555  frfossilfuel_heat, frfossilfuel_nonheat, g1, g2, g3, g4, g5, g6, gdd_id, &
556  gddfull_id, gridiv, gsmodel, hdd_id, humactivity_24hr, &
557  icefrac, id, ie_a, ie_end, ie_m, ie_start, imin, &
558  internalwateruse_h, irrfracconif_id, irrfracdecid_id, irrfracgrass_id, isec, it, evapmethod, &
559  iy, kkanohm, kmax, lai_id, laicalcyes, laimax_id, laimin_id, lai_obs, &
560  laipower, laitype, lat, ldown_obs, lng, maxconductance_id, maxqfmetab, &
561  snowwater, metforcingdata_grid, minqfmetab, min_res_bioco2, &
562  narp_emis_snow, narp_trans_site, netradiationmethod, &
563  numcapita_id, ohm_coef, ohmincqf, ohm_threshsw, &
564  ohm_threshwd, pipecapacity_id, popdensdaytime_id, &
565  popdensnighttime_id, popprof_24hr, pormax_dec_id, pormin_dec_id, &
566  precip, preciplimit, preciplimitalb, press_hpa, &
567  qf0_beu_id, qf_a_id, qf_b_id, qf_c_id, &
568  qn1_obs, qh_obs, qs_obs, qf_obs, &
569  radmeltfact, raincover_id, rainmaxres_id, resp_a, resp_b, &
570  roughlenheatmethod, roughlenmommethod, runofftowater_id, s1, s2, &
571  sathydraulicconduct_id, sddfull_id, sfr, smdmethod, snowalb, snowalbmax, &
572  snowalbmin, snowpacklimit, snowdens, snowdensmax, snowdensmin, snowfallcum, snowfrac, &
573  snowlimbldg, snowlimpaved, snowfrac_obs, snowpack, snowprof_24hr, snowuse, soildepth_id, &
574  soilstore_id, soilstorecap_id, stabilitymethod, startdls, state_id, statelimit_id, &
575  storageheatmethod, storedrainprm, surfacearea, tair24hr, tau_a, tau_f, tau_r, &
576  t_critic_cooling_id, t_critic_heating_id, temp_c, tempmeltfact, th, &
577  theta_bioco2, timezone, tl, trafficrate_id, trafficunits, &
578  traffprof_24hr, ts5mindata_ir, tstep, tstep_prev, veg_type, &
579  waterdist, waterusemethod, wetthresh_id, wu_m3, &
580  wuday_id, decidcap_id, albdectr_id, albevetr_id, albgrass_id, porosity_id, &
581  wuprofa_24hr, wuprofm_24hr, xsmd, z, z0m_in, zdm_in, &
582  datetimeline, dataoutlinesuews, dataoutlinesnow, dataoutlineestm, &!output
583  dailystateline)!output
584 
585  surf_var_id = storedrainprm(6, :) ! update surf_var_id
586 
587  kdown_o = dataoutlinesuews(1)
588  kup_o = dataoutlinesuews(2)
589  ldown_o = dataoutlinesuews(3)
590  lup_o = dataoutlinesuews(4)
591  tsurf_o = dataoutlinesuews(5)
592  smd_o = dataoutlinesuews(23)
593 
594  qn = dataoutlinesuews(6)
595  qf = dataoutlinesuews(7)
596  qs = dataoutlinesuews(8)
597  qh = dataoutlinesuews(9)
598  qe = dataoutlinesuews(10)
599  qsfc = dataoutlinesuews(16)
600  tsk = dataoutlinesuews(77) + 273.15
601  chklowq = 1
602 
603  ! PRINT*,''
604  ! PRINT*, 'avkdn,kup,ldown,lup,tsurf'
605  ! PRINT*, dataOutLineSUEWS(1:5)
606  ! PRINT*, 'qn1,qf,qs,qh,qe'
607  ! PRINT*, dataOutLineSUEWS(6:10)
608  ! PRINT*,''
609  ! IF ( ABS(qe)>1000 ) THEN
610  ! zdm_in=0.
611  ! PRINT*, 10./zdm_in
612  ! END IF
613 #ifdef wrf
614  WRITE (message, *) ' in SuMin, after calculation, OHM_coef:', ohm_coef(1, :, :)
615  CALL wrf_debug(100, message)
616 
617  WRITE (message, *) ' in SuMin, qn,qf,qs,qh,qe:', dataoutlinesuews(6:10)
618  CALL wrf_debug(100, message)
619 #endif
620 
621  END SUBROUTINE sumin
622 
623 END MODULE sumin_module
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, avkdn, 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, Diagnose, DiagQN, DiagQS, DRAINRT, dt_since_start, dqndt, qn1_av, dqnsdt, qn1_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, 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, sfr, SMDMethod, SnowAlb, SnowAlbMax, SnowAlbMin, SnowPackLimit, SnowDens, SnowDensMax, SnowDensMin, SnowfallCum, SnowFrac, SnowLimBldg, SnowLimPaved, snowFrac_obs, SnowPack, SnowProf_24hr, snowUse, SoilDepth, soilstore_id, SoilStoreCap, StabilityMethod, startDLS, state_id, StateLimit, 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, TraffProf_24hr, Ts5mindata_ir, tstep, tstep_prev, veg_type, WaterDist, WaterUseMethod, WetThresh, 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, dataOutLineSOLWEIG, DailyStateLine)
subroutine sumin(snowUse, EmissionsMethod, NetRadiationMethod, RoughLenHeatMethod, RoughLenMomMethod, StorageHeatMethod, AerodynamicResistanceMethod, LAIType, SnowPackLimit, OHM_threshSW, OHM_threshWD, th, tl, Kmax, g1, g2, g3, g4, g5, g6, s1, s2, LaiPower, CRWmax, CRWmin, PrecipLimit, PrecipLimitAlb, RadMeltFact, SnowAlbMax, SnowAlbMin, SnowDensMax, SnowDensMin, SnowLimBldg, SnowLimPaved, tau_a, tau_f, tau_r, TempMeltFact, OHMIncQF, iy, id, it, imin, isec, dt_since_start, tstep, tstep_prev, startDLS, endDLS, alt, lat, lng, Z, timezone, SurfaceArea, sfr, z0m_in, zdm_in, alb, emis, SnowAlb, OHM_coef, WaterDist, AHProf_24hr, HumActivity_24hr, PopProf_24hr, TraffProf_24hr, WUProfA_24hr, WUProfM_24hr, snowProf_24hr, qn1_av, dqndt, qn1_s_av, dqnsdt, surf_var_id, DecidCap_id, albDecTr_id, albEveTr_id, albGrass_id, NumCapita_id, BaseT_id, BaseTe_id, GDDFull_id, SDDFull_id, LaiMin_id, LaiMax_id, MaxConductance_id, FAIbldg_id, FAIEveTree_id, FAIDecTree_id, bldgH_id, EveTreeH_id, DecTreeH_id, AH_MIN_id, AH_SLOPE_Cooling_id, AH_SLOPE_Heating_id, QF0_BEU_id, Qf_A_id, Qf_B_id, Qf_C_id, T_CRITIC_Cooling_id, T_CRITIC_Heating_id, TrafficRate_id, surf_attr_MinStorCap_id, surf_attr_DrainEquat_id, surf_attr_DrainCoef1_id, surf_attr_DrainCoef2_id, surf_attr_MaxStorCap_id, SoilStoreCap_id, SoilDepth_id, SatHydraulicConduct_id, AlbMin_DecTr_id, AlbMax_DecTr_id, AlbMin_EveTr_id, AlbMax_EveTr_id, AlbMin_Grass_id, AlbMax_Grass_id, CapMin_dec_id, CapMax_dec_id, PorMin_dec_id, PorMax_dec_id, DRAINRT_id, RAINCOVER_id, RAINMAXRES_id, FlowChange_id, PipeCapacity_id, RunoffToWater_id, StateLimit_id, WetThresh_id, BaseT_HC_id, Faut_id, IrrFracConif_id, IrrFracDecid_id, IrrFracGrass_id, DayWat_id, DayWatPer_id, PopDensDaytime_id, PopDensNighttime_id, porosity_id, GDD_id, HDD_id, LAI_id, WUDay_id, soilstore_id, state_id, SnowWater, avkdn, avRh, avU1, Press_hPa, Temp_C, Precip, qn, qf, qs, qh, qe, qsfc, tsk, CHKLOWQ, kdown_o, kup_o, ldown_o, lup_o, tsurf_o, smd_o, glw1d, cldfra1d)