program fixdat real lref,cref,xref,fixc(4),fixx(4) real dum1,dum2,fix,raw(42) integer ntrace,nfreq,t,p,f,k character date*4,filename*12 print *, 'Enter four digit date tag:' read(*,'(a4)') date open(unit=20,file='l'//date//'.ref') open(unit=21,file='c'//date//'.ref') open(unit=22,file='x'//date//'.ref') do 10 p=1,4 read(20,*) lref read(21,*) cref read(22,*) xref fixc(p)=cref/lref fixx(p)=xref/lref 10 continue close(20) close(21) close(22) 20 print *, 'Enter file to be corrected:' read(*,'(a12)') filename if (filename .eq. 'stopstopstop') then goto 30 else continue endif open(unit=23,file=filename) open(unit=24,file='../'//date//'f.dir/'//filename) read(23,25) ntrace,nfreq,dum1,dum2 write(24,25) ntrace,nfreq,dum1,dum2 25 format(1x,i2,12x,i1,13x,f5.1,9x,f5.1) do 26 t=1,ntrace do 27 p=1,4 if (nfreq .eq. 2) then fix=fixc(p) else if (nfreq .eq. 3) then fix=fixx(p) else goto 30 endif read(23,*) (raw(k),k=1,42) do 28 f=1,42 raw(f)=raw(f)*fix 28 continue write(24,*) (raw(k),k=1,42) 27 continue 26 continue close(23) close(24) goto 20 30 stop end