Copyright | Alexander Ignatyev 2016 |
---|---|
Safe Haskell | Safe |
Language | Haskell2010 |
Data.Astro.CelestialObject.RiseSet
Description
Computations rise and set of selestial objects.
Examples
Stars
See Data.Astro.Star module for example.
Planets
See Data.Astro.Planet module for example.
Synopsis
- data RiseSet a
- = RiseSet a a
- | Circumpolar
- | NeverRises
- type RSInfo a = (a, DecimalDegrees)
- type RiseSetLST = RiseSet (RSInfo LocalSiderealTime)
- type RiseSetLCT = RiseSet (RSInfo LocalCivilTime)
- type RiseSetMB = RiseSet (Maybe (RSInfo LocalCivilTime))
- riseAndSet :: EquatorialCoordinates1 -> DecimalDegrees -> DecimalDegrees -> RiseSetLST
- riseAndSet2 :: DecimalHours -> (JulianDate -> EquatorialCoordinates1) -> GeographicCoordinates -> DecimalDegrees -> LocalCivilDate -> RiseSetMB
- riseAndSetLCT :: GeographicCoordinates -> LocalCivilDate -> DecimalDegrees -> EquatorialCoordinates1 -> RiseSetLCT
- toRiseSetLCT :: DecimalDegrees -> LocalCivilDate -> RiseSetLST -> RiseSetLCT
Documentation
Some Info of Rise and Set of a celestial object
Constructors
RiseSet a a | Some Info of Rise and Set of the celestial object |
Circumpolar | The celestial object is always above the horizon |
NeverRises | The celestial object is always below the horizon |
type RSInfo a = (a, DecimalDegrees) Source #
Rise or Set time and azimuth
type RiseSetLST = RiseSet (RSInfo LocalSiderealTime) Source #
LST (Local Sidereal Time) and Azimuth of Rise and Set
type RiseSetLCT = RiseSet (RSInfo LocalCivilTime) Source #
Local Civil Time and Azimuth of Rise and Set
type RiseSetMB = RiseSet (Maybe (RSInfo LocalCivilTime)) Source #
The optional Rise And optinal Set Information (LocalCivilTime and Azimuth)
riseAndSet :: EquatorialCoordinates1 -> DecimalDegrees -> DecimalDegrees -> RiseSetLST Source #
Calculate rise and set local sidereal time of a celestial object.
It takes the equatorial coordinates of the celestial object,
vertical shift and the latitude of the observation.
To calculate vertical shift for stars use function refract
from Data.Astro.Effects.
In most cases you can assume that vertical shift equals 0.566569 (34 arcmins ~ 'refract (DD 0) 12 1012').
riseAndSet2 :: DecimalHours -> (JulianDate -> EquatorialCoordinates1) -> GeographicCoordinates -> DecimalDegrees -> LocalCivilDate -> RiseSetMB Source #
Calculate rise and set local sidereal time of a celestial object
that changes its equatorial coordinates during the day (the Sun, the Moon, planets).
It takes epsilon, the function that returns equatorial coordinates of the celestial object for a given julian date,
vertical shift and the latitude of the observation.
To calculate vertical shift for stars use function refract
from Data.Astro.Effects.
In most cases you can assume that vertical shift equals 0.566569 (34 arcmins ~ 'refract (DD 0) 12 1012').
riseAndSetLCT :: GeographicCoordinates -> LocalCivilDate -> DecimalDegrees -> EquatorialCoordinates1 -> RiseSetLCT Source #
Calculates set and rise of the celestial object It takes geographic coordinates of the observer, local civil date, vertical shift and equatorial coordinates of the celestial object.
toRiseSetLCT :: DecimalDegrees -> LocalCivilDate -> RiseSetLST -> RiseSetLCT Source #
Converts Rise and Set in Local Sidereal Time to Rise and Set in Local Civil Time.
It takes longutude of the observer and local civil date.
To calculate vertical shift for stars use function refract
from Data.Astro.Effects.
In most cases you can assume that vertical shift equals 0.566569 (34 arcmins ~ 'refract (DD 0) 12 1012').