SUBROUTINE DAZE (NYR,NYRD, MO,NDA,NWD,JULD) C THIS SUBROUTINE ACCEPTS THE YEAR NYR (A.D.) AND THE DAY OF THE YEAR C NYRD AND CALCULATES THE MONTH MO (1 THROUGH 12 AS USUAL), THE DAY C OF THE MONTH NDA (1 THROUGH 31), THE DAY OF THE WEEK NWD (SUNDAY IS C 1, MONDAY IS 2, ETC.), AND THE JULIAN DAY NUMBER JULD THAT BEGINS C AT NOON U.T. JULIAN DAY NUMBERS COUNT FROM NOON ON JANUARY 1, 4713 C B.C., AT WHICH TIME THE WORLD BEGAN. THIS PROGRAM USES THE NEW C STYLE (GREGORIAN) CALENDAR. TEST CASE: NYR = 1978, NYRD = 359, C GET MO = 12 (DECEMBER), NDA = 25 (CHRISTMAS), NWD = 2 (MONDAY), AND C JULD = 2443868. L2 = NYR/4-(NYR+7)/4-NYR/100+(NYR+99)/100+NYR/400-(NYR+399)/400 C L2 IS -1 IF LEAP YEAR, -2 IF NOT. LEAP YEARS ARE EVENLY DIVISIBLE C BY 4, EXCEPT THAT CENTENNIAL YEARS ARE NOT LEAP YEARS, EXCEPT THAT C CENTENNIAL YEARS EVENLY DIVISIBLE BY 400 ARE LEAP YEARS. MO = (12*NYRD+356+(NYRD+322)/367*(6-12*L2))/367 NDA = NYRD-(367*MO-362)/12-(MO+9)/12*L2 C (BASED ON NORM BRENNER'S FORMULA IN ARPNC, P.244.) NYR1 = NYR-1 JULD = NYRD+1721425+365*NYR1+NYR1/4-NYR1/100+NYR1/400 C (COPIED FROM JULDA IN TN1969-42, P.8.) NWD = MOD(JULD+1,7)+1 C NOTE THAT JULD AND NWD REQUIRE AT LEAST 23-BIT INTEGERS (FOR THE C CURRENT EPOCH); 16-BIT INTEGERS WON'T DO. RETURN C JOHN A. BALL C HARVARD COLLEGE OBSERVATORY C HARVARD, MASSACHUSETTS 01451 C REVISED: 1978 DECEMBER 26 END