1 /* 2 * - - - - - - - - - - 3 * g a l _ p o m 0 0 4 * - - - - - - - - - - 5 * 6 * This routine is part of the General Astrodynamics Library 7 * 8 * Description: 9 * 10 * Form the matrix of polar motion for a given date, IAU 2000. 11 * 12 * This routine is an independent translation of a FORTRAN routine 13 * that is part of IAU's SOFA software collection. 14 * 15 * Status: 16 * 17 * support routine. 18 * 19 * Given: 20 * 21 * xp,yp d coordinates of the pole (radians, Note 1) 22 * sp d the TIO locator s' (radians, Note 2) 23 * 24 * Returned: 25 * 26 * rpom d[3][3] polar-motion matrix (Note 3) 27 * 28 * Notes: 29 * 30 * 1) xp and yp are the "coordinates of the pole", in radians, which 31 * position the Celestial Intermediate Pole in the International 32 * Terrestrial Reference System (see IERS Conventions 2003). In a 33 * geocentric right-handed triad u,v,w, where the w-axis points at 34 * the north geographic pole, the v-axis points towards the origin 35 * of longitudes and the u axis completes the system, xp = +u and 36 * yp = -v. 37 * 38 * 2) sp is the TIO locator s', in radians, which positions the 39 * Terrestrial Intermediate Origin on the equator. It is obtained 40 * from polar motion observations by numerical integration, and so is 41 * in essence unpredictable. However, it is dominated by a secular 42 * drift of about 47 microarcseconds per century, and so can be taken 43 * into account by using s' = -47*t, where t is centuries since 44 * J2000. The routine gal_sp00 implements this approximation. 45 * 46 * 3) The matrix operates in the sense V(TRS) = rpom * V(CIP), meaning 47 * that it is the final rotation when computing the pointing 48 * direction to a celestial source. 49 * 50 * Called: 51 * 52 * gal_ir initialize r-matrix to identity 53 * gal_rz rotate around Z-axis 54 * gal_ry rotate around Y-axis 55 * gal_rx rotate around X-axis 56 * 57 * References: 58 * 59 * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), 60 * IERS Technical Note No. 32, BKG (2004) 61 * 62 * This revision: 63 * 64 * 2006 October 10 ( c version 2008 February 4 ) 65 * 66 * 67 * Copyright (C) 2008 Paul C. L. Willmott. See notes at end. 68 * 69 *----------------------------------------------------------------------- 70 */ 71 72 #ifndef _GAL_POM00_H_ 73 #define _GAL_POM00_H_ 1 74 75 #undef __BEGIN_DECLS 76 #undef __END_DECLS 77 #ifdef __cplusplus 78 #define __BEGIN_DECLS extern "C" { 79 #define __END_DECLS } 80 #else 81 #define __BEGIN_DECLS /* empty */ 82 #define __END_DECLS /* empty */ 83 #endif 84 85 __BEGIN_DECLS 86 87 void 88 gal_pom00 89 ( 90 double xp, 91 double yp, 92 double sp, 93 double rpom[3][3] 94 ) ; 95 96 __END_DECLS 97 98 #endif /* !_GAL_POM00_H_ */ 99 100 /* 101 * gal - General Astrodynamics Library 102 * Copyright (C) 2008 Paul C. L. Willmott 103 * 104 * This program is free software; you can redistribute it and/or modify 105 * it under the terms of the GNU General Public License as published by 106 * the Free Software Foundation; either version 2 of the License, or 107 * (at your option) any later version. 108 * 109 * This program is distributed in the hope that it will be useful, 110 * but WITHOUT ANY WARRANTY; without even the implied warranty of 111 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 112 * GNU General Public License for more details. 113 * 114 * You should have received a copy of the GNU General Public License along 115 * with this program; if not, write to the Free Software Foundation, Inc., 116 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 117 * 118 * Contact: 119 * 120 * Paul Willmott 121 * vp9mu@amsat.org 122 */ 123