StelUtils.hpp   StelUtils.hpp 
skipping to change at line 228 skipping to change at line 228
//! Check if a number is a power of 2. //! Check if a number is a power of 2.
bool isPowerOfTwo(const int value); bool isPowerOfTwo(const int value);
//! Return the first power of two bigger than the given value. //! Return the first power of two bigger than the given value.
int getBiggerPowerOfTwo(int value); int getBiggerPowerOfTwo(int value);
//! Return the inverse sinus hyperbolic of z. //! Return the inverse sinus hyperbolic of z.
double asinh(const double z); double asinh(const double z);
//! Integer modulo where the result is always positive.
int imod(const int a, const int b);
/////////////////////////////////////////////////// ///////////////////////////////////////////////////
// New Qt based General Calendar Functions. // New Qt based General Calendar Functions.
//! Make from julianDay a year, month, day for the Julian Date julia nDay represents. //! Make from julianDay a year, month, day for the Julian Date julia nDay represents.
void getDateFromJulianDay(const double julianDay, int *year, int *mo nth, int *day); void getDateFromJulianDay(const double julianDay, int *year, int *mo nth, int *day);
//! Make from julianDay an hour, minute, second. //! Make from julianDay an hour, minute, second.
void getTimeFromJulianDay(const double julianDay, int *hour, int *mi nute, int *second, int *millis=NULL); void getTimeFromJulianDay(const double julianDay, int *hour, int *mi nute, int *second, int *millis=NULL);
//! Parse an ISO8601 date string. //! Parse an ISO8601 date string.
//! Also handles negative and distant years. //! Also handles negative and distant years.
skipping to change at line 295 skipping to change at line 298
//! @param y Calendar year. //! @param y Calendar year.
//! @param m month, 1=January ... 12=December //! @param m month, 1=January ... 12=December
//! @param d day //! @param d day
//! @param h hour //! @param h hour
//! @param min minute //! @param min minute
//! @param s second //! @param s second
//! @result true in all conceivable cases. //! @result true in all conceivable cases.
bool getJDFromDate(double* newjd, const int y, const int m, const in t d, const int h, const int min, const int s); bool getJDFromDate(double* newjd, const int y, const int m, const in t d, const int h, const int min, const int s);
int numberOfDaysInMonthInYear(const int month, const int year); int numberOfDaysInMonthInYear(const int month, const int year);
//! @result true if year is a leap year. Observes 1582 switch from J
ulian to Gregorian Calendar.
bool isLeapYear(const int year);
//! Find day number for date in year.
//! Meeus, Astronomical Algorithms 2nd ed., 1998, ch.7, p.65
int dayInYear(const int year, const int month, const int day);
//! Return a fractional year like YYYY.ddddd. For negative years, th
e year number is decreased. E.g. -500.5 occurs in -501.
double yearFraction(const int year, const int month, const double da
y);
bool changeDateTimeForRollover(int oy, int om, int od, int oh, int o min, int os, bool changeDateTimeForRollover(int oy, int om, int od, int oh, int o min, int os,
int* ry, int* rm, int* rd, int* rh, i nt* rmin, int* rs); int* ry, int* rm, int* rd, int* rh, i nt* rmin, int* rs);
//! Output a QVariantMap to qDebug(). Formats like a tree where the re are nested objects. //! Output a QVariantMap to qDebug(). Formats like a tree where the re are nested objects.
void debugQVariantMap(const QVariant& m, const QString& indent="", c onst QString& key=""); void debugQVariantMap(const QVariant& m, const QString& indent="", c onst QString& key="");
/// Compute acos(x) /// Compute acos(x)
//! The taylor serie is not accurate around x=1 and x=-1 //! The taylor serie is not accurate around x=1 and x=-1
inline float fastAcos(const float x) inline float fastAcos(const float x)
{ {
skipping to change at line 344 skipping to change at line 355
//! Get the number of seconds since program start. //! Get the number of seconds since program start.
//! //!
//! @note This is implemented in platform-specific ways to be as pre cise //! @note This is implemented in platform-specific ways to be as pre cise
//! as possible, but there is a fallback for other platforms t hat //! as possible, but there is a fallback for other platforms t hat
//! might not be precise at all. //! might not be precise at all.
//! This is currently used e.g. to measure FPS, but it should never //! This is currently used e.g. to measure FPS, but it should never
//! be used for critical functionality. //! be used for critical functionality.
long double secondsSinceStart(); long double secondsSinceStart();
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Note that this method is valid for the year range: //! This is just an "empty" correction functino, returning 0.
//! -1999 to +3000, outside of which "0" will be returned. double getDeltaTwithoutCorrection(const double jDay);
// GZ: I don't see this returning 0. There is always a rough estimat
e beyond that. //! Get Delta-T estimation for a given date.
//! Note that this method is recommended for the year range:
//! -1999 to +3000. It gives details for -500...+2150.
//! Implementation of algorithm by Espenak & Meeus (2006) for DeltaT computation //! Implementation of algorithm by Espenak & Meeus (2006) for DeltaT computation
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByEspenakMeeus(const double jDay); double getDeltaTByEspenakMeeus(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Schoch (1931) for DeltaT computat ion, //! Implementation of algorithm by Schoch (1931) for DeltaT computat ion,
//! outdated but may be useful for science-historical purposes. //! outdated but may be useful for science-historical purposes.
//! Source: Schoch, C. (1931). Die sekulare Accelaration des Mondes und der Sonne. //! Source: Schoch, C. (1931). Die sekulare Accelaration des Mondes und der Sonne.
//! Astronomische Abhandlungen, Ergnzungshefte zu den Astronomischen Nachrichten, //! Astronomische Abhandlungen, Ergnzungshefte zu den Astronomischen Nachrichten,
//! Band 8, B2. Kiel. //! Band 8, B2. Kiel.
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTBySchoch(const double jDay); double getDeltaTBySchoch(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Clemence (1948) for DeltaT comput ation, //! Implementation of algorithm by Clemence (1948) for DeltaT comput ation,
//! outdated but may be useful for science-historical purposes. //! outdated but may be useful for science-historical purposes.
//! Source: On the system of astronomical constants. //! Source: On the system of astronomical constants.
//! Clemence, G. M. //! Clemence, G. M.
//! Astronomical Journal, Vol. 53, p. 169 //! Astronomical Journal, Vol. 53, p. 169
//! 1948AJ.....53..169C [http://adsabs.harvard.edu/abs/1948AJ.....53 ..169C] //! 1948AJ.....53..169C [http://adsabs.harvard.edu/abs/1948AJ.....53 ..169C]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByClemence(const double jDay); double getDeltaTByClemence(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by IAU (1952) for DeltaT computation , //! Implementation of algorithm by IAU (1952) for DeltaT computation ,
//! outdated but may be useful for science-historical purposes. //! outdated but may be useful for science-historical purposes.
//! Source: Spencer Jones, H., "The Rotation of the Earth, and the S ecular Accelerations of the Sun, Moon and Planets", //! Source: Spencer Jones, H., "The Rotation of the Earth, and the S ecular Accelerations of the Sun, Moon and Planets",
//! Monthly Notices of the Royal Astronomical Society, 99 (1939), 54 1-558 //! Monthly Notices of the Royal Astronomical Society, 99 (1939), 54 1-558
//! http://adsabs.harvard.edu/abs/1939MNRAS..99..541S //! http://adsabs.harvard.edu/abs/1939MNRAS..99..541S
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByIAU(const double jDay); double getDeltaTByIAU(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Astronomical Ephemeris (1960) for DeltaT computation. //! Implementation of algorithm by Astronomical Ephemeris (1960) for DeltaT computation.
//! Sources: Spencer Jones, H., "The Rotation of the Earth, and the Secular Accelerations of the Sun, Moon and Planets", //! Sources: Spencer Jones, H., "The Rotation of the Earth, and the Secular Accelerations of the Sun, Moon and Planets",
//! Monthly Notices of the Royal Astronomical Society, 99 (1939), 54 1-558 //! Monthly Notices of the Royal Astronomical Society, 99 (1939), 54 1-558
//! http://adsabs.harvard.edu/abs/1939MNRAS..99..541S //! http://adsabs.harvard.edu/abs/1939MNRAS..99..541S
//! or Explanatory Supplement to the Astr. Ephemeris, 1961, p.87. //! or Explanatory Supplement to the Astr. Ephemeris, 1961, p.87.
//! Also used by Mucke&Meeus, Canon of Solar Eclipses, Vienna 1983. //! Also used by Mucke&Meeus, Canon of Solar Eclipses, Vienna 1983.
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByAstronomicalEphemeris(const double jDay); double getDeltaTByAstronomicalEphemeris(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Tuckerman (1962, 1964) & Goldstin e (1973) for DeltaT computation //! Implementation of algorithm by Tuckerman (1962, 1964) & Goldstin e (1973) for DeltaT computation
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByTuckermanGoldstine(const double jDay); double getDeltaTByTuckermanGoldstine(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Muller & Stephenson (1975) for De ltaT computation. //! Implementation of algorithm by Muller & Stephenson (1975) for De ltaT computation.
//! Source: The accelerations of the earth and moon from early astro nomical observations //! Source: The accelerations of the earth and moon from early astro nomical observations
//! Muller, P. M.; Stephenson, F. R. //! Muller, P. M.; Stephenson, F. R.
//! Growth rhythms and the history of the earth's rotation; Proceedi ngs of the Interdisciplinary //! Growth rhythms and the history of the earth's rotation; Proceedi ngs of the Interdisciplinary
//! Winter Conference on Biological Clocks and Changes in the Earth' s Rotation: Geophysical and //! Winter Conference on Biological Clocks and Changes in the Earth' s Rotation: Geophysical and
//! Astronomical Consequences, Newcastle-upon-Tyne, England, January 8-10, 1974. (A76-18126 06-46) //! Astronomical Consequences, Newcastle-upon-Tyne, England, January 8-10, 1974. (A76-18126 06-46)
//! London, Wiley-Interscience, 1975, p. 459-533; Discussion, p. 534 . //! London, Wiley-Interscience, 1975, p. 459-533; Discussion, p. 534 .
//! 1975grhe.conf..459M [http://adsabs.harvard.edu/abs/1975grhe.conf ..459M] //! 1975grhe.conf..459M [http://adsabs.harvard.edu/abs/1975grhe.conf ..459M]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByMullerStephenson(const double jDay); double getDeltaTByMullerStephenson(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Stephenson (1978) for DeltaT comp utation. //! Implementation of algorithm by Stephenson (1978) for DeltaT comp utation.
//! Source: Pre-Telescopic Astronomical Observations //! Source: Pre-Telescopic Astronomical Observations
//! Stephenson, F. R. //! Stephenson, F. R.
//! Tidal Friction and the Earth's Rotation, Proceedings of a Worksh op, held in Bielefeld, //! Tidal Friction and the Earth's Rotation, Proceedings of a Worksh op, held in Bielefeld,
//! September 26-30, 1977, Edited by P. Brosche, and J. Sundermann. Berlin: Springer-Verlag, 1978, p.5 //! September 26-30, 1977, Edited by P. Brosche, and J. Sundermann. Berlin: Springer-Verlag, 1978, p.5
//! 1978tfer.conf....5S [http://adsabs.harvard.edu/abs/1978tfer.conf ....5S] //! 1978tfer.conf....5S [http://adsabs.harvard.edu/abs/1978tfer.conf ....5S]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByStephenson1978(const double jDay); double getDeltaTByStephenson1978(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Stephenson (1997) for DeltaT comp utation. //! Implementation of algorithm by Stephenson (1997) for DeltaT comp utation.
//! Source: Book "Historical Eclipses and Earth's Rotation" by F. R. Stephenson (1997) //! Source: Book "Historical Eclipses and Earth's Rotation" by F. R. Stephenson (1997)
//! http://ebooks.cambridge.org/ebook.jsf?bid=CBO9780511525186 //! http://ebooks.cambridge.org/ebook.jsf?bid=CBO9780511525186
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByStephenson1997(const double jDay); double getDeltaTByStephenson1997(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Schmadel & Zech (1979) for DeltaT computation. //! Implementation of algorithm by Schmadel & Zech (1979) for DeltaT computation.
//! Outdated, but may be useful for science-historical purposes. //! Outdated, but may be useful for science-historical purposes.
//! Source: Polynomial approximations for the correction delta T E.T .-U.T. in the period 1800-1975 //! Source: Polynomial approximations for the correction delta T E.T .-U.T. in the period 1800-1975
//! Schmadel, L. D.; Zech, G. //! Schmadel, L. D.; Zech, G.
//! Acta Astronomica, vol. 29, no. 1, 1979, p. 101-104. //! Acta Astronomica, vol. 29, no. 1, 1979, p. 101-104.
//! 1979AcA....29..101S [http://adsabs.harvard.edu/abs/1979AcA....29 ..101S] //! 1979AcA....29..101S [http://adsabs.harvard.edu/abs/1979AcA....29 ..101S]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
//! @note The polynome is strictly applicable 1800...1975 only! Deli vers values for the nearer edge (1800/1989) if jDay is outside.
double getDeltaTBySchmadelZech1979(const double jDay); double getDeltaTBySchmadelZech1979(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Morrison & Stephenson (1982) for DeltaT computation //! Implementation of algorithm by Morrison & Stephenson (1982) for DeltaT computation
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByMorrisonStephenson1982(const double jDay); double getDeltaTByMorrisonStephenson1982(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Stephenson & Morrison (1984) for DeltaT computation //! Implementation of algorithm by Stephenson & Morrison (1984) for DeltaT computation
//! Source: Long-term changes in the rotation of the earth - 700 B.C . to A.D. 1980. //! Source: Long-term changes in the rotation of the earth - 700 B.C . to A.D. 1980.
//! Stephenson, F. R.; Morrison, L. V. //! Stephenson, F. R.; Morrison, L. V.
//! Philosophical Transactions, Series A (ISSN 0080-4614), vol. 313, no. 1524, Nov. 27, 1984, p. 47-70. //! Philosophical Transactions, Series A (ISSN 0080-4614), vol. 313, no. 1524, Nov. 27, 1984, p. 47-70.
//! 1984RSPTA.313...47S [http://adsabs.harvard.edu/abs/1984RSPTA.313 ...47S] //! 1984RSPTA.313...47S [http://adsabs.harvard.edu/abs/1984RSPTA.313 ...47S]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds or Zero if date outside years -391..1 600 //! @return Delta-T in seconds or Zero if date outside years -391..1 600
double getDeltaTByStephensonMorrison1984(const double jDay); double getDeltaTByStephensonMorrison1984(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Stephenson & Morrison (1995) for DeltaT computation //! Implementation of algorithm by Stephenson & Morrison (1995) for DeltaT computation
//! Source: Long-Term Fluctuations in the Earth's Rotation: 700 BC t o AD 1990. //! Source: Long-Term Fluctuations in the Earth's Rotation: 700 BC t o AD 1990.
//! Stephenson, F. R.; Morrison, L. V. //! Stephenson, F. R.; Morrison, L. V.
//! Philosophical Transactions: Physical Sciences and Engineering, V olume 351, Issue 1695, pp. 165-202 //! Philosophical Transactions: Physical Sciences and Engineering, V olume 351, Issue 1695, pp. 165-202
//! 1995RSPTA.351..165S [http://adsabs.harvard.edu/abs/1995RSPTA.351 ..165S] //! 1995RSPTA.351..165S [http://adsabs.harvard.edu/abs/1995RSPTA.351 ..165S]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByStephensonMorrison1995(const double jDay); double getDeltaTByStephensonMorrison1995(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Stephenson & Houlden (1986) for D eltaT computation //! Implementation of algorithm by Stephenson & Houlden (1986) for D eltaT computation
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds or 0 if year > 1600 //! @return Delta-T in seconds or 0 if year > 1600
double getDeltaTByStephensonHoulden(const double jDay); double getDeltaTByStephensonHoulden(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Espenak (1987, 1989) for DeltaT c omputation. //! Implementation of algorithm by Espenak (1987, 1989) for DeltaT c omputation.
//! This relation should not be used before around 1950 or after aro und 2100 (Espenak, pers. comm.). //! This relation should not be used before around 1950 or after aro und 2100 (Espenak, pers. comm.).
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByEspenak(const double jDay); double getDeltaTByEspenak(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Borkowski (1988) for DeltaT compu tation. //! Implementation of algorithm by Borkowski (1988) for DeltaT compu tation.
//! Source: ELP 2000-85 and the dynamic time-universal time relation //! Source: ELP 2000-85 and the dynamic time-universal time relation
//! Borkowski, K. M. //! Borkowski, K. M.
//! Astronomy and Astrophysics (ISSN 0004-6361), vol. 205, no. 1-2, Oct. 1988, p. L8-L10. //! Astronomy and Astrophysics (ISSN 0004-6361), vol. 205, no. 1-2, Oct. 1988, p. L8-L10.
//! 1988A&A...205L...8B [http://adsabs.harvard.edu/abs/1988A&A...205 L...8B] //! 1988A&A...205L...8B [http://adsabs.harvard.edu/abs/1988A&A...205 L...8B]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByBorkowski(const double jDay); double getDeltaTByBorkowski(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Schmadel & Zech (1988) for DeltaT computation. //! Implementation of algorithm by Schmadel & Zech (1988) for DeltaT computation.
//! Source: Empirical Transformations from U.T. to E.T. for the Peri od 1800-1988 //! Source: Empirical Transformations from U.T. to E.T. for the Peri od 1800-1988
//! Schmadel, L. D.; Zech, G. //! Schmadel, L. D.; Zech, G.
//! Astronomische Nachrichten 309, 219-221 //! Astronomische Nachrichten 309, 219-221
//! 1988AN....309..219S [http://adsabs.harvard.edu/abs/1988AN....309 ..219S] //! 1988AN....309..219S [http://adsabs.harvard.edu/abs/1988AN....309 ..219S]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
//! @note The polynome is strictly applicable 1800...1988 only! Deli vers values for the nearer edge (1800/1989) if jDay is outside.
double getDeltaTBySchmadelZech1988(const double jDay); double getDeltaTBySchmadelZech1988(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Chapront-Touzé & Chapront (1991) for DeltaT computation //! Implementation of algorithm by Chapront-Touzé & Chapront (1991) for DeltaT computation
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds or 0 if year not in -391..1600 //! @return Delta-T in seconds or 0 if year not in -391..1600
double getDeltaTByChaprontTouze(const double jDay); double getDeltaTByChaprontTouze(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of the "historical" part of the algorithm by JPL Horizons for DeltaT computation. //! Implementation of the "historical" part of the algorithm by JPL Horizons for DeltaT computation.
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds or 0 if year not in -2999..1620 (!) //! @return Delta-T in seconds or 0 if year not in -2999..1620 (!)
double getDeltaTByJPLHorizons(const double jDay); double getDeltaTByJPLHorizons(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Morrison & Stephenson (2004, 2005 ) for DeltaT computation. //! Implementation of algorithm by Morrison & Stephenson (2004, 2005 ) for DeltaT computation.
//! Sources: Historical values of the Earth's clock error ΔT and the calculation of eclipses //! Sources: Historical values of the Earth's clock error ΔT and the calculation of eclipses
//! Morrison, L. V.; Stephenson, F. R. //! Morrison, L. V.; Stephenson, F. R.
//! Journal for the History of Astronomy (ISSN 0021-8286), Vol. 35, Part 3, No. 120, p. 327 - 336 (2004) //! Journal for the History of Astronomy (ISSN 0021-8286), Vol. 35, Part 3, No. 120, p. 327 - 336 (2004)
//! 2004JHA....35..327M [http://adsabs.harvard.edu/abs/2004JHA....35 ..327M] //! 2004JHA....35..327M [http://adsabs.harvard.edu/abs/2004JHA....35 ..327M]
//! Addendum: Historical values of the Earth's clock error //! Addendum: Historical values of the Earth's clock error
//! Morrison, L. V.; Stephenson, F. R. //! Morrison, L. V.; Stephenson, F. R.
//! Journal for the History of Astronomy (ISSN 0021-8286), Vol. 36, Part 3, No. 124, p. 339 (2005) //! Journal for the History of Astronomy (ISSN 0021-8286), Vol. 36, Part 3, No. 124, p. 339 (2005)
//! 2005JHA....36..339M [http://adsabs.harvard.edu/abs/2005JHA....36 ..339M] //! 2005JHA....36..339M [http://adsabs.harvard.edu/abs/2005JHA....36 ..339M]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByMorrisonStephenson2004(const double jDay); double getDeltaTByMorrisonStephenson2004(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Reijs (2006) for DeltaT computati on //! Implementation of algorithm by Reijs (2006) for DeltaT computati on
//! Details: http://www.iol.ie/~geniet/eng/DeltaTeval.htm //! Details: http://www.iol.ie/~geniet/eng/DeltaTeval.htm
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByReijs(const double jDay); double getDeltaTByReijs(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Chapront, Chapront-Touze & Franco u (1997) & Meeus (1998) for DeltaT computation //! Implementation of algorithm by Chapront, Chapront-Touze & Franco u (1997) & Meeus (1998) for DeltaT computation
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByChaprontMeeus(const double jDay); double getDeltaTByChaprontMeeus(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Meeus & Simons (2000) for DeltaT computation. //! Implementation of algorithm by Meeus & Simons (2000) for DeltaT computation.
//! Source: Polynomial approximations to Delta T, 1620-2000 AD //! Source: Polynomial approximations to Delta T, 1620-2000 AD
//! Meeus, J.; Simons, L. //! Meeus, J.; Simons, L.
//! Journal of the British Astronomical Association, vol.110, no.6, 323 //! Journal of the British Astronomical Association, vol.110, no.6, 323
//! 2000JBAA..110..323M [http://adsabs.harvard.edu/abs/2000JBAA..110 ..323M] //! 2000JBAA..110..323M [http://adsabs.harvard.edu/abs/2000JBAA..110 ..323M]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds or 0 if year not in 1620..2000 //! @return Delta-T in seconds or 0 if year not in 1620..2000
double getDeltaTByMeeusSimons(const double jDay); double getDeltaTByMeeusSimons(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Montenbruck & Pfleger (2000) for DeltaT computation, //! Implementation of algorithm by Montenbruck & Pfleger (2000) for DeltaT computation,
//! a data fit through the table of values found in Meeus, Astronomi cal algorithms (1991). //! a data fit through the table of values found in Meeus, Astronomi cal algorithms (1991).
//! Book "Astronomy on the Personal Computer" by O. Montenbruck & T. Pfleger (4th ed., 2000) //! Book "Astronomy on the Personal Computer" by O. Montenbruck & T. Pfleger (4th ed., 2000)
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds or 0 if not 1825<=year<2005 //! @return Delta-T in seconds or 0 if not 1825<=year<2005
double getDeltaTByMontenbruckPfleger(const double jDay); double getDeltaTByMontenbruckPfleger(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Reingold & Dershowitz (1997, 2001 , 2002, 2007) for DeltaT computation. //! Implementation of algorithm by Reingold & Dershowitz (1997, 2001 , 2002, 2007) for DeltaT computation.
//! This is again mostly a data fit based on the table in Meeus, Ast ronomical Algorithms (1991). //! This is again mostly a data fit based on the table in Meeus, Ast ronomical Algorithms (1991).
//! This is the version given in the 3rd edition (2007) which added the fit for 1700..1799 omitted from previous editions. //! This is the version given in the 3rd edition (2007) which added the fit for 1700..1799 omitted from previous editions.
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByReingoldDershowitz(const double jDay); double getDeltaTByReingoldDershowitz(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Banjevic (2006) for DeltaT comput ation. //! Implementation of algorithm by Banjevic (2006) for DeltaT comput ation.
//! Source: Ancient eclipses and dating the fall of Babylon //! Source: Ancient eclipses and dating the fall of Babylon
//! Banjevic, B. //! Banjevic, B.
//! Publications of the Astronomical Observatory of Belgrade, Vol. 8 0, p. 251-257 (2006) //! Publications of the Astronomical Observatory of Belgrade, Vol. 8 0, p. 251-257 (2006)
//! 2006POBeo..80..251B [http://adsabs.harvard.edu/abs/2006POBeo..80 ..251B] //! 2006POBeo..80..251B [http://adsabs.harvard.edu/abs/2006POBeo..80 ..251B]
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByBanjevic(const double jDay); double getDeltaTByBanjevic(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of algorithm by Islam, Sadiq & Qureshi (2008 + re visited 2013) for DeltaT computation. //! Implementation of algorithm by Islam, Sadiq & Qureshi (2008 + re visited 2013) for DeltaT computation.
//! Source: Error Minimization of Polynomial Approximation of DeltaT //! Source: Error Minimization of Polynomial Approximation of DeltaT
//! Islam, S. & Sadiq, M. & Qureshi, M. S. //! Islam, S. & Sadiq, M. & Qureshi, M. S.
//! Journal of Astrophysics & Astronomy, Vol. 29, p. 363–366 (2008) //! Journal of Astrophysics & Astronomy, Vol. 29, p. 363–366 (2008)
//! http://www.ias.ac.in/jaa/dec2008/JAA610.pdf //! http://www.ias.ac.in/jaa/dec2008/JAA610.pdf
//! Note: These polynomials are based on the uncorrected deltaT tabl e from the Astronomical Almanac, thus //! Note: These polynomials are based on the uncorrected deltaT tabl e from the Astronomical Almanac, thus
//! ndot = -26.0 arcsec/cy^2. Meeus & Simons (2000) corrected the de ltaT table for years before 1955.5 using //! ndot = -26.0 arcsec/cy^2. Meeus & Simons (2000) corrected the de ltaT table for years before 1955.5 using
//! ndot = -25.7376 arcsec/cy^2. Therefore the accuracies stated by Meeus & Simons are correct and cannot be //! ndot = -25.7376 arcsec/cy^2. Therefore the accuracies stated by Meeus & Simons are correct and cannot be
//! compared with accuracies from Islam & Sadiq & Qureshi. //! compared with accuracies from Islam & Sadiq & Qureshi.
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByIslamSadiqQureshi(const double jDay); double getDeltaTByIslamSadiqQureshi(const double jDay);
//! Get Delta-T estimation for a given date. //! Get Delta-T estimation for a given date.
//! Implementation of polinomial approximation of time period 1620-2 013 for DeltaT by M. Khalid, Mariam Sultana and Faheem Zaidi (2014). //! Implementation of polinomial approximation of time period 1620-2 013 for DeltaT by M. Khalid, Mariam Sultana and Faheem Zaidi (2014).
//! Source: Delta T: Polynomial Approximation of Time Period 1620-20 13 //! Source: Delta T: Polynomial Approximation of Time Period 1620-20 13
//! Journal of Astrophysics, Vol. 2014, Article ID 480964 //! Journal of Astrophysics, Vol. 2014, Article ID 480964
//! http://dx.doi.org/10.1155/2014/480964 //! http://dx.doi.org/10.1155/2014/480964
//! @param jDay the date and time expressed as a julian day //! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds //! @return Delta-T in seconds
double getDeltaTByKhalidSultanaZaidi(const double jDay); double getDeltaTByKhalidSultanaZaidi(const double jDay);
//! Get Delta-T estimation for a given date.
//! Implementation of a spline approximation for time period -720-20
16.0 for DeltaT by Stephenson, Morrison and Hohenkerk (2016).
//! Source: Measurement of the Earth’s rotation: 720 BC to AD 2015
//! Proc. R. Soc. A 472: 20160404.
//! http://dx.doi.org/10.1098/rspa.2016.0404
//! @param jDay the date and time expressed as a Julian day
//! @return Delta-T in seconds. For times outside the limits, return
result from the fitting parabola.
double getDeltaTByStephensonMorrisonHohenkerk2016(const double jDay)
;
//! Get Secular Acceleration estimation for a given year. //! Get Secular Acceleration estimation for a given year.
//! Method described is here: http://eclipse.gsfc.nasa.gov/SEcat5/se cular.html //! Method described is here: http://eclipse.gsfc.nasa.gov/SEcat5/se cular.html
//! For adapting from -26 to -25.858, use -0.91072 * (-25.858 + 26.0 ) = -0.12932224 //! For adapting from -26 to -25.858, use -0.91072 * (-25.858 + 26.0 ) = -0.12932224
//! For adapting from -26 to -23.895, use -0.91072 * (-23.895 + 26.0 ) = -1.9170656 //! For adapting from -26 to -23.895, use -0.91072 * (-23.895 + 26.0 ) = -1.9170656
//! @param jDay the JD //! @param jDay the JD
//! @param ndot value n-dot which use in the algorithm //! @param ndot value of n-dot (secular acceleration of the Moon) wh
//! @param useDE43x Define if function should adapt calculation of t ich should be used in the lunar ephemeris instead of the default values.
he secular acceleration of the Moon to the DE43x ephemeris //! @param useDE43x true if function should adapt calculation of the
secular acceleration of the Moon to the DE43x ephemeris
//! @return SecularAcceleration in seconds //! @return SecularAcceleration in seconds
//! @note n-dot for secular acceleration of the Moon in ELP2000-82B is -23.8946 "/cy/cy and for DE43x is -25.8 "/cy/cy //! @note n-dot for secular acceleration of the Moon in ELP2000-82B is -23.8946 "/cy/cy and for DE43x is -25.8 "/cy/cy
double getMoonSecularAcceleration(const double jDay, const double nd ot, const bool useDE43x); double getMoonSecularAcceleration(const double jDay, const double nd ot, const bool useDE43x);
//! Get the standard error (sigma) for the value of DeltaT //! Get the standard error (sigma) for the value of DeltaT
//! @param jDay the JD //! @param jDay the JD
//! @return sigma in seconds //! @return sigma in seconds
double getDeltaTStandardError(const double jDay); double getDeltaTStandardError(const double jDay);
//! Get value of the Moon fluctuation //! Get value of the Moon fluctuation
 End of changes. 35 change blocks. 
35 lines changed or deleted 66 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/