astro: Calculations for position of the sun and moon

astroR 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

Some of this could be faster (particularly the use of LMST in "astro" is not precalculated)

Note

Thanks to Nick.Ellis@csiro.au for pointing out a mistake pre-0.0-27

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)
  elev.gmt <- mkElevationSeg(1, tm)
  plot(tm, rtp$theta, main = "solar elevation mini.sun versus NOAA")
  lines(tm, elev.gmt(1, 147, -42))


Trackage/tripEstimation documentation built on April 24, 2023, 6:57 p.m.