Loading [MathJax]/extensions/TeX/AMSsymbols.js
LAL 7.7.0.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
XLALLeapSeconds.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Bernd Machenschalk, Jolien Creighton
3*
4* This program is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License as published by
6* the Free Software Foundation; either version 2 of the License, or
7* (at your option) any later version.
8*
9* This program is distributed in the hope that it will be useful,
10* but WITHOUT ANY WARRANTY; without even the implied warranty of
11* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12* GNU General Public License for more details.
13*
14* You should have received a copy of the GNU General Public License
15* along with with program; see the file COPYING. If not, write to the
16* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17* MA 02110-1301 USA
18*/
19
20#ifndef XLALLEAPSECONDS_H
21#define XLALLEAPSECONDS_H
22
23#include <lal/LALAtomicDatatypes.h>
24
25/*
26 * Leap seconds table
27 *
28 * JD and GPS time of leap seconds and the value of TAI-UTC.
29 *
30 * reference: http://maia.usno.navy.mil/
31 * http://maia.usno.navy.mil/ser7/tai-utc.dat
32 *
33 * notes: the table below must be updated whenever a leap second is added
34 * Use the program XLALAddLeapSecond to construct a new table.
35 */
36
37static const struct leaps_table { REAL8 jd; INT4 gpssec; int taiutc; } leaps[] =
38{
39 {2444239.5, -43200, 19}, /* 1980-Jan-01 */
40 {2444786.5, 46828800, 20}, /* 1981-Jul-01 */
41 {2445151.5, 78364801, 21}, /* 1982-Jul-01 */
42 {2445516.5, 109900802, 22}, /* 1983-Jul-01 */
43 {2446247.5, 173059203, 23}, /* 1985-Jul-01 */
44#if 0
45 /* NOTE: IF THIS WERE A NEGATIVE LEAP SECOND, INSERT AS FOLLOWS */
46 {2447161.5, 252028803, 22}, /* 1988-Jan-01 EXAMPLE ONLY! */
47#endif
48 {2447161.5, 252028804, 24}, /* 1988-Jan-01 */
49 {2447892.5, 315187205, 25}, /* 1990-Jan-01 */
50 {2448257.5, 346723206, 26}, /* 1991-Jan-01 */
51 {2448804.5, 393984007, 27}, /* 1992-Jul-01 */
52 {2449169.5, 425520008, 28}, /* 1993-Jul-01 */
53 {2449534.5, 457056009, 29}, /* 1994-Jul-01 */
54 {2450083.5, 504489610, 30}, /* 1996-Jan-01 */
55 {2450630.5, 551750411, 31}, /* 1997-Jul-01 */
56 {2451179.5, 599184012, 32}, /* 1999-Jan-01 */
57 {2453736.5, 820108813, 33}, /* 2006-Jan-01 */
58 {2454832.5, 914803214, 34}, /* 2009-Jan-01 */
59 {2456109.5, 1025136015, 35}, /* 2012-Jul-01 */
60 {2457204.5, 1119744016, 36}, /* 2015-Jul-01 */
61 {2457754.5, 1167264017, 37}, /* 2017-Jan-01 */
62};
63static const int numleaps = sizeof( leaps ) / sizeof( *leaps );
64
65#endif /* XLALLEAPSECONDS_H */
static const struct leaps_table leaps[]
static const int numleaps
double REAL8
Double precision real floating-point number (8 bytes).
int32_t INT4
Four-byte signed integer.