albedo.f90 Source File


This file depends on

sourcefile~~albedo.f90~~EfferentGraph sourcefile~albedo.f90 albedo.f90 sourcefile~hru_module.f90 hru_module.f90 sourcefile~albedo.f90->sourcefile~hru_module.f90 sourcefile~organic_mineral_mass_module.f90 organic_mineral_mass_module.f90 sourcefile~albedo.f90->sourcefile~organic_mineral_mass_module.f90 sourcefile~plant_module.f90 plant_module.f90 sourcefile~albedo.f90->sourcefile~plant_module.f90 sourcefile~soil_module.f90 soil_module.f90 sourcefile~albedo.f90->sourcefile~soil_module.f90

Source Code

      subroutine albedo
!!    ~ ~ ~ PURPOSE ~ ~ ~
!!    this subroutine calculates albedo in the HRU for the day
!!

      use hru_module, only : hru, ihru, albday
      use soil_module
      use plant_module
      use organic_mineral_mass_module
      
      implicit none
        
      real :: cej = 0.  !none           |constant
      real :: eaj = 0.  !none           |soil cover index      
      integer :: j = 0  ! none          |HRU number
      real :: cover = 0.  !kg/ha          |soil cover
      
      j = ihru

!! calculate albedo
      cej = -5.e-5
      cover = pl_mass(j)%ab_gr_com%m + rsd1(j)%tot_com%m
      eaj = Exp(cej * (cover + .1))   !! equation 2.2.16 in SWAT manual

      if (hru(j)%sno_mm <= .5) then
        !! equation 2.2.14 in SWAT manual
        albday = soil(j)%ly(1)%alb

        !! equation 2.2.15 in SWAT manual
        if (pcom(j)%lai_sum > 0.) albday = .23 * (1. - eaj) + soil(j)%ly(1)%alb * eaj
      else
        !! equation 2.2.13 in SWAT manual
        albday = 0.8
      end if

      return
      end subroutine albedo