diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-04 21:21:30 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-04 21:21:30 -0500 |
commit | d54fe7c1f704a63824c5bfa0ece65245572e9b27 (patch) | |
tree | afc52015ffc2c74e0266653eecef1c8ef8ba5d91 /src/slalib/eqgal.f | |
download | calfuse-d54fe7c1f704a63824c5bfa0ece65245572e9b27.tar.gz |
Initial commit
Diffstat (limited to 'src/slalib/eqgal.f')
-rw-r--r-- | src/slalib/eqgal.f | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/slalib/eqgal.f b/src/slalib/eqgal.f new file mode 100644 index 0000000..bb59cc6 --- /dev/null +++ b/src/slalib/eqgal.f @@ -0,0 +1,79 @@ + SUBROUTINE sla_EQGAL (DR, DD, DL, DB) +*+ +* - - - - - - +* E Q G A L +* - - - - - - +* +* Transformation from J2000.0 equatorial coordinates to +* IAU 1958 galactic coordinates (double precision) +* +* Given: +* DR,DD dp J2000.0 RA,Dec +* +* Returned: +* DL,DB dp galactic longitude and latitude L2,B2 +* +* (all arguments are radians) +* +* Called: +* sla_DCS2C, sla_DMXV, sla_DCC2S, sla_DRANRM, sla_DRANGE +* +* Note: +* The equatorial coordinates are J2000.0. Use the routine +* sla_EG50 if conversion from B1950.0 'FK4' coordinates is +* required. +* +* Reference: +* Blaauw et al, Mon.Not.R.Astron.Soc.,121,123 (1960) +* +* P.T.Wallace Starlink 21 September 1998 +* +* Copyright (C) 1998 Rutherford Appleton Laboratory +*- + + IMPLICIT NONE + + DOUBLE PRECISION DR,DD,DL,DB + + DOUBLE PRECISION sla_DRANRM,sla_DRANGE + + DOUBLE PRECISION V1(3),V2(3) + +* +* L2,B2 system of galactic coordinates +* +* P = 192.25 RA of galactic north pole (mean B1950.0) +* Q = 62.6 inclination of galactic to mean B1950.0 equator +* R = 33 longitude of ascending node +* +* P,Q,R are degrees +* +* Equatorial to galactic rotation matrix (J2000.0), obtained by +* applying the standard FK4 to FK5 transformation, for zero proper +* motion in FK5, to the columns of the B1950 equatorial to +* galactic rotation matrix: +* + DOUBLE PRECISION RMAT(3,3) + DATA RMAT(1,1),RMAT(1,2),RMAT(1,3), + : RMAT(2,1),RMAT(2,2),RMAT(2,3), + : RMAT(3,1),RMAT(3,2),RMAT(3,3)/ + : -0.054875539726D0,-0.873437108010D0,-0.483834985808D0, + : +0.494109453312D0,-0.444829589425D0,+0.746982251810D0, + : -0.867666135858D0,-0.198076386122D0,+0.455983795705D0/ + + + +* Spherical to Cartesian + CALL sla_DCS2C(DR,DD,V1) + +* Equatorial to galactic + CALL sla_DMXV(RMAT,V1,V2) + +* Cartesian to spherical + CALL sla_DCC2S(V2,DL,DB) + +* Express in conventional ranges + DL=sla_DRANRM(DL) + DB=sla_DRANGE(DB) + + END |