snow_degree_day_melting Subroutine

public subroutine snow_degree_day_melting(j, jea)

Arguments

Type IntentOptional AttributesName
integer :: j
integer :: jea

Called by

proc~~snow_degree_day_melting~~CalledByGraph proc~snow_degree_day_melting snow_degree_day_melting proc~runsubbasin runsubbasin proc~runsubbasin->proc~snow_degree_day_melting proc~time_process_day time_process_day proc~time_process_day->proc~runsubbasin proc~time_process_month time_process_month proc~time_process_month->proc~time_process_day proc~time_process_years time_process_years proc~time_process_years->proc~time_process_month program~swim swim program~swim->proc~time_process_years

Contents


Source Code

  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