22 subroutine caldate(juldate,yyyymmdd,hhmiss)
53 integer :: yyyymmdd,yyyy,mm,dd,hhmiss,hh,mi,ss
54 integer :: julday,ja,jb,jc,jd,je,jalpha
56 integer,
parameter :: igreg=2299161
59 if(julday.ge.igreg)
then
60 jalpha=int(((julday-1867216)-0.25)/36524.25)
61 ja=julday+1+jalpha-int(0.25*jalpha)
66 jc=int(6680.+((jb-2439870)-122.1)/365.25)
67 jd=365*jc+int(0.25*jc)
68 je=int((jb-jd)/30.6001)
69 dd=jb-jd-int(30.6001*je)
71 if (mm.gt.12) mm=mm-12
73 if (mm.gt.2) yyyy=yyyy-1
74 if (yyyy.le.0) yyyy=yyyy-1
76 yyyymmdd=10000*yyyy+100*mm+dd
77 hh=int(24._dp*(
juldate-
real(julday,kind=dp)))
78 mi=int(1440._dp*(
juldate-
real(julday,kind=dp))-60._dp*
real(hh,kind=dp))
79 ss=nint(86400._dp*(
juldate-
real(julday,kind=dp))-3600._dp*
real(hh,kind=dp)- &
80 60._dp*
real(mi,kind=dp))
89 hhmiss=10000*hh+100*mi+ss
subroutine caldate(juldate, yyyymmdd, hhmiss)
real(kind=dp) function juldate(yyyymmdd, hhmiss)