// get solar coordinates
$tmpRise =
$rise ?
$quarterCircle :
$threeQuarterCircle;
$radDay =
$this->
date('z',
$this->_unixTimestamp
) +
($tmpRise -
$radLongitude) /
$fullCircle;
// solar anomoly and longitude
$solAnomoly =
$radDay * 0.017202 - 0.0574039;
$solLongitude =
$solAnomoly + 0.0334405 *
sin($solAnomoly);
$solLongitude += 4.93289 + 3.49066E-4 *
sin(2 *
$solAnomoly);
// get quadrant
$solLongitude =
$this->
_range($solLongitude,
$fullCircle);
if (($solLongitude /
$quarterCircle) -
intval($solLongitude /
$quarterCircle) == 0
) { $solLongitude += 4.84814E-6;
} // solar ascension
$solAscension =
sin($solLongitude) /
cos($solLongitude);
$solAscension =
atan2(0.91746 *
$solAscension, 1
);
// adjust quadrant
if ($solLongitude >
$threeQuarterCircle) {