anchor.diff:                  call albedo_denby(now%alb_snow,now%melt,par%alb_smax,par%alb_smin,par%mcrit)
               end if
               if (trim(par%alb_scheme) .eq. "isba") then
  -                call albedo_isba(now%alb_snow,now%sf,now%melt,par%tsticsub,par%tstic,par%tau_a,par%tau_f,&
  +                call albedo_isba(now%alb_snow,now%sf,now%melt,par%tstic,par%tstic,par%tau_a,par%tau_f,&
                                    par%w_crit,par%mcrit,par%alb_smin,par%alb_smax)
               end if
               where (now%mask == 2)
  
positive.code: 
          where (now%mask >= 1)
              ! melt energy where temperature exceeds freezing (difference to heat at freezing)
              qmelt = dmax1(0.0_dp,(above)*par%ceff/par%tsticsub)
              ! watch the sign
              qcold = dmax1(0.0_dp,abs(below)*par%ceff/par%tsticsub)
          else where
              qmelt = 0.0_dp
              qcold = 0.0_dp
          end where
  
          ! reset surface temperature if necessary (update of temperature at the end)
          !where(tsurf_new > t0) tsurf_new = t0
  
          ! 1) ablation: melt (m/s); potential melt resulting from available melt energy
          if (.not. bnd%melt) then
              ! potential melt
              now%melt = qmelt/(rhow*clm)
              ! separate potential melt into actual melt of snow and ice
              now%melted_snow = dmin1(now%melt,now%hsnow/par%tsticsub)
              now%melted_ice  = now%melt-now%melted_snow
  
              ! actual melt is sum of melted snow and ice (melted snow over land)
  
negative.code:         double precision, allocatable, dimension(:) :: smb_snow !< surface mass balance of snow [m/s]
          double precision, allocatable, dimension(:) :: smb_ice  !< surface mass balance of ice [m/s]
          double precision, allocatable, dimension(:) :: runoff   !< potential surface runoff [m/s]
          double precision, allocatable, dimension(:) :: qmr      !< heat flux from melting/refreezing [W/m2]
          ! Forcing variables
          double precision, allocatable, dimension(:) :: sf       !< snow fall [m/s]
          double precision, allocatable, dimension(:) :: rf       !< rain fall [m/s]
  