Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | j | ||||
integer | :: | jea |
subroutine snow_degree_day_melting(j, jea)
!**** PURPOSE: THIS SUBROUTINE COMPUTES DAILY SNOW MELT
! WHEN AVERAGE AIR TEMP EXCEEDS 0 DEGREES C
!**** CALLED IN: HYDROTOPE
! snow melt rate in SWAT = 4.57: sml = 4.57 * tmx(j)
! snow melt rate in HBV = 3.2
! current version in SWIM: sml = 3.2 * tx(j
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! PARAMETERS & VARIABLES
!
! >>>>> COMMON PARAMETERS & VARIABLES
! sml = snow melt, mm
! smrate = snow melt rate for the degree-day method
! sno(j) = water content of snow, mm
! tmelt = threshold temperature for snow melt
! tmx(j) = daily max temp, read in readcli, degree C
! tx(j) = daily average temp, read in readcli, degree C
! >>>>>
! >>>>> STATIC PARAMETERS
! smr = snow melt rate, coef for the degree-day method, mm/degree
! >>>>>
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!**** Include common parameters
! T.Vetter modification: smrate from .bsn file; tmelt instead of 0;
! T.Vetter modification: sml = smr * (tmx(j)-tmelt)
integer j, jea
real(dp) smr
smr = smrate(j)
sml = 0.
!if (tmx(j).gt.tmelt) then
sml = smr * (tmx(j) - tmelt(j))
if (sml .gt. snoa(j, jea)) sml = snoa(j, jea)
snoa(j, jea) = snoa(j, jea) - sml
!end if
return
end subroutine snow_degree_day_melting