Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | j | |||
integer, | intent(in) | :: | jea |
subroutine snow_glacier_melt(j, jea)
!**** PURPOSE: THIS SUBROUTINE COMPUTES DAILY ICE MELT
! WHEN AVERAGE AIR TEMP EXCEEDS 0 DEGREES C
!**** CALLED IN: SUBBASIN
! snow melt rate in SWAT = 4.57: sml = 4.57 * tmax
! snow melt rate in HBV = 3.2
! current version in SWIM: sml = 3.2 * tx(j
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! PARAMETERS & VARIABLES
!
! >>>>> COMMON PARAMETERS & VARIABLES
! precipe = precipitation in the hydrotop, mm
! gmle = ice melt, mm
! gla(j, jea) = glacier water equivalent, mm
! tmax = daily max temp, read in readcli, degree C
! tmit = daily average temp, read in readcli, degree C
! >>>>>
! >>>>> STATIC PARAMETERS
! gmr = ice melt rate, coef for the degree-day method, mm/degree
! >>>>>
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!**** Include common parameters
integer, intent(in) :: j, jea
if (tmit > tmelt(j) ) then
gmle = gmrate(j) * (tmit - tmelt(j))
if (gmle > gla(j, jea)) gmle = gla(j, jea)
gla(j, jea) = gla(j, jea) - gmle
precipe = precipe + gmle
else
gmle = 0.
end if
end subroutine snow_glacier_melt