subroutine readinp2(lunit) * * Read ecloud.input * Read reals and integers on successive passes * Add reading lines with integer and real numbers * * 11 July 2011 * integer lunit,nrec,nvec * real rnum,rnum2,r2,r3,r4,r5,r6,r7,r8,r9 integer inum,inum2,i2,i3,i4,i5,i6,i7,i8,i9 character*20 a1,a2,a3,a4,a5 vector inpvec * do i=1,7 * print *,' Loop ',i * nrec=0 nvec=0 10 continue if(i.eq.1)then read(lunit,*,err=100,end=900)rnum elseif(i.eq.2)then read(lunit,*,err=100,end=900)inum rnum=inum elseif(i.eq.3)then read(lunit,*,err=100,end=900)inum,rnum * print *,'inpvec test',inum,rnum,nvec+1 elseif(i.eq.4)then read(lunit,*,err=100,end=900)rnum,r2,r3,r4 elseif(i.eq.5)then read(lunit,*,err=100,end=900)rnum,r2,r3,r4,r5,r6,r7,r8,r9 rnum=r2 elseif(i.eq.6)then read(lunit,*,err=100,end=900)inum,r2,r3,r4,r5,r6,r7,r8,i9 * print *, i, nrec, inum, r2, r3 rnum=r2 elseif(i.eq.7)then read(lunit,*,err=100,end=900)a1,a2,i1,i2,r1,r2,r3,a3 * print *,a1,a2,i1,i2,r1,r2,r3,a3 endif nrec=nrec+1 * if(mod(nrec,2).eq.1)goto 100 if(i.eq.7)then nvec=nvec+1 inpvec(nvec)=r1 nvec=nvec+1 inpvec(nvec)=r2 nvec=nvec+1 inpvec(nvec)=r3 else nvec=nvec+1 inpvec(nvec)=rnum endif goto 10 100 continue nrec=nrec+1 nvec=nvec+1 2000 format(1x,a4) * print *, ' Error found in record ',nrec goto 10 900 continue * rewind(lunit) enddo * * write(*,'(a,50(4(i4,f10.3)/))')'READINP returns input vector:', * & (kk,inpvec(kk),kk=1,200) end