SUBROUTINE Update_SUN() !USE KPP_ROOT_Parameters !USE KPP_ROOT_Global IMPLICIT NONE KPP_REAL :: SunRise, SunSet KPP_REAL :: Thour, Tlocal, Ttmp ! PI - Value of pi KPP_REAL, PARAMETER :: PI = 3.14159265358979d0 SunRise = 4.5_dp SunSet = 19.5_dp Thour = TIME/3600.0_dp Tlocal = Thour - (INT(Thour)/24)*24 IF ((Tlocal>=SunRise).AND.(Tlocal<=SunSet)) THEN Ttmp = (2.0*Tlocal-SunRise-SunSet)/(SunSet-SunRise) IF (Ttmp.GT.0) THEN Ttmp = Ttmp*Ttmp ELSE Ttmp = -Ttmp*Ttmp END IF SUN = ( 1.0_dp + COS(PI*Ttmp) )/2.0_dp ELSE SUN = 0.0_dp END IF END SUBROUTINE Update_SUN