Function: solar-mean-equinoxes/solstices
solar-mean-equinoxes/solstices is a byte-compiled function defined in
solar.el.gz.
Signature
(solar-mean-equinoxes/solstices K YEAR)
Documentation
Julian day of mean equinox/solstice K for YEAR.
K=0, spring equinox; K=1, summer solstice; K=2, fall equinox; K=3, winter solstice. These formulas are only to be used between 1000 BC and 3000 AD.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/solar.el.gz
;; From Meeus, 1991, page 166.
(defun solar-mean-equinoxes/solstices (k year)
"Julian day of mean equinox/solstice K for YEAR.
K=0, spring equinox; K=1, summer solstice; K=2, fall equinox; K=3, winter
solstice. These formulas are only to be used between 1000 BC and 3000 AD."
(let ((y (/ year 1000.0))
(z (/ (- year 2000) 1000.0)))
(if (< year 1000) ; actually between -1000 and 1000
(cond ((= k 0) (+ 1721139.29189
(* 365242.13740 y)
(* 0.06134 y y)
(* 0.00111 y y y)
(* -0.00071 y y y y)))
((= k 1) (+ 1721233.25401
(* 365241.72562 y)
(* -0.05323 y y)
(* 0.00907 y y y)
(* 0.00025 y y y y)))
((= k 2) (+ 1721325.70455
(* 365242.49558 y)
(* -0.11677 y y)
(* -0.00297 y y y)
(* 0.00074 y y y y)))
((= k 3) (+ 1721414.39987
(* 365242.88257 y)
(* -0.00769 y y)
(* -0.00933 y y y)
(* -0.00006 y y y y))))
; actually between 1000 and 3000
(cond ((= k 0) (+ 2451623.80984
(* 365242.37404 z)
(* 0.05169 z z)
(* -0.00411 z z z)
(* -0.00057 z z z z)))
((= k 1) (+ 2451716.56767
(* 365241.62603 z)
(* 0.00325 z z)
(* 0.00888 z z z)
(* -0.00030 z z z z)))
((= k 2) (+ 2451810.21715
(* 365242.01767 z)
(* -0.11575 z z)
(* 0.00337 z z z)
(* 0.00078 z z z z)))
((= k 3) (+ 2451900.05952
(* 365242.74049 z)
(* -0.06223 z z)
(* -0.00823 z z z)
(* 0.00032 z z z z)))))))