astro {tripEstimation}R Documentation

Calculations for position of the sun and moon

Description

This set of functions provides simple position calculations for the sun and moon, taken from Pascal routines published in Montenbruck and Pfleger (1994, Dunlop).

These are completely independent from the (specifically optimized) solar elevation calculations available via [elevation and solar].

Usage

astro(lon, lat, astro.calc)

EQUHOR(DEC, TAU, PHI)

FRAC(x)

LMST(MJDay, LAMBDA)

lunar(time)

mini.sun(time)

MJD(date)

POLAR(X, Y, Z)

Arguments

lon vector of longitudes
lat vector of latitudes
astro.calc list object containing RA right ascension
DEC declination
TAU TAU
PHI PHI
x number
MJDay modified julian day
LAMBDA LAMBDA
time vector of date-times in POSIXct format
date vector of date-times in POSIXct format
X x-coordinate
Y y-coordinate
Z z-coordinate

Value

astro returns a list object with the components of the moon or sun's position,

r rho component
theta theta component - elevation
phi phi component - azimuth

Warning

I don't get perfect matchup with the NOAA routines for solar elevation. This may be the limitations of the (mini-versions of the) algorithms, as they are good at near-horizon (for rising and setting). Some of this could be faster (particularly the use of LMST in "astro" is not precalculated)

Author(s)

Michael D. Sumner

References

@BOOK{,
  title = {Astronomy on the Personal Computer},
  publisher = {Springer-Verlag, Berlin},
  year = {1994},
  author = {Oliver Montenbruck and Thomas Pfleger},
  edition = {2  (translated from German by Storm Dunlop)},
}

See Also

See Also elevation

Examples


## the moon
tm <- Sys.time() + seq(by = 3600, length = 100)
moon <- lunar(tm)
rtp <- astro(147, -42, moon)
op <- par(mfrow = c(2,1))
plot(tm, rtp$theta, main = "lunar elevation, Hobart")
plot(tm, rtp$phi, main = "lunar azimuth, Hobart")
par(op)

## the sun
tm <- Sys.time() + seq(by = 3600, length = 100)
sun <- mini.sun(tm)
rtp <- astro(147, -42, sun)
op <- par(mfrow = c(2,1))
plot(tm, rtp$theta, main = "solar elevation, Hobart")
plot(tm, rtp$phi, main = "solar azimuth, Hobart")
par(op)
## Not run: 
  elev.gmt <- mkElevationSeg(1, tm)
  plot(tm, rtp$theta, main = "solar elevation mini.sun versus NOAA") 
  lines(tm, elev.gmt(1, 147, -42))
## End(Not run)

[Package tripEstimation version 0.0-24 Index]