What astronomical event do AstronomicalData's "NextRiseTime", "NextSetTime", "LastSetTime", and "LastRiseTime" values refer to? Are these times that the geometric centers of the objects in question cross the horizon, or their outer limbs; do they take into account refraction, or do they refer to the crossing of the geometric horizon?
|
|
|||
|
A couple of years ago I was in an email conversation about this topic with Jeff Bryant, a WRI employee. He was not directly responsible for At that time I was examining the accuracy of
As recorded in my email of December 2008 the output was:
Four different sun calculators gave a value close to 17 deg as answer, so more than a degree higher than MMA's answer. I tried all four sites again while writing this answer and found three still running at the moment:
At that time there was a problem with the TimeZone setting which since then has been repaired. For that call you need to specifically mention the timezone for which you want the report to be made, otherwise it's going to use your own:
The result seems to match the others very well. But the time zone use is a bit unexpected of course. Why would you want to specify the time zone if you already have specified the geographical location in lat longs? The sun position calculation was also relatively slow. As an alternative I did a straight (and I mean really, ugly straight) totally unoptimized translation in Mathematica of a VBA translation of a Javascript sun position calculator which happened to be about 20 times faster. Both are from US government servers and the files should be in the public domain. You can get my Mathematica translation here. I have a hunch it should be fairly easy to accelerate it considerably. The code uses atmospheric refraction and indeed, if we see the difference at sunset between its altitude and MMA's, it's about half a degree as it should:
|
|||||||||||||||
|
|
A bit of spelunking reveals that
My impression is that it is performing a purely geometric calculation involving only the object center, but you can judge for yourself by looking at the definition of that function and its main helper:
|
|||
|
|
AstronomicalData[]: "Corrections for atmospheric refraction and light time delay are not included." – J. M.♦ Oct 22 '12 at 23:30