Solar part of a GreenCal.Day.
Summary
Types
@type t() :: %GreenCal.Day.Sun{ day_length_minutes: float(), rise: DateTime.t() | nil, rise_azimuth: float() | nil, set: DateTime.t() | nil, set_azimuth: float() | nil, state: :normal | :always_above | :always_below, transit: DateTime.t() | nil }
:day_length_minutes is the time the Sun spends above the horizon
within the civil day — always defined, 0.0 during polar night and
the full window length (usually 1440) under the midnight sun, and it
stays correct on days where the Sun rises before midnight or sets
after it.