/WPS/ungrib/src/ngl/w3/iw3jdn.f
FORTRAN Legacy | 62 lines | 7 code | 0 blank | 55 comment | 0 complexity | 767ca760ef3806229ec25975d6cab342 MD5 | raw file
Possible License(s): AGPL-1.0
- FUNCTION IW3JDN(IYEAR,MONTH,IDAY)
- C$$$ SUBPROGRAM DOCUMENTATION BLOCK
- C
- C SUBPROGRAM: IW3JDN COMPUTE JULIAN DAY NUMBER
- C AUTHOR: JONES,R.E. ORG: W342 DATE: 87-03-29
- C
- C ABSTRACT: COMPUTES JULIAN DAY NUMBER FROM YEAR (4 DIGITS), MONTH,
- C AND DAY. IW3JDN IS VALID FOR YEARS 1583 A.D. TO 3300 A.D.
- C JULIAN DAY NUMBER CAN BE USED TO COMPUTE DAY OF WEEK, DAY OF
- C YEAR, RECORD NUMBERS IN AN ARCHIVE, REPLACE DAY OF CENTURY,
- C FIND THE NUMBER OF DAYS BETWEEN TWO DATES.
- C
- C PROGRAM HISTORY LOG:
- C 87-03-29 R.E.JONES
- C 89-10-25 R.E.JONES CONVERT TO CRAY CFT77 FORTRAN
- C
- C USAGE: II = IW3JDN(IYEAR,MONTH,IDAY)
- C
- C INPUT VARIABLES:
- C NAMES INTERFACE DESCRIPTION OF VARIABLES AND TYPES
- C ------ --------- -----------------------------------------------
- C IYEAR ARG LIST INTEGER YEAR ( 4 DIGITS)
- C MONTH ARG LIST INTEGER MONTH OF YEAR (1 - 12)
- C IDAY ARG LIST INTEGER DAY OF MONTH (1 - 31)
- C
- C OUTPUT VARIABLES:
- C NAMES INTERFACE DESCRIPTION OF VARIABLES AND TYPES
- C ------ --------- -----------------------------------------------
- C IW3JDN FUNTION INTEGER JULIAN DAY NUMBER
- C JAN. 1,1960 IS JULIAN DAY NUMBER 2436935
- C JAN. 1,1987 IS JULIAN DAY NUMBER 2446797
- C
- C REMARKS: JULIAN PERIOD WAS DEVISED BY JOSEPH SCALIGER IN 1582.
- C JULIAN DAY NUMBER #1 STARTED ON JAN. 1,4713 B.C. THREE MAJOR
- C CHRONOLOGICAL CYCLES BEGIN ON THE SAME DAY. A 28-YEAR SOLAR
- C CYCLE, A 19-YEAR LUNER CYCLE, A 15-YEAR INDICTION CYCLE, USED
- C IN ANCIENT ROME TO REGULATE TAXES. IT WILL TAKE 7980 YEARS
- C TO COMPLETE THE PERIOD, THE PRODUCT OF 28, 19, AND 15.
- C SCALIGER NAMED THE PERIOD, DATE, AND NUMBER AFTER HIS FATHER
- C JULIUS (NOT AFTER THE JULIAN CALENDAR). THIS SEEMS TO HAVE
- C CAUSED A LOT OF CONFUSION IN TEXT BOOKS. SCALIGER NAME IS
- C SPELLED THREE DIFFERENT WAYS. JULIAN DATE AND JULIAN DAY
- C NUMBER ARE INTERCHANGED. A JULIAN DATE IS USED BY ASTRONOMERS
- C TO COMPUTE ACCURATE TIME, IT HAS A FRACTION. WHEN TRUNCATED TO
- C AN INTEGER IT IS CALLED AN JULIAN DAY NUMBER. THIS FUNCTION
- C WAS IN A LETTER TO THE EDITOR OF THE COMMUNICATIONS OF THE ACM
- C VOLUME 11 / NUMBER 10 / OCTOBER 1968. THE JULIAN DAY NUMBER
- C CAN BE CONVERTED TO A YEAR, MONTH, DAY, DAY OF WEEK, DAY OF
- C YEAR BY CALLING SUBROUTINE W3FS26.
- C
- C ATTRIBUTES:
- C LANGUAGE: CRAY CFT77 FORTRAN
- C MACHINE: CRAY Y-MP8/864, CRAY Y-MP EL2/256
- C
- C$$$
- C
- IW3JDN = IDAY - 32075
- & + 1461 * (IYEAR + 4800 + (MONTH - 14) / 12) / 4
- & + 367 * (MONTH - 2 - (MONTH -14) / 12 * 12) / 12
- & - 3 * ((IYEAR + 4900 + (MONTH - 14) / 12) / 100) / 4
- RETURN
- END