aboutsummaryrefslogtreecommitdiff
path: root/src/slalib/caf2r.f
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-03-04 21:21:30 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-03-04 21:21:30 -0500
commitd54fe7c1f704a63824c5bfa0ece65245572e9b27 (patch)
treeafc52015ffc2c74e0266653eecef1c8ef8ba5d91 /src/slalib/caf2r.f
downloadcalfuse-d54fe7c1f704a63824c5bfa0ece65245572e9b27.tar.gz
Initial commit
Diffstat (limited to 'src/slalib/caf2r.f')
-rw-r--r--src/slalib/caf2r.f57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/slalib/caf2r.f b/src/slalib/caf2r.f
new file mode 100644
index 0000000..5e5b616
--- /dev/null
+++ b/src/slalib/caf2r.f
@@ -0,0 +1,57 @@
+ SUBROUTINE sla_CAF2R (IDEG, IAMIN, ASEC, RAD, J)
+*+
+* - - - - - -
+* C A F 2 R
+* - - - - - -
+*
+* Convert degrees, arcminutes, arcseconds to radians
+* (single precision)
+*
+* Given:
+* IDEG int degrees
+* IAMIN int arcminutes
+* ASEC real arcseconds
+*
+* Returned:
+* RAD real angle in radians
+* J int status: 0 = OK
+* 1 = IDEG outside range 0-359
+* 2 = IAMIN outside range 0-59
+* 3 = ASEC outside range 0-59.999...
+*
+* Notes:
+*
+* 1) The result is computed even if any of the range checks
+* fail.
+*
+* 2) The sign must be dealt with outside this routine.
+*
+* P.T.Wallace Starlink 23 August 1996
+*
+* Copyright (C) 1996 Rutherford Appleton Laboratory
+*-
+
+ IMPLICIT NONE
+
+ INTEGER IDEG,IAMIN
+ REAL ASEC,RAD
+ INTEGER J
+
+* Arc seconds to radians
+ REAL AS2R
+ PARAMETER (AS2R=0.484813681109535994E-5)
+
+
+
+* Preset status
+ J=0
+
+* Validate arcsec, arcmin, deg
+ IF (ASEC.LT.0.0.OR.ASEC.GE.60.0) J=3
+ IF (IAMIN.LT.0.OR.IAMIN.GT.59) J=2
+ IF (IDEG.LT.0.OR.IDEG.GT.359) J=1
+
+* Compute angle
+ RAD=AS2R*(60.0*(60.0*REAL(IDEG)+REAL(IAMIN))+ASEC)
+
+ END