Module: lunar

Lunar computations for calendars
Version:
  • M2022-02-10
Author:
  • Louis A. de Fouquières https://github.com/Louis-Aime
License:
  • MIT 2016-2022
Source:

Requires

  • module:deltat
  • module:time-units.js
  • module:chronos
  • module:extdate

Methods

(static) getCELunarDate(theDate) → {Object}

The lunar Milesian era calendar date coordinate at this date, 0h UTC. First day of this calendar is 4 1m 000 First day of this lunar calendar is on 4 1m 000, and is expressed day 1 month 1 year 0. an adjustement to Terrestrial Time (TT) is applied
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
Lunar date {year: number, month: number, day: integer number (1 to 30) }.
Type
Object

(static) getCEMoonDate(theDate) → {Object}

The complete moon date coordinate at this date and time UTC. Moon age may change during a calendar day. Origin morning of 3 1m 000 an adjustement to Terrestrial Time (TT) is applied
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
Lunar date with age as a decimal figure {year: integer, month: integer, age: decimal number}.
Type
Object

(static) getDraconiticNodes(theDate) → {Array}

Estimate dates of caput draconis and of cauda draconis that wrap the given date.
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
two dates and a Boolean: caput draconis, cauda draconis (both within same year), and whether eclipse season is running.
Type
Array

(static) getHegirianLunarDate(theDate) → {Object}

The lunar "mean" Hegirian calendar date coordinate at this date, 0h UTC. First day of this lunar calendar is on 26 7m 622, and is expressed day 1 month 1 year 1. It corresponds to 1 9 641 of CE lunar calendar an adjustment to Terrestrial Time (TT) is applied
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
Lunar date {{year: number, month: number, date: number (1 to 30)}
Type
Object

(static) getHegirianMoonDate(theDate) → {Object}

The complete moon date coordinate at this date and time UTC. Moon age may change during a calendar day. Origin is evening of 25 7m 622 an adjustment to Terrestrial Time (TT) is applied
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
Lunar date with age as a decimal figure {year: integer, month: integer, age: decimal number}.
Type
Object

(static) getLunarDateTime(theDate) → {Date}

Lunar date and time is such that the moon is at the same place on the Ecliptic that the sun at that date and time. The moon is rising for lunar dates from 1 1m to 31 6m, falling for lunar dates from 1 7m to last day of the year.
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
Instant that corresponds to the Lunar date. Note that the time of the returned instant is the lunar time. When getting this time, DST applies following lunar Date.
Type
Date

(static) getLunarSunTimeAngle(theDate) → {number}

Angle between the moon position and the sun position.
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
delay to add to current time in order to get lunar time
Type
number

(static) getTemperedDate(theDate) → {Object}

The date in the tempered tropical year, i.e. the date from the instant of the last winter solstice.
Parameters:
Name Type Description
theDate Date UTC date.
Source:
Returns:
Year and milliseconds in year.
Type
Object