solar-0.1.0.0: Simple library for solar calculations

Data.Time.Solar

Contents

Description

This module contains basic solar calculation functions. It is based on the methods found at https://www.esrl.noaa.gov/gmd/grad/solcalc/calcdetails.html

Accordingly, the same caveats apply. This method is therefore only accurate for dates between 1901 and 2099. The sunrise and sunset results are theoretically accurate to within a minute for locations between +/- 72° latitude, and within 10 minutes outside of those latitudes.

Synopsis

# Documentation

data Location Source #

Constructors

 Location Fieldslatitude :: Double longitude :: Double
Instances
 Source # Instance detailsDefined in Data.Time.Solar Methods Source # Instance detailsDefined in Data.Time.Solar Methods(<) :: Location -> Location -> Bool #(>) :: Location -> Location -> Bool # Source # Instance detailsDefined in Data.Time.Solar Methods Source # Instance detailsDefined in Data.Time.Solar MethodsshowList :: [Location] -> ShowS #

Return the time of solar noon in a given timezone for a given day, at a given location. Solar noon is the moment when the sun contacts the observer's meridian, reaching its highest position above the horizon on that day.

Return the time of solar midnight, opposite of solarNoon. Note that this will return the next solar midnight!

Determine the time of sunrise relative to a zoned time, at a given location.

Determine the time of sunset relative to a zoned time, at a given location.

Duration of sunlight on a given date and location.

Return hour angle, one of the coordinates used in the equatorial coordinate system to give the direction of a point on the celestial sphere. Given in degrees.

Time of day at a given location as measured by the movement of the sun, given as time after midnight.

The solar zenith angle is the angle between the zenith and the centre of the Sun's disc. Given in degrees.

The solar elevation angle is the altitude of the Sun, the angle between the horizon and the centre of the Sun's disc. Given in degrees. Complimentary to solarZenithAngle.

# Local Solar Time

Solar Noon given in local solar time.

Sunrise given in local solar time.

Sunset given in local solar time.

# Re-Export

data ZonedTime #

A local time together with a time zone.

Constructors

 ZonedTime Fields
Instances
 Instance detailsDefined in Data.Time.LocalTime.Internal.ZonedTime Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZonedTime -> c ZonedTime #gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ZonedTime #dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ZonedTime) #dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime) #gmapT :: (forall b. Data b => b -> b) -> ZonedTime -> ZonedTime #gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r #gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r #gmapQ :: (forall d. Data d => d -> u) -> ZonedTime -> [u] #gmapQi :: Int -> (forall d. Data d => d -> u) -> ZonedTime -> u #gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime #gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime #gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime # Instance detailsDefined in Data.Time.LocalTime.Internal.ZonedTime MethodsshowList :: [ZonedTime] -> ShowS # Instance detailsDefined in Data.Time.LocalTime.Internal.ZonedTime Methodsrnf :: ZonedTime -> () # Instance detailsDefined in Data.Time.Format Methods Instance detailsDefined in Data.Time.Format.Parse MethodsbuildTime :: TimeLocale -> [(Char, String)] -> Maybe ZonedTime #