AstroCalendar is based on Smurfier's "Lua Calendar" and Stone's "Moon II DST" skins. I am grateful that they shared their work.
AstroCalendar has several different modes of operation. In addition to showing "Events" that the user has defined, AstroCalendar can also display:
- Sunrise and Sunset times and azimuths
- Solar Noon time and elevation
- Equinox and Solstice dates
- Moonrise and Moonset times and azimuths
- Lunar meridian transit and phase information
- Lunar primary phase and apogee/perigee information
- Rises, sets, meridian transits, and position information for the planets and named stars
- variables to configure the display format of the calendar
- variables to configure the observer's latitude and longitude
- variables to configure the observer's local time zone
AstroCalendar's Astro.lua dofile is designed to handle the multiple rise/set events that can occur at high latitudes. Configure the skin for "McMurdo Station, Antarctica" or "Alert, Nunavut" and watch how the Sun and Moon appear to observers at those locations.
AstroCalendar has the following controls:
- Click on the arrows to move the calendar backward or forward one month or year at a time
- Click on the currently-displayed Month and Year label to return to the current month and year
- Click on the currently-displayed mode label to cycle to the next calendar mode (starting with "Events")
- Right-click on the currently-displayed mode label to cycle through submodes of the current mode
- Click on a day number to open a detailed information panel
- Click on the detailed information panel to dismiss it
- Use the "Custom skin actions" menu to choose the object of interest when in "Astro" mode
MultiCalendar displays a year of AstroCalendars at once. Handy when you need to see more than just one month at a time. MultiCalendar's controls and displayed information are minor variations on the controls for AstroCalendar. AstroCalendar will activate MultiCalendar if you double-click on AstroCalendar's currently-displayed Month and Year label, though you may need to edit MultiCalendar's config name in the AstroCalendar.ini.
Finally, I have included a WorldClock skin with two variants. This skin demonstrates how to use the Timezone.lua dofile to manage multiple local time zones. The variant that shows a day/night icon uses the Astro.lua dofile from AstroCalendar to calculate sunrise and sunset times for the specified location. Note that Astro.lua is overkill for simple sunrise/sunset at lower latitudes.
At this time, I know of one limitation in AstroCalendar. On days when Daylight Saving Time begins or ends, rise and set events that happen in the early hours before the time changes will be incorrect. This is because Astro.lua assumes that the time zone offset for a given day is the same all day long. This assumption is incorrect on the DST transition days.