c c assign missing codes to each observation c parameter (no=25) character*25 erv(30),ver character*12 anim,farm character*6 judgID integer mcod(30),tr(no),kpar,jdate,bdate,cdate, x agej,agec,kcod mcod=0 erv=' ' open(10,file='misscods.d',form='formatted',status='old') open(11,file='missings.d',form='formatted',status='old') open(12,file='TYP02S.d',form='formatted',status='old') open(15,file='TYP04.d',form='formatted',status='unknown') c c read in missing codes c nmc=0 10 read(10,1010,end=77)kcod,ver 1010 format(1x,i8,1x,a25) nmc=nmc+1 mcod(nmc)=kcod erv(nmc)=ver print *,nmc,kcod,ver go to 10 77 close(10) c nmcp=nmc+1 nob=0 11 read(11,1101,end=88)ver 1101 format(1x,a25) c c find ver in erv, get missing code c mcod(nmcp)=29 erv(nmcp)=ver k=0 15 k=k+1 if(ver.ne.erv(k))go to 15 kcod=mcod(k) c c read in data, add missing code to data c read(12,1210,end=88)anim,farm,jdate,bdate,cdate,agej, x agec,judgID,kpar,tr 1210 format(1x,a12,1x,a12,3i9,2i7,a6,i3,25i3) write(15,1515)anim,farm,jdate,bdate,cdate,agej,agec, x judgID,kpar,kcod,tr 1515 format(1x,a12,1x,a12,3i9,2i7,a6,2i3,25i3) nob=nob+1 go to 11 88 close(11) close(12) close(15) print *,nob stop end