00001 /* 00002 * Copyright (C) 2007 Bernd Machenschalk, Jolien Creighton 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with with program; see the file COPYING. If not, write to the 00016 * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 00017 * MA 02111-1307 USA 00018 */ 00019 00020 #ifndef XLALLEAPSECONDS_H 00021 #define XLALLEAPSECONDS_H 00022 00023 #include <lal/LALAtomicDatatypes.h> 00024 00025 #include <lal/LALRCSID.h> 00026 NRCSID (XLALLEAPSECONDSH,"$Id: XLALLeapSeconds.h,v 1.6 2008/07/14 19:50:07 ram Exp $"); 00027 00028 /* 00029 * Leap seconds table 00030 * 00031 * JD and GPS time of leap seconds and the value of TAI-UTC. 00032 * 00033 * reference: http://maia.usno.navy.mil/ 00034 * http://maia.usno.navy.mil/ser7/tai-utc.dat 00035 * 00036 * notes: the table below must be updated whenever a leap second is added 00037 * Use the program XLALAddLeapSecond to construct a new table. 00038 */ 00039 00040 static const struct leaps_table { REAL8 jd; INT4 gpssec; int taiutc; } leaps[] = 00041 { 00042 {2444239.5, -43200, 19}, /* 1980-Jan-01 */ 00043 {2444786.5, 46828800, 20}, /* 1981-Jul-01 */ 00044 {2445151.5, 78364801, 21}, /* 1982-Jul-01 */ 00045 {2445516.5, 109900802, 22}, /* 1983-Jul-01 */ 00046 {2446247.5, 173059203, 23}, /* 1985-Jul-01 */ 00047 #if 0 00048 /* NOTE: IF THIS WERE A NEGATIVE LEAP SECOND, INSERT AS FOLLOWS */ 00049 {2447161.5, 252028803, 22}, /* 1988-Jan-01 EXAMPLE ONLY! */ 00050 #endif 00051 {2447161.5, 252028804, 24}, /* 1988-Jan-01 */ 00052 {2447892.5, 315187205, 25}, /* 1990-Jan-01 */ 00053 {2448257.5, 346723206, 26}, /* 1991-Jan-01 */ 00054 {2448804.5, 393984007, 27}, /* 1992-Jul-01 */ 00055 {2449169.5, 425520008, 28}, /* 1993-Jul-01 */ 00056 {2449534.5, 457056009, 29}, /* 1994-Jul-01 */ 00057 {2450083.5, 504489610, 30}, /* 1996-Jan-01 */ 00058 {2450630.5, 551750411, 31}, /* 1997-Jul-01 */ 00059 {2451179.5, 599184012, 32}, /* 1999-Jan-01 */ 00060 {2453736.5, 820108813, 33}, /* 2006-Jan-01 */ 00061 {2454832.5, 914803214, 34} /* 2009-Jan-01 */ 00062 }; 00063 static const int numleaps = sizeof( leaps ) / sizeof( *leaps ); 00064 00065 #endif /* XLALLEAPSECONDS_H */
1.5.2