void Update_SUN() { KPP_REAL SunRise, SunSet; KPP_REAL Thour, Tlocal, Ttmp; const KPP_REAL PI = 3.14159265358979; SunRise = 4.5; SunSet = 19.5; Thour = TIME/3600.0; Tlocal = Thour - ((int)Thour/24)*24; if ( (Tlocal >= SunRise) && (Tlocal <= SunSet) ) { Ttmp = (2.0*Tlocal-SunRise-SunSet)/(SunSet-SunRise); if (Ttmp > 0) Ttmp = Ttmp*Ttmp; else Ttmp = -Ttmp*Ttmp; SUN = ( 1.0 + cos(PI*Ttmp) )/2.0; } else { SUN=0.0; } }