3.2 The HorizonCoordinates Function
Horizon coordinates are useful when you are out in the field. The HorizonCoordinates function computes the position of an object relative to the local horizon. The output, therefore, depends on your geographic location on Earth.
Calculating an object's position in horizon coordinates.
Mars, on the given date and time, is 26.9 degrees below the horizon and 156 degrees east of north, which is approximately southsoutheast.
In[13]:=HorizonCoordinates[Mars, {1993,11,17,3,20,0}]
Out[13]=
In the HorizonCoordinates output, the first rule is used to represent the compass angle around the horizon, and the second rule is used to represent the angle above the horizon. A negative altitude means the object is currently below the local horizon. Azimuth is defined so that 0 degrees is the direction north and 90 degrees is the direction east.
HorizonCoordinates can be applied to stars and other objects as normal.
Discover the current horizon coordinates of the star (alpha) Centauri using HorizonCoordinates.
In[14]:=HorizonCoordinates[Alpha.Centaurus, {1993,11,17,3,20,0}]
Out[14]=
This gives the current azimuth and altitude of the fixed point on the celestial sphere with an ascension of 6 hours and a declination of 30 degrees.
In[15]:=HorizonCoordinates[{Ascension > 6*Hour, Declination > 30*Degree}, {1993,11,17,3,20,0}]
Out[15]=
The Refract Function
A function related to HorizonCoordinates is Refract. Refract adds an atmospheric refraction correction to horizon coordinates. Atmospheric refraction can amount to about 0.5 degrees for an object close to the horizon, but requires a very minor correction for objects well above the horizon.
Allowing for the effect of atmospheric refraction.
SunRise and SunSet correctly take into account atmospheric refraction. However, this means that the true horizon coordinates of the Sun place it approximately half a degree below the horizon at sunrise or sunset. To correct this for refraction, you can apply Refract.
Refraction has its strongest effect on horizon coordinates with an altitude near zero, in which case it adds about half a degree to that altitude. When horizon coordinates reach about 15 degrees of altitude, refraction has very little effect.
The true position of the Sun is 0.55 degrees below the horizon at sunset.
In[16]:=HorizonCoordinates[Sun, SunSet[], ViewPoint > TopoCentric]
Out[16]=
The atmospherically refracted position of the Sun at sunset lies almost exactly on the horizon, with an altitude of just 0.002 degrees, which is where it should be at that time.
In[17]:=HorizonCoordinates[Sun, SunSet[], ViewPoint > TopoCentric]//Refract
Out[17]=
