libtad_models/astronomy/
astronomy_event_class.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4#[serde(rename_all = "lowercase")]
5/// All valid astronomy event classes.
6pub enum AstronomyEventClass {
7    /// Combination of all known classes.
8    All,
9
10    /// The current phase for the place requested. Additional attributes for illumination (moon), azimuth, distance.
11    Current,
12
13    /// Day length. Day length is not reported as an event, but as a separate attribute.
14    DayLength,
15
16    /// Meridian (Noon, highest point) and Anti-Meridian (lowest point) events.
17    Meridian,
18
19    /// Moon phase events. Additionally to the phase events (only occurring on four days per lunar month), an additional attribute for the current moon phase is reported for every day.
20    Phase,
21
22    /// Set and rise events. Event times take atmospheric refraction into account.
23    SetRise,
24
25    /// Combination of all 3 twilight classes.
26    Twilight,
27
28    /// Civil twilight (-6°).
29    Twilight6,
30
31    /// Nautical twilight (-12°).
32    Twilight12,
33
34    /// Astronomical twilight (-18°).
35    Twilight18,
36}