PROGRAM xcaldat ! driver for routine caldat USE nrtype USE nr IMPLICIT NONE INTEGER(I4B) :: i,im,imm,id,idd,iy,iyy,iycopy,j,n CHARACTER(10), DIMENSION(12) :: month = (/ & 'January ','February ','March ','April ',& 'May ','June ','July ','August ',& 'September','October ','November ','December ' /) ! check whether CALDAT properly undoes the operation of JULDAY open(7,file='DATES.DAT',status='OLD') read(7,*) read(7,*) n write(*,'(/1x,a,t40,a)') 'Original Date:','Reconstructed Date:' write(*,'(1x,a,t12,a,t17,a,t25,a,t40,a,t50,a,t55,a/)')& 'Month','Day','Year','Julian Day','Month','Day','Year' do i=1,n read(7,'(i2,i3,i5)') im,id,iy iycopy=iy j=julday(im,id,iycopy) call caldat(j,imm,idd,iyy) write(*,'(1x,a,i3,i6,4x,i9,6x,a,i3,i6)') month(im),id,& iy,j,month(imm),idd,iyy end do END PROGRAM xcaldat