source: trunk/FACT++/pal/palEcmat.c

Last change on this file was 18347, checked in by tbretz, 9 years ago
File size: 2.2 KB
Line 
1/*
2*+
3* Name:
4* palEcmat
5
6* Purpose:
7* Form the equatorial to ecliptic rotation matrix - IAU 2006
8* precession model.
9
10* Language:
11* Starlink ANSI C
12
13* Type of Module:
14* Library routine
15
16* Invocation:
17* palEcmat( double date, double rmat[3][3] )
18
19* Arguments:
20* date = double (Given)
21* TT as Modified Julian Date (JD-2400000.5). The difference
22* between TT and TDB is of the order of a millisecond or two
23* (i.e. about 0.02 arc-seconds).
24* rmat = double[3][3] (Returned)
25* Rotation matrix
26
27* Description:
28* The equatorial to ecliptic rotation matrix is found and returned.
29* The matrix is in the sense V(ecl) = RMAT * V(equ); the
30* equator, equinox and ecliptic are mean of date.
31
32* Authors:
33* PTW: Pat Wallace (STFC)
34* DSB: David Berry (JAC, Hawaii)
35* {enter_new_authors_here}
36
37* History:
38* 2012-02-10 (DSB):
39* Initial version with documentation taken from Fortran SLA
40* Adapted with permission from the Fortran SLALIB library.
41* {enter_further_changes_here}
42
43* Copyright:
44* Copyright (C) 1996 Rutherford Appleton Laboratory
45* Copyright (C) 2012 Science and Technology Facilities Council.
46* All Rights Reserved.
47
48* Licence:
49* This program is free software: you can redistribute it and/or
50* modify it under the terms of the GNU Lesser General Public
51* License as published by the Free Software Foundation, either
52* version 3 of the License, or (at your option) any later
53* version.
54*
55* This program is distributed in the hope that it will be useful,
56* but WITHOUT ANY WARRANTY; without even the implied warranty of
57* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
58* GNU Lesser General Public License for more details.
59*
60* You should have received a copy of the GNU Lesser General
61* License along with this program. If not, see
62* <http://www.gnu.org/licenses/>.
63
64* Bugs:
65* {note_any_bugs_here}
66*-
67*/
68
69#include "pal.h"
70#include "palmac.h"
71#include "pal1sofa.h"
72
73void palEcmat( double date, double rmat[3][3] ) {
74
75/* Mean obliquity (the angle between the ecliptic and mean equator of
76 date). */
77 double eps0 = eraObl06( PAL__MJD0, date );
78
79/* Matrix */
80 palDeuler( "X", eps0, 0.0, 0.0, rmat );
81
82}
Note: See TracBrowser for help on using the repository browser.