c -------------------------------------------------------------------- PROGRAM rw_wnd c -------------------------------------------------------------------- c convert binary to ascii parameter (nx=100,ny=100) real x(nx),y(ny) character fnu*60,fnv*60 parameter (nxy=nx*ny) real u(nxy),v(nxy) character fn*60 c --------------------------------------------------------------------- read (5,'(a)') fn read (5,'(a)') fnu read (5,'(a)') fnv c --------------------------------------------------------------------- open (30,file=fn,status='unknown') open (21,file=fnu,form='unformatted', & convert='big_endian',status='old') read (21) nxc,nyc,xc1,xi,yc1,yi,void,imask open (22,file=fnv,form='unformatted', & convert='big_endian',status='old') read (22) nxc,nyc,xc1,xi,yc1,yi,void,imask write (30,'(2i8)') nxc,nyc nxyc = nxc*nyc c --- get grid location do i = 1, nxc x(i) = xc1+xi*(i-1) end do do j = 1, nyc y(j) = yc1+yi*(j-1) end do write (30,'(10f8.3)') (x(i),i=1,nxc) write (30,'(10f8.3)') (y(j),j=1,nyc) 111 continue c =============================================================== read (21,end=222) iYr,iMon,iDay,iHr write (30,'(i4.4,3i4.2)') iYr,iMon,iDay,iHr read (22,end=222) iYr,iMon,iDay,iHr c -------------------------------------------------------------- read (21,end=222) (u(ij),ij=1,nxyc) write (30,'(10f8.2)') (u(ij),ij=1,nxyc) read (22,end=222) (v(ij),ij=1,nxyc) write (30,'(10f8.2)') (v(ij),ij=1,nxyc) c -------------------------------------------------------------- write (6,600) iYr,iMon,iDay,iHr 600 format(i5.4,3i3.2) flush (6) goto 111 c =============================================================== 222 continue close(30) 90 write (6,*) fn c ------------------------------------------------------------------- 9 stop end