27 USE yomhook
,ONLY : lhook, dr_hook
28 USE parkind1
,ONLY : jprb
33 INTEGER,
INTENT(IN) :: pyear
34 INTEGER,
INTENT(IN) :: pmonth
35 INTEGER,
INTENT(IN) :: pday
36 INTEGER,
INTENT(OUT):: pdow
39 INTEGER :: day, yr, mn, n1, n2
40 REAL(KIND=JPRB) :: zhook_handle
41 IF (lhook) CALL dr_hook(
'DAY_OF_WEEK',0,zhook_handle)
52 n1 = (26 * (mn + 1)) / 10
54 day = pday + n1 + n2 - (yr / 100) + (yr / 400) - 1
55 pdow = mod(day, 7) + 1
57 IF (lhook) CALL dr_hook(
'DAY_OF_WEEK',1,zhook_handle)
subroutine day_of_week(DATE, MONTH, YEAR, DOW)