copyright (C) 2001 MSC-RPN COMM %%%MC2%%%subroutine pdfjdate2 (jdate,yyyy,mo,dd,hh,mm,ss) 3 implicit none real*8 jdate integer yyyy,mo,dd,hh,mm,ss * * calculate julian calendar day * see cacm letter to editor by fliegel and flandern 1968 * page 657 * integer jd,jyy,jmo,jdd real*8 one,sec_in_day parameter (one=1.0d0, sec_in_day=one/86400.0d0) jd(jyy,jmo,jdd)=jdd-32075+1461*(jyy+4800+(jmo-14)/12)/4 x + 367*(jmo-2-(jmo-14)/12*12)/12 - 3 x *((jyy+4900+(jmo-14)/12)/100)/4 jdate = jd(yyyy,mo,dd) - 2433646 ! good from 1951 onwards if (jdate.lt.0) then print*, 'Negative Julian day in pdfjdate2 --- ABORT ---' stop endif jdate = jdate + dble(hh*3600+mm*60+ss)*sec_in_day return end