A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
From: Frank Reed
Date: 2019 Dec 1, 10:51 -0800
Jim Rives, you wrote:
" I was directed to http://www.usno.navy.mil/USNO/astronomical-applications/publications/circ-181 for updates to delta-T, which no longer works. When did USNO shut down the almanac service? Is there an alternative?"
All web services and sites under "usno.navy.mil" were pulled about a month ago without explanation. These sites had suffered frequent, lengthy outages during the past couple of years and in recent months, especially, and I think it's likely that they had problematic security (which conceivably could not be repaired and is being re-built from the bottom up). This might make sense considering the disparity in security requirements for a low-security government agency (USNO, the US Naval Observatory) stuck under the umbrella of the US Navy's ".mil" Internet structure, which requires the highest security.
When they shut down, a notice stated that the sites would be unavailable for six months. I would not be surprised if they're back more quickly. I also would not be surprised if they never come back at the original addresses and are instead offloaded to another low-security US government agency like NOAA or NASA. The whole idea of the "US Naval Observatory" is anachronistic, a quaint legacy of earlier centuries. Their astronomical operations could have been transferred to NASA decades ago.
Assuming that MICA allows for manual entry of Delta-T, then you can get the values you need from prior entries in this thread. Quoting my own message from yesterday:
Here's a list of Delta-T values (these are the ones used in my code):
DeltaT(2010) = 66.1
DeltaT(2020) = 69.5
DeltaT(2030) = 73
There is a subjective issue with Delta-T in celestial navigation and astronomical computing more generally. Many computation enthusiasts become obsessed with acquiring "accurate" Delta-T values. Values to the nearest second are plenty good enough for all purposes in celestial navigation, and even my values of 66.1 and 69.5 above are over-kill. High accuracy in Delta-T is un-necessary. Some also become obsessed with the "prediction" (or historical computation) of Delta-T by "polynomials" which are often said to be "from NASA". This is magical thinking. Historical datapoints are just approximate values; running a polynomial through them serves no purpose. Except for very general behavior (Delta-T is currently climbing, with long-term quadratic behavior), Delta-T has to be observed, and it happily defies prediction. Nothing in normal, manual celestial navigation, except highest-accuracy sights involving the Moon, requires a Delta-T value more accurate than the nearest ten seconds. So if MICA's current value for Delta-T is 78 seconds insteaad of 68 seconds, there's no harm except for the Moon (and even for the Moon, only for sights demanding the highest accuracy, like lunars!).
Some tasty morsels for the computationally-obsessed. Why re-invent the wheel? Grab the open-source code for Stellarium. Open StelCore.hpp and dig around...
WithoutCorrection, //!< Without correction, DeltaT is Zero. Like Stellarium versions before 0.12.
Schoch, //!< Schoch (1931) algorithm for DeltaT
Clemence, //!< Clemence (1948) algorithm for DeltaT
IAU, //!< IAU (1952) algorithm for DeltaT (based on observations by Spencer Jones (1939))
AstronomicalEphemeris, //!< Astronomical Ephemeris (1960) algorithm for DeltaT
TuckermanGoldstine, //!< Tuckerman (1962, 1964) & Goldstine (1973) algorithm for DeltaT
MullerStephenson, //!< Muller & Stephenson (1975) algorithm for DeltaT
Stephenson1978, //!< Stephenson (1978) algorithm for DeltaT
SchmadelZech1979, //!< Schmadel & Zech (1979) algorithm for DeltaT
MorrisonStephenson1982, //!< Morrison & Stephenson (1982) algorithm for DeltaT (used by RedShift)
StephensonMorrison1984, //!< Stephenson & Morrison (1984) algorithm for DeltaT
StephensonHoulden, //!< Stephenson & Houlden (1986) algorithm for DeltaT
Espenak, //!< Espenak (1987, 1989) algorithm for DeltaT
Borkowski, //!< Borkowski (1988) algorithm for DeltaT
SchmadelZech1988, //!< Schmadel & Zech (1988) algorithm for DeltaT
ChaprontTouze, //!< Chapront-Touzé & Chapront (1991) algorithm for DeltaT
StephensonMorrison1995, //!< Stephenson & Morrison (1995) algorithm for DeltaT
Stephenson1997, //!< Stephenson (1997) algorithm for DeltaT
ChaprontMeeus, //!< Chapront, Chapront-Touze & Francou (1997) & Meeus (1998) algorithm for DeltaT
JPLHorizons, //!< JPL Horizons algorithm for DeltaT
MeeusSimons, //!< Meeus & Simons (2000) algorithm for DeltaT
MontenbruckPfleger, //!< Montenbruck & Pfleger (2000) algorithm for DeltaT
ReingoldDershowitz, //!< Reingold & Dershowitz (2002, 2007) algorithm for DeltaT
MorrisonStephenson2004, //!< Morrison & Stephenson (2004, 2005) algorithm for DeltaT
Reijs, //!< Reijs (2006) algorithm for DeltaT
EspenakMeeus, //!< Espenak & Meeus (2006) algorithm for DeltaT (Recommended, default)
EspenakMeeusZeroMoonAccel, //!< Espenak & Meeus (2006) algorithm for DeltaT (but without additional Lunar acceleration. FOR TESTING ONLY, NONPUBLIC)
Banjevic, //!< Banjevic (2006) algorithm for DeltaT
IslamSadiqQureshi, //!< Islam, Sadiq & Qureshi (2008 + revisited 2013) algorithm for DeltaT (6 polynomials)
KhalidSultanaZaidi, //!< M. Khalid, Mariam Sultana and Faheem Zaidi polynomial approximation of time period 1620-2013 (2014)
StephensonMorrisonHohenkerk2016, //!< Stephenson, Morrison, Hohenkerk (2016) RSPA paper provides spline fit to observations for -720..2016 and else parabolic fit.
Custom //!< User defined coefficients for quadratic equation for DeltaT
And that's some wacko stamp-collecting!
//! Compute DeltaT estimation for a given date.
//! DeltaT is the accumulated effect of earth's rotation slowly getting slower, mostly caused by tidal braking by the Moon.
//! For accurate positioning of objects in the sky, we must compute earth-based clock-dependent things like earth rotation, hour angles etc.
//! using plain UT, but all orbital motions or rotation of the other planets must be computed in TT, which is a regular time frame.
//! Also satellites are computed in the UT frame because (1) they are short-lived and (2) must follow paths over earth ground.
//! (Note that we make no further difference between TT and DT, those might differ by milliseconds at best but are regarded equivalent for our purpose.)
//! @param JD the date and time expressed as a Julian Day
//! @return DeltaT in seconds
//! @note Thanks to Rob van Gent who created a collection from many formulas for calculation of DeltaT: http://www.staff.science.uu.nl/~gent0113/deltat/deltat.htm
//! @note Use this only if needed, prefer calling getDeltaT() for access to the current value.
//! @note Up to V0.15.1, if the requested year was outside validity range, we returned zero or some useless value.
//! Starting with V0.15.2 the value from the edge of the defined range is returned instead if not explicitly zero is given in the source.
//! Limits can be queried with getCurrentDeltaTAlgorithmValidRangeDescription()
double computeDeltaT(const double JD);
//! Get current DeltaT.
double getDeltaT() const;