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
Manual time zone configuration, coupled with the appropriate latitude and longitude, causes AstroCalendar to calculate astronomical information as if the PC were located at the given location.
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
- Middle-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")
- Click on the currently-displayed variant label to cycle through variants 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
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.
WorldClock
Finally, I have included a WorldClock skin. 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.
Update 2024-01-04
WorldClock has been updated:
- New variants with new features
- Easier clock configuration
An enhanced version of WorldClock that includes scaling has been created by eclectic-tech.
See https://forum.rainmeter.net/viewtopic.php?t=28386&start=40#p220671
Update 2024-04-10
AstroCalendar, MultiCalendar, and WorldClock have been updated:
- changed AstroCalendar and MultiCalendar to require the use of a location file
- added scaling to AstroCalendar and MultiCalendar
- added scaling to WorldClock (thanks eclectic-tech)
- added optional graphical "today" indicator to AstroCalendar and MultiCalendar
- changed how Variants are selected in AstroCalendar
- changed how MultiCalendar is activated
- Lua code reorganized for easier maintenance
- performance improvements