36 INTEGER:: iv, i, SkipCounter, iFile
37 CHARACTER(len=50):: FileN
38 INTEGER,
PARAMETER :: nFile = 13
39 CHARACTER(len=50),
DIMENSION(nFile) :: &
40 FileNames = [character(len=50) :: &
41 'SUEWS_NonVeg.txt',
'SUEWS_Veg.txt',
'SUEWS_Water.txt',
'SUEWS_Snow.txt', &
42 'SUEWS_Soil.txt',
'SUEWS_Conductance.txt',
'SUEWS_OHMCoefficients.txt', &
43 'SUEWS_ESTMCoefficients.txt',
'SUEWS_AnthropogenicEmission.txt',
'SUEWS_Irrigation.txt', &
44 'SUEWS_Profiles.txt',
'SUEWS_WithinGridWaterDist.txt',
'SUEWS_BiogenCO2.txt']
119 OPEN (55, file=
'RunControl.nml', err=200, status=
'old')
120 READ (55, nml=runcontrol, err=201)
127 IF (
diagnose == 1)
WRITE (*, *)
'Diagnosis switched on (model progress will be printed to screen)...' 139 WRITE (12, *)
'----- RunControl -----' 140 WRITE (12, nml=runcontrol)
187 WRITE (*, *)
'--------------------------------------------------------' 188 WRITE (*, *)
"LUMPS/SUEWS - relevant references" 189 WRITE (*, *)
"LUMPS - Grimmond and Oke (2002) JAM, 41, 79-810" 190 WRITE (*, *)
"OHM - Grimmond and Oke (1999) JAM, 38, 922-940" 191 WRITE (*, *)
"NARP - Offerle et al. (2003) JAM" 192 WRITE (*, *)
"SUES - Evaporation Grimmond & Oke (1991) WRR" 193 WRITE (*, *)
"Water Balance Model Grimmond et al. (1986) WRR" 194 WRITE (*, *)
"NARP - Long wave improvements (Loridan et al. 2011 JAMC)" 195 WRITE (*, *)
"SUEWS - Anthropogenic heat, etc (Jarvi et al. 2011 JH)" 196 WRITE (*, *)
"SUEWS - Snow module included (Jarvi et al. 2014 GMD)" 197 WRITE (*, *)
"SUEWS - v2016a release (Ward et al. 2016 UC)" 198 WRITE (*, *)
'--------------------------------------------------------' 204 WRITE (*, *)
'Reading the following input files:' 207 filen =
'SUEWS_SiteSelect.txt' 212 OPEN (21, file=trim(
fileinputpath)//trim(filen), err=300, status=
'old')
312 'TSTEP must divide into t_INTERVAL exactly.',
REAL(tstep, KIND(1d0)),
REAL(t_INTERVAL, KIND(1d0)), notUsedI)
317 CALL errorhint(39,
'TSTEP is too small or too large.',
REAL(tstep, KIND(1d0)),
REAL(t_INTERVAL, KIND(1d0)), notUsedI)
346 SUBROUTINE readcoeff(FileName, nlines, ncolumns, HeaderFile, Coeff)
355 CHARACTER(len=*),
INTENT(in) :: FileName
356 INTEGER,
INTENT(in) :: nlines, ncolumns
357 CHARACTER(len=*),
INTENT(out) :: HeaderFile(ncolumns)
358 REAL(KIND(1d0)),
INTENT(out) :: Coeff(nlines, ncolumns)
363 INTEGER :: SkipCounter, iv, i, ii
371 READ (22, *) (headerfile(iv), iv=1, ncolumns)
374 READ (22, *) (coeff(i, iv), iv=1, ncolumns)
383 DO ii = i + 1, nlines
384 IF (coeff(i, 1) == coeff(ii, 1) .AND. i /= ii)
THEN 385 WRITE (*, *)
'Code', coeff(i, 1),
'in ', trim(
filename),
' not unique!' 411 CHARACTER(len=50):: FileN
412 INTEGER:: SkipHeaderLines, RunNumber
413 INTEGER:: SkipCounter
417 OPEN (39, file=trim(
fileinputpath)//trim(filen), err=204, status=
'old')
419 IF (skipheaderlines > 0)
THEN 420 DO skipcounter = 1, skipheaderlines
421 READ (39, *, err=205)
428 READ (39, *, iostat=ios) runnumber
429 IF (ios < 0 .OR. runnumber == -9)
EXIT 1134 DO iii = 1, (
nsurf + 1)
1443 SUBROUTINE initialstate(GridName, year_int, Gridiv, NumberOfGrids)
1468 CHARACTER(len=20):: GridName
1469 CHARACTER(len=4):: year_txt
1470 INTEGER:: NumberOfGrids
1472 CHARACTER(len=150):: fileInit
1473 INTEGER::DaysSinceRain, Gridiv, &
1475 INTEGER::wd, seas, date, mb, &
1476 year_int, switch = 0, &
1479 REAL(KIND(1d0))::PavedState, BldgsState, EveTrState, DecTrState, GrassState, BSoilState, WaterState, &
1480 SnowFracPaved, SnowFracBldgs, SnowFracEveTr, SnowFracDecTr, &
1481 SnowFracGrass, SnowFracBSoil, SnowFracWater, &
1482 SnowDensPaved, SnowDensBldgs, SnowDensEveTr, SnowDensDecTr, &
1483 SnowDensGrass, SnowDensBSoil, SnowDensWater
1485 INTEGER:: LeavesOutInitially
1486 INTEGER:: SnowInitially
1488 INTEGER:: GridsInitialised = 0
1489 INTEGER:: YearsInitialised = 0
1490 INTEGER:: dayofWeek_id(3)
1491 REAL(KIND(1d0)):: NormalizeVegChar
1494 namelist /initialconditions/ dayssincerain, &
1497 leavesoutinitially, &
1554 dayssincerain = int(
nan)
1556 leavesoutinitially = int(
nan)
1580 snowinitially = int(
nan)
1612 WRITE (year_txt,
'(I4)') year_int
1615 fileinit = trim(
fileinputpath)//trim(
"InitialConditions")//trim(gridname)//
'.nml' 1618 fileinit = trim(
fileinputpath)//trim(
"InitialConditions")//trim(
filecode)//
'_'//trim(year_txt)//
'.nml' 1619 gridsinitialised = gridsinitialised + 1
1620 IF (gridsinitialised == numberofgrids)
THEN 1621 yearsinitialised = yearsinitialised + 1
1622 gridsinitialised = 0
1628 OPEN (56, file=trim(fileinit), err=600, status=
'old')
1629 READ (56, iostat=
ios_out, nml=initialconditions, err=601)
1635 WRITE (12, *)
'----- '//trim(
"InitialConditions")//trim(gridname)//
'.nml'//
' -----' 1636 WRITE (12, nml=initialconditions)
1646 IF (dayssincerain == int(
nan)) dayssincerain = 0
1653 IF (leavesoutinitially == int(
nan))
THEN 1669 ELSEIF (leavesoutinitially == 1)
THEN 1680 ELSEIF (leavesoutinitially == 0)
THEN 1692 CALL errorhint(36,
'LeavesOutInitially must be 0, 1, or -999 (or omitted from InitialConditions namelist)', &
1697 IF (pavedstate ==
nan) pavedstate = 0
1698 IF (bldgsstate ==
nan) bldgsstate = 0
1699 IF (evetrstate ==
nan) evetrstate = 0
1700 IF (dectrstate ==
nan) dectrstate = 0
1701 IF (grassstate ==
nan) grassstate = 0
1702 IF (bsoilstate ==
nan) bsoilstate = 0
1714 IF (
snowuse == 0 .OR. snowinitially == 0)
THEN 1744 ELSEIF (snowinitially == int(
nan))
THEN 1755 IF (snowfracpaved ==
nan .OR. snowfracbldgs ==
nan .OR. snowfracevetr ==
nan .OR. &
1756 snowfracdectr ==
nan .OR. snowfracgrass ==
nan .OR. snowfracbsoil ==
nan .OR. &
1757 snowfracwater ==
nan)
THEN 1760 IF (snowdenspaved ==
nan .OR. snowdensbldgs ==
nan .OR. snowdensevetr ==
nan .OR. &
1761 snowdensdectr ==
nan .OR. snowdensgrass ==
nan .OR. snowdensbsoil ==
nan .OR. &
1762 snowdenswater ==
nan)
THEN 1769 CALL errorhint(36,
'SnowInitially must be 0 or -999 (or omitted from InitialConditions namelist)', &
1895 IF (
diagnose == 1) print *,
'calling in initial state: SUEWS_cal_RoughnessParameters' 1912 year_int = year_int - 1
1924 IF (switch == 1)
THEN 1925 year_int = year_int + 1
1938 year_int = year_int + 1
1946 IF (switch == 1)
THEN 1972 state_id = [pavedstate, bldgsstate, evetrstate, dectrstate, grassstate, bsoilstate, waterstate]
2003 INTEGER,
DIMENSION(nvegsurf):: VegCol
2005 REAL(KIND(1d0)):: NormVegResult
2047 CHARACTER(len=15)::GridName
2048 CHARACTER(len=4)::year_txt2
2051 INTEGER:: ID_Prev_Out
2052 INTEGER:: nofDaysThisYear_ForOutput
2057 IF (
id == 1 .AND.
iy == (
year + 1))
THEN 2058 year_int2 = int(
year + 1)
2059 WRITE (year_txt2,
'(I4)') year_int2
2060 OPEN (57, file=trim(
fileinputpath)//trim(
"InitialConditions")//trim(gridname)//
'_'//trim(adjustl(year_txt2))//
'.nml', err=200)
2063 year_int2 = int(
year)
2064 WRITE (year_txt2,
'(I4)') year_int2
2065 OPEN (57, file=trim(
fileinputpath)//trim(
"InitialConditions")//trim(gridname)//
'_'//trim(adjustl(year_txt2))// &
2066 '_EndofRun.nml', err=201)
2067 nofdaysthisyear_foroutput =
id - 1
2069 id_prev_out = (
id - 1)
2075 WRITE (57, *)
'&InitialConditions' 2076 WRITE (57, *)
'DaysSinceRain=', int(
hdd_id(12))
2077 WRITE (57, *)
'Temp_C0=',
hdd_id(9)
2079 WRITE (57, *)
'GDD_1_0=',
gdd_id(1)
2080 WRITE (57, *)
'GDD_2_0=',
gdd_id(2)
2132 WRITE (57, *)
'SnowAlb0=',
snowalb 2144 200
CALL errorhint(49, trim(
"InitialConditions")//trim(gridname)// &
2146 201
CALL errorhint(49, trim(
"InitialConditions")//trim(gridname)// &
2167 INTEGER::lunit, i, iyy
2168 REAL(KIND(1d0)),
DIMENSION(24)::MetArray
2169 REAL(KIND(1d0)):: imin_prev, ih_prev, iday_prev, tstep_met, iy_only
2181 OPEN (lunit, file=trim(
filemet), status=
'old', err=314)
2204 imin_prev = metarray(4)
2205 ih_prev = metarray(3)
2206 iday_prev = metarray(2)
2207 iy_only = metarray(1)
2208 ELSEIF (i == 2)
THEN 2209 tstep_met = ((metarray(4) + 60*metarray(3)) - (imin_prev + 60*ih_prev))*60
2210 IF (tstep_met /=
tstep_real .AND. metarray(2) == iday_prev)
THEN 2211 CALL errorhint(39,
'TSTEP in RunControl does not match TSTEP of met data (DOY).',
REAL(tstep, KIND(1d0)), tstep_met, &
2218 IF (metarray(1) /= iy_only)
THEN 2219 IF (metarray(1) == iy_only + 1 .AND. metarray(2) == 1 .AND. metarray(3) == 0 .AND. metarray(4) == 0)
THEN 2222 CALL errorhint(3,
'Problem in SUEWS_Initial: multiple years found in met forcing file.', &
2274 ELSEIF (
lat < -40)
THEN 2288 ELSEIF (
lat < 10 .AND.
lat > -10)
THEN 2304 CALL errorhint(37,
'InitialCond: Check initial condition of building soil store.', &
2308 CALL errorhint(37,
'InitialCond: Check initial condition of paved soil store.', &
2312 CALL errorhint(37,
'InitialCond: Check initial condition of conif soil store.', &
2316 CALL errorhint(37,
'InitialCond: Check initial condition of deciduous soil store.', &
2320 CALL errorhint(37,
'InitialCond: Check initial condition of bare soil soil store.', &
2324 CALL errorhint(37,
'InitialCond: Check initial condition of grass soil store.', &
integer, dimension(5) c_internal_rhocp2_bldgs
integer, parameter ncolumnssnow
integer, dimension(nsurfincsnow) c_surf_thick2
integer, dimension(nsurf) c_soiltcode
integer, dimension(5) c_surf_k4_bldgs
integer, dimension(nvegsurf) c_theta_bioco2
integer, dimension(nvegsurf) c_resp_b
integer, parameter ncolumnswgwaterdist
integer keeptstepfilesout
integer, dimension(3) c_ie_a
real(kind(1d0)) soilstorebldgsstate
integer, dimension(5) c_wall_k5_bldgs
integer c_internal_thick5
integer, dimension(nsurfincsnow) c_ohmcode_swet
integer, dimension(nsurfincsnow) c_a3_swet
real(kind(1d0)), dimension(nsurf) snowdens
integer, parameter ncolumnssiteselect
integer, dimension(nvegsurf) c_leafgp2
integer, dimension(nsurf) c_dreq
integer diagnosedisaggestm
real(kind(1d0)) halftimestep
real(kind(1d0)), dimension(:, :), allocatable water_coeff
integer, dimension(5) c_internal_thick2_bldgs
real(kind(1d0)), dimension(3) ie_m
integer, dimension(nsurfincsnow) c_a2_sdry
integer, dimension(nsurf) c_snowlimpat
real(kind(1d0)), dimension(nsurf) icefrac
integer, dimension(nvegsurf) c_alpha_bioco2
real(kind(1d0)), dimension(nsurf) snowwater
integer, parameter ncolumnsnonveg
integer, dimension(nvegsurf) c_leafop2
integer, dimension(5) c_alb_ibld_bldgs
integer c_internal_rhocp3
integer, dimension(nsurf) c_wgtosoilstore
integer, dimension(nsurfincsnow) c_surf_k2
real(kind(1d0)), dimension(nsurf) state_id
real(kind(1d0)) snowpackbsoil
integer, dimension(nsurf) c_wgtowater
integer, dimension(nsurf) c_soilinfrate
integer, parameter ivgrass
integer, dimension(nsurf) c_wetthresh
integer, dimension(5) c_wall_thick3_bldgs
real(kind(1d0)), dimension(:, :), allocatable irrigation_coeff
integer c_internal_thick4
integer, dimension(nsurf) c_soildepth
integer, dimension(3) c_surf_rhocp5_paved
integer, dimension(nsurf) c_snowlimrem
integer, dimension(nsurf) c_obssmdepth
integer nlinesestmcoefficients
integer, dimension(3) c_ie_m
real(kind(1d0)), dimension(nvegsurf) laimax
integer skipheadersiteinfo
real(kind(1d0)), dimension(:, :), allocatable soil_coeff
integer resolutionfilesout
integer, dimension(nsurfincsnow) c_a3_wdry
integer c_internal_rhocp5
integer, parameter ncolumnsveg
integer, dimension(3) c_surf_rhocp2_paved
integer, dimension(5) c_internal_thick4_bldgs
integer, dimension(nsurfincsnow) c_surf_rhocp5
integer c_internal_thick1
integer, dimension(nvegsurf) c_beta_enh_bioco2
integer, dimension(5) c_wall_rhocp4_bldgs
integer, dimension(5) c_surf_thick1_bldgs
integer, parameter bsoilsurf
integer, dimension(nsurfincsnow) c_surf_thick3
integer, dimension(24) c_hrproftraffwe
integer, dimension(24) c_hrproftraffwd
real(kind(1d0)), dimension(nsurf) soilstore_id
real(kind(1d0)), dimension(:, :), allocatable estmcoefficients_coeff
integer c_tcriticheating_we
integer, dimension(nsurfincsnow) c_a2_swet
integer, dimension(3) c_surf_thick4_paved
real(kind(1d0)), dimension(:, :), allocatable snow_coeff
integer, dimension(nvegsurf) c_sddfull
character(len=20), dimension(ncolumnswgwaterdist) headerwgwaterdist_file
integer, dimension(5) c_surf_thick4_bldgs
integer, dimension(nsurf) c_albmin
integer, dimension(nsurfincsnow) c_ohmcode_wwet
integer, dimension(5) c_internal_k4_bldgs
subroutine numberrows(FileN, SkipHeaderLines)
subroutine day2month(b, mb, md, seas, year, latitude)
integer, dimension(nsurfincsnow) c_surf_thick4
integer, parameter ncolumnsohmcoefficients
integer, parameter ncolumnsestmcoefficients
real(kind(1d0)) soilrocks
integer, dimension(5) c_ch_ibld_bldgs
integer, dimension(nsurfincsnow) c_surf_rhocp2
subroutine leapyearcalc(year_int, nroDays)
real(kind(1d0)) snowwaterbldgsstate
real(kind(1d0)) albevetr_id
integer multipleestmfiles
integer, parameter ncolumnsirrigation
real(kind(1d0)) soilstorepavedstate
integer, dimension(nsurfincsnow) c_estmcode
integer, dimension(nsurfincsnow) c_a2_wwet
integer, dimension(nsurfincsnow) c_ohmcode_wdry
integer, dimension(nvegsurf) c_porositymin
real(kind(1d0)) snowpackdectr
integer c_internal_thick2
integer c_frfossilfuel_heat
real(kind(1d0)), dimension(5) multrainamongnupperi
integer, dimension(5) c_wall_thick4_bldgs
real(kind(1d0)) soilstoregrassstate
subroutine suews_initializemetdata(lunit)
integer, dimension(5) c_internal_rhocp3_bldgs
integer c_internal_rhocp1
real(kind(1d0)) snowwaterwaterstate
integer, parameter ncolumnsbiogen
real(kind(1d0)), dimension(:, :), allocatable surfacechar
real(kind(1d0)) h_maintain
integer, parameter ncolumnswater
integer, dimension(nvegsurf) c_porositymax
integer, dimension(nvegsurf) c_laimax
character(len=20), dimension(ncolumnsprofiles) headerprofiles_file
integer, dimension(nsurf) c_drcoef2
character(len=20), dimension(ncolumnsirrigation) headerirrigation_file
real(kind(1d0)) snowwatergrassstate
integer, dimension(nsurf) c_obssmmax
real(kind(1d0)), dimension(nsurf) soilstorecap
integer, dimension(5) c_wall_rhocp5_bldgs
integer c_internal_rhocp4
real(kind(1d0)) snowpackbldgs
subroutine initialstate(GridName, year_int, Gridiv, NumberOfGrids)
integer, dimension(5) c_internal_k3_bldgs
character(len=20), dimension(ncolumnsanthropogenic) headeranthropogenic_file
integer nlinesanthropogenic
subroutine suews_translate(Gridiv, ir, iMB)
integer resolutionfilesinestm
real(kind(1d0)) faievetree
real(kind(1d0)) soildensity
real(kind(1d0)) snowwaterbsoilstate
integer, parameter conifsurf
integer, dimension(7) c_daywat
integer, dimension(5) c_surf_k3_bldgs
integer, dimension(nsurfincsnow) c_a1_sdry
integer, dimension(24) c_hrprofsnowcwd
integer, dimension(nsurfincsnow) c_a1_wdry
integer, dimension(nsurfincsnow) c_a2_wdry
integer, dimension(nvegsurf) c_leafgp1
integer, dimension(5) c_wall_k2_bldgs
integer, dimension(24) c_hrprofwumanuwd
integer nlinesconductance
integer, dimension(5) c_internal_rhocp5_bldgs
real(kind(1d0)), dimension(12) hdd_id
integer, parameter ncolumnsconductance
integer nlinesohmcoefficients
subroutine initializesurfacecharacteristics(Gridiv, rr)
real(kind(1d0)) snowwaterevetrstate
integer, dimension(3) c_surf_k2_paved
integer, dimension(24) c_hrprofwumanuwe
real(kind(1d0)) laiinitialdectr
subroutine nextinitial(GridName, year_int)
integer, dimension(5) c_internal_k5_bldgs
integer, dimension(5) c_em_ibld_bldgs
integer, dimension(nsurf) c_wgtopaved
real(kind(1d0)) porosity0
integer, dimension(nsurf) c_ksat
real(kind(1d0)) soildepthmeas
integer, dimension(24) c_hrprofsnowcwe
integer, dimension(7) c_daywatper
character(len=20), dimension(ncolumnssoil) headersoil_file
integer, dimension(nsurf) c_soildens
integer, dimension(5) c_surf_rhocp5_bldgs
character(len=150) fileinputpath
integer, dimension(nsurfincsnow) c_surf_rhocp1
integer, dimension(24) c_hrprofpopwd
integer, dimension(5) c_wall_rhocp2_bldgs
integer, dimension(nsurfincsnow) c_surf_k4
real(kind(1d0)), dimension(:, :), allocatable siteselect
integer, dimension(24) c_hrprofhumactivitywe
integer, parameter grasssurf
real(kind(1d0)), dimension(:, :), allocatable ohmcoefficients_coeff
integer c_ahslopeheating_wd
integer, dimension(nvegsurf) c_laimin
real(kind(1d0)), dimension(:, :), allocatable anthropogenic_coeff
real(kind(1d0)) snowpackpaved
integer, dimension(nsurfincsnow) c_surf_rhocp3
real(kind(1d0)), dimension(:, :), allocatable modeldailystate
integer c_ahslopecooling_wd
integer c_frfossilfuel_nonheat
integer, dimension(3) c_surf_thick2_paved
integer, dimension(nvegsurf) c_laieq
integer, dimension(3) c_surf_k1_paved
integer, dimension(nsurfincsnow) c_ohmthresh_wd
integer, dimension(nsurf) cmod_state
real(kind(1d0)), dimension(nsurf) snowfrac
real(kind(1d0)) snowpackgrass
integer, dimension(5) c_wall_rhocp3_bldgs
integer, parameter ivconif
subroutine overallruncontrol
integer, dimension(5) c_surf_rhocp3_bldgs
integer roughlenheatmethod
integer, dimension(nvegsurf) c_min_res_bioco2
integer, dimension(nsurf) c_wgtograss
integer, dimension(nsurf) c_stormin
integer, dimension(24) c_hrprofhumactivitywd
integer, dimension(nsurf) c_soilstcap
character(len=20), dimension(ncolumnsbiogen) headerbiogen_file
real(kind(1d0)) tstep_real
character(len=150) filemet
integer, dimension(5) c_internal_rhocp4_bldgs
integer, dimension(5) c_surf_thick2_bldgs
integer, parameter ncolumnsanthropogenic
integer, parameter ncolumnssoil
real(kind(1d0)), dimension(:, :), allocatable biogen_coeff
integer, dimension(nsurf) c_wgtorunoff
integer, dimension(nsurf) c_chanohm
real(kind(1d0)) function normalizevegchar(VegCol, Gridiv)
real(kind(1d0)) faidectree
integer, dimension(5) c_nroom_bldgs
real(kind(1d0)), dimension(nvegsurf) laimin
integer, dimension(5) c_surf_rhocp4_bldgs
integer, dimension(nsurf) c_obssnrfrac
integer, dimension(nsurfincsnow) c_surf_thick5
integer, dimension(nsurf) c_cpanohm
integer c_tcriticcooling_we
integer, dimension(nsurf) c_albmax
character(len=20) filecode
real(kind(1d0)) albevetr0
integer, dimension(24) c_hrprofwuautowd
character(len=20), dimension(ncolumnssnow) headersnow_file
integer, dimension(5) c_surf_rhocp1_bldgs
subroutine suews_cal_weekday(iy, id, lat, dayofWeek_id)
integer, dimension(5) c_surf_k2_bldgs
integer, dimension(3) c_surf_rhocp4_paved
real(kind(1d0)), dimension(:, :), allocatable wgwaterdist_coeff
subroutine readcoeff(FileName, nlines, ncolumns, HeaderFile, Coeff)
integer, dimension(nsurf) cmod_snowfrac
integer, dimension(3) c_surf_thick1_paved
real(kind(1d0)), dimension(3) ie_a
integer, dimension(3) c_surf_k5_paved
integer, dimension(5) c_internal_thick3_bldgs
real(kind(1d0)) albdectr0
integer, dimension(nsurf) c_wgtodectr
subroutine update_wateruse(id, WaterUseMethod, DayofWeek_id, lat, FrIrriAuto, HDD_id, state_id, soilstore_id, SoilStoreCap, H_maintain, Ie_a, Ie_m, Ie_start, Ie_end, DayWatPer, DayWat, WUDay_id)
real(kind(1d0)), dimension(nvegsurf) lai_id
integer, dimension(nsurf) c_stormax
integer, dimension(nvegsurf) c_gsmax
integer, dimension(nsurfincsnow) c_surf_k5
real(kind(1d0)) soilstorebsoilstate
character(len=20), dimension(ncolumnsnonveg) headernonveg_file
integer, dimension(nsurf) c_statelimit
real(kind(1d0)), dimension(:, :), allocatable veg_coeff
integer, dimension(nsurf) cmod_snowwaterstate
subroutine day_of_week(DATE, MONTH, YEAR, DOW)
integer c_tcriticheating_wd
real(kind(1d0)) snowpackevetr
character(len=20), dimension(ncolumnsohmcoefficients) headerohmcoefficients_file
real(kind(1d0)) snowwaterpavedstate
character(len=20), dimension(ncolumnswater) headerwater_file
integer, dimension(24) c_hrprofenusewd
real(kind(1d0)) porosity_id
integer, dimension(5) c_surf_k1_bldgs
character(len=20), dimension(ncolumnsveg) headerveg_file
real(kind(1d0)) laiinitialevetr
real(kind(1d0)) soilstoredectrstate
integer, dimension(nvegsurf) c_leafop1
integer, dimension(nvegsurf) c_resp_a
integer, dimension(nsurfincsnow) c_a3_sdry
integer, dimension(nsurfincsnow) c_a1_wwet
integer, dimension(nsurf) cmod_snowpack
integer, dimension(5) c_wall_thick5_bldgs
real(kind(1d0)) albgrass_id
real(kind(1d0)) snowpackwater
integer, dimension(nvegsurf) c_biogenco2code
integer nlineswgwaterdist
real(kind(1d0)), dimension(nsurf) snowpack
integer, dimension(nsurfincsnow) c_ohmcode_sdry
integer, dimension(nvegsurf) c_basete
integer cmds_laiinitialdectr
integer, dimension(nvegsurf) c_alpha_enh_bioco2
integer, dimension(5) c_internal_thick5_bldgs
integer, dimension(nsurfincsnow) c_a1_swet
integer, dimension(3) c_surf_thick3_paved
integer, dimension(5) c_wall_k1_bldgs
real(kind(1d0)), dimension(7) daywatper
real(kind(1d0)), dimension(nsurf) sfr
integer resolutionfilesin
real(kind(1d0)) laiinitialgrass
subroutine suews_cal_roughnessparameters(RoughLenMomMethod, sfr, bldgH, EveTreeH, DecTreeH, porosity_id, FAIBldg, FAIEveTree, FAIDecTree, z0m_in, zdm_in, Z, planF, Zh, z0m, zdm, ZZD)
integer, dimension(5) c_surf_rhocp2_bldgs
real(kind(1d0)) decidcap0
real(kind(1d0)) snowwaterdectrstate
integer netradiationmethod
real(kind(1d0)), dimension(:, :), allocatable nonveg_coeff
integer, dimension(nsurfincsnow) c_a3_wwet
real(kind(1d0)), dimension(:, :, :), allocatable metforcingdata
integer, dimension(5) multrainamongn
integer roughlenmommethod
integer, dimension(nsurfincsnow) c_surf_k1
integer, dimension(nvegsurf) c_beta_bioco2
integer c_ahslopeheating_we
integer, dimension(nsurf) cmod_soilstate
integer, dimension(nsurf) c_wgtobldgs
integer, dimension(nsurf) c_wgtobsoil
real(kind(1d0)), dimension(9) wuday_id
integer, dimension(3) c_surf_rhocp1_paved
integer cmds_laiinitialevetr
integer, dimension(3) c_surf_k3_paved
character(len=20), dimension(ncolumnssiteselect) headersiteselect_file
integer, dimension(nsurfincsnow) c_surf_thick1
integer c_internal_thick3
real(kind(1d0)), dimension(:, :), allocatable conductance_coeff
real(kind(1d0)) tstepcount
integer, parameter ncolumnsprofiles
integer, dimension(5) c_wall_k4_bldgs
integer, dimension(24) c_hrprofwuautowe
integer c_ahslopecooling_we
integer, dimension(5) c_internal_k1_bldgs
integer, parameter decidsurf
integer, dimension(5) c_ch_iroof_bldgs
integer, dimension(5) c_surf_thick5_bldgs
integer, parameter pavsurf
integer, dimension(nsurf) cmds_snowdens
character(len=20), dimension(ncolumnsestmcoefficients) headerestmcoefficients_file
integer, dimension(nsurf) c_wgtoevetr
real(kind(1d0)) soilstoreevetrstate
real(kind(1d0)) albgrass0
integer, dimension(nsurf) c_kkanohm
integer, dimension(5) c_internal_k2_bldgs
integer, dimension(nvegsurf) c_baset
integer, dimension(3) c_surf_rhocp3_paved
integer cmds_dayssincerain
subroutine errorhint(errh, ProblemFile, VALUE, value2, valueI)
integer storageheatmethod
integer, dimension(24) c_hrprofenusewe
integer, dimension(5) c_wall_thick1_bldgs
real(kind(1d0)), dimension(:, :, :), allocatable modeloutputdata
integer, dimension(5) c_surf_k5_bldgs
integer, dimension(5) c_wall_k3_bldgs
integer, parameter bldgsurf
integer, parameter watersurf
integer, dimension(nsurf) c_drcoef1
character(len=20), dimension(ncolumnsconductance) headercond_file
integer, dimension(5) c_wall_thick2_bldgs
real(kind(1d0)), dimension(nvegsurf) gdd_id
integer, dimension(nvegsurf) c_gddfull
integer multipleinitfiles
real(kind(1d0)), dimension(:, :), allocatable profiles_coeff
integer, dimension(5) c_internal_rhocp1_bldgs
character(len=150) fileoutputpath
character(len=150) filechoices
integer, dimension(24) c_hrprofpopwe
integer cmds_laiinitialgrass
integer, dimension(nsurf) c_emis
integer, dimension(nsurfincsnow) c_surf_k3
real(kind(1d0)), dimension(7) daywat
integer, dimension(5) c_ch_iwall_bldgs
integer, dimension(nsurfincsnow) c_ohmthresh_sw
integer, dimension(nsurfincsnow) c_surf_rhocp4
integer c_tcriticcooling_wd
integer, dimension(5) c_wall_rhocp1_bldgs
real(kind(1d0)) albdectr_id
integer, dimension(5) c_surf_thick3_bldgs
integer, dimension(3) c_surf_k4_paved
integer, parameter ivdecid
integer, dimension(5) c_internal_thick1_bldgs
integer, dimension(3) c_surf_thick5_paved
real(kind(1d0)) decidcap_id
integer c_internal_rhocp2