aboutsummaryrefslogtreecommitdiff
path: root/src/slalib/caldj.f
diff options
context:
space:
mode:
Diffstat (limited to 'src/slalib/caldj.f')
-rw-r--r--src/slalib/caldj.f57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/slalib/caldj.f b/src/slalib/caldj.f
new file mode 100644
index 0000000..c2d9a6d
--- /dev/null
+++ b/src/slalib/caldj.f
@@ -0,0 +1,57 @@
+ SUBROUTINE sla_CALDJ (IY, IM, ID, DJM, J)
+*+
+* - - - - - -
+* C A L D J
+* - - - - - -
+*
+* Gregorian Calendar to Modified Julian Date
+*
+* (Includes century default feature: use sla_CLDJ for years
+* before 100AD.)
+*
+* Given:
+* IY,IM,ID int year, month, day in Gregorian calendar
+*
+* Returned:
+* DJM dp modified Julian Date (JD-2400000.5) for 0 hrs
+* J int status:
+* 0 = OK
+* 1 = bad year (MJD not computed)
+* 2 = bad month (MJD not computed)
+* 3 = bad day (MJD computed)
+*
+* Acceptable years are 00-49, interpreted as 2000-2049,
+* 50-99, " " 1950-1999,
+* 100 upwards, interpreted literally.
+*
+* Called: sla_CLDJ
+*
+* P.T.Wallace Starlink November 1985
+*
+* Copyright (C) 1995 Rutherford Appleton Laboratory
+*-
+
+ IMPLICIT NONE
+
+ INTEGER IY,IM,ID
+ DOUBLE PRECISION DJM
+ INTEGER J
+
+ INTEGER NY
+
+
+
+
+* Default century if appropriate
+ IF (IY.GE.0.AND.IY.LE.49) THEN
+ NY=IY+2000
+ ELSE IF (IY.GE.50.AND.IY.LE.99) THEN
+ NY=IY+1900
+ ELSE
+ NY=IY
+ END IF
+
+* Modified Julian Date
+ CALL sla_CLDJ(NY,IM,ID,DJM,J)
+
+ END