--- ray/src/cal/cal/sun.cal 2019/11/07 23:15:06 1.3 +++ ray/src/cal/cal/sun.cal 2019/11/08 22:48:08 1.4 @@ -1,4 +1,4 @@ -{ RCSid $Id: sun.cal,v 1.3 2019/11/07 23:15:06 greg Exp $ } +{ RCSid $Id: sun.cal,v 1.4 2019/11/08 22:48:08 greg Exp $ } {* * SOLAR CALCULATIONS * @@ -7,11 +7,13 @@ * *} +DEG : PI/180; + RLAT = 0.66; {* Site latitude (radians) *} RLON = 2.13; {* Site longitude (radians) *} -RSM = 120 * PI/180; {* Standard meridian (radians) *} +RSM = 120 * DEG; {* Standard meridian (radians) *} stadj(jd) {* solar time adjustment (hours) *} @@ -34,25 +36,27 @@ salt(sd, st) {* solar altitude (radians) *} { sd is solar declination, st is solar time (hours) } = asin( sin(RLAT) * sin(sd) - cos(RLAT) * cos(sd) * - cos(st*PI/12) ) + cos(PI/12*st) ) ; sazi(sd, st) {* the solar azimuth (radians) *} { sd is solar declination, st is solar time (hours) } = - -atan2( cos(sd) * sin(st*PI/12), + -atan2( cos(sd) * sin(PI/12*st), -cos(RLAT)*sin(sd) - - sin(RLAT)*cos(sd)*cos(st*PI/12) ) + sin(RLAT)*cos(sd)*cos(PI/12*st) ) ; -SAZI = sazi(SDEC, STIME) * 180/PI; +SAZI = sazi(SDEC, STIME) / DEG; -SALT = salt(SDEC, STIME) * 180/PI; +SALT = salt(SDEC, STIME) / DEG; SDEC = sdec(JDATE); STIME = TIME + stadj(JDATE); + +HALFDAY = acos(-tan(RLAT)*tan(SDEC)) * (12/PI); JDATE = DAY + select(MONTH,0,31,59,90,120,151,181,212,243,273,304,334);