3
$\begingroup$

Where can I get a table with the Moon phase angle for each day ?

It's available here for a given day, but I would have to input each day of a year to get a full table.

=== NEW EDIT : 2019-09-18 ===

Actually, I'm preparing a calendar of lunar phase with corresponding Moon photo for each day and for a whole year. For this, I downloaded a set of images here from Jay Tanner's website. The name of these images correspond to the phase degree, but when I associate these images with the data from JPL HORIZONS suggested by @Mike G, it doesn't match what I see in the Sky.

How can I associate a set of photo of Moon phases to each day of a given period of time (for instance, the current year) ?

$\endgroup$
6
$\begingroup$

JPL HORIZONS can do that. With settings like these:

Ephemeris Type : OBSERVER
Target Body : Moon [Luna] [301]
Observer Location : Geocentric [500]
Time Span : Start=2019-09-12, Stop=2019-09-19, Step=1 d
Table Settings : QUANTITIES=10,23,24

it returns results like these:

 Date__(UT)__HR:MN       Illu%    S-O-T /r    S-T-O
***************************************************
 2019-Sep-12 00:00      95.688 155.9731 /T  23.9640
 2019-Sep-13 00:00      98.620 166.4750 /T  13.4888
 2019-Sep-14 00:00      99.814 175.0444 /T   4.9422
 2019-Sep-15 00:00      99.231 169.9061 /L  10.0670
 2019-Sep-16 00:00      96.874 159.5743 /L  20.3723
 2019-Sep-17 00:00      92.791 148.7668 /L  31.1541
 2019-Sep-18 00:00      87.074 137.7510 /L  42.1469
 2019-Sep-19 00:00      79.858 126.5419 /L  53.3370

where Illu% is the illuminated fraction $k$, and S-T-O is the sun-target-observer phase angle $i$. These quantities are related by (Meeus 41.1) $$ k = \frac{1 + \cos i}{2} $$

An observer location on the surface of the Earth instead of the geocenter gives slightly different results due to parallax.

Tanner's rendered images appear to be indexed by the difference between lunar and solar ecliptic longitude. The sun-observer-target elongation angle S-O-T is a close approximation in most cases. Where the /r column is /T for trailing, use that value directly. Where /r is /L for leading, subtract S-O-T from 360°.

A single cycle of Moon images cannot capture libration effects as the NASA SVS images do (see SpaceBread's answer), so Tanner's images look a little different from the actual Moon.

$\endgroup$
  • $\begingroup$ @Mike G Awesome. I edited my answer in order to understand how to match these data to a set of images. $\endgroup$ – DevonDahon Sep 18 at 3:43
  • $\begingroup$ Actually, in this list of figures, which ones correspond to : New Moon, First Quarter, Full Moon, Last Quarter and New Moon ? That might help me solve my problem. $\endgroup$ – DevonDahon Sep 18 at 7:40
3
$\begingroup$

NASAs Scientific Visualization Studio has a page showing the Moon Phase and Libration over the course of each year. On the same page you can find a link to the data table including, among other things, the phase of the moon for each hour of the year in UT. You can download the table as a TXT and JSON file.
In case you only want a daily list and are using Linux you could than do something like:

cat mooninfo_2019.txt | grep "00:00 UT"  > mooninfo_2019_daily.txt
$\endgroup$
  • $\begingroup$ The question has changed a bit. $\endgroup$ – Mike G Sep 18 at 6:11
1
$\begingroup$

I finally fixed my issue by still using Tanner's images (named from 0 to 360), and by getting the phases from the SunCalc library (which returns a number between 0 and 1). This way, I could easily associate images of a phase to a given date.

+---------+--------+-----------------+
| SunCalc | Tanner | Phase           |
+---------+--------+-----------------+
|       0 |      0 | New Moon        |
|         |        | Waxing Crescent |
|    0.25 |     90 | First Quarter   |
|         |        | Waxing Gibbous  |
|     0.5 |    180 | Full Moon       |
|         |        | Waning Gibbous  |
|    0.75 |    270 | Last Quarter    |
|         |        | Waning Crescent |
|       1 |    360 | New Moon        |
+---------+--------+-----------------+

Javascript method:

getMoonImageName (year, month, day) {
  var ill = SunCalc.getMoonIllumination(new Date(year, month-1, day))
  return Math.round(ill['phase'] * 360).toString().padStart(3, "0") + ".png";
}
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.