Subject: Re: bug#61460: 30.0.50; Calendar shows eclipse for quarter moon

From: Michael Heerdegen <[email-masked]>
Date: Mon, 13 Feb 2023 04:25:13 +0100

Ulrich Müller <[email-masked]> writes:

> @@ -161,7 +161,9 @@ remainder mod 4 gives the phase: 0 new moon, 1 first quarter, 2 full moon,
>           (phase-name (cond ((= phase 0) "Solar")
>                             ((= phase 2) "Lunar")
>                             (t ""))))
> -    (cond ((< moon-lat 2.42600766e-1)
> +    (cond ((string= phase-name "")
> +	   "")
> +	  ((< moon-lat 2.42600766e-1)
>  	   (concat "** " phase-name " Eclipse **"))
>  	  ((< moon-lat 0.37)
>  	   (concat "** " phase-name " Eclipse possible **"))

Sorry if I am misunderstanding, but is this good enough?  Then I don't
understand.  This doesn't go specifically to you only.

What I understand is: there are two conditions that have to be met at
the same time, and these are more or less independent over time: (1) the
latitude of the moon has to be smaller than a certain angle, and (2) it
has to be new moon or full moon.  Correct?

My questions:

(1) AFAIU, the "phase name" is derived from one of four values of the
moon "phase".  Is this really good enough to decide whether it is new
moon or full moon?  AFAIU the four moon phases all have the same length.
So AFAIU the test you added is not strong enough, we must first test
whether it is full moon or new moon, only at these days can an eclipse
happen, and only for these exact dates we need to check the moon's
latitude for whether it is small enough for an eclipse.

(2) https://en.wikipedia.org/wiki/Lunar_node tells that the limit for
the longitude of the moon is different for lunar vs. solar eclipses.
The same will be the case when we test the latitude.  The test we
currently use doesn't reflect that.  Should it?

Thanks,

Michael.