program read5 dimension a(72,16), at(455) character nbf*2300, cov(16)*72 c c written by d. joseph c modified by g.walters - 2002apr c nr = 0 1 continue do 3 j = 1, 16 do 2 i = 1, 72 a(i,j) = -9999. 2 continue 3 continue 5 continue read (5,'(a)',end=90) nbf read (nbf,'(4i2,455f5)') iyr, imo, idy, ihr, at nr = nr + 1 ini = 0 c c if (mod(imo,6).ne.1) go to 5 jan and jul only c c if (idy.gt.2) go to 5 1st of month only c do 15 j = 1, 11, 2 do 12 i = 2, 72, 2 ini = ini + 1 a(i,j) = at(ini) 12 continue do 14 i = 1, 71, 2 ini = ini + 1 a(i,j + 1) = at(ini) 14 continue 15 continue c do 16 i = 4, 70, 6 ini = ini + 1 a(i,13) = at(ini) 16 continue c do 18 i = 1, 61, 12 ini = ini + 1 a(i,14) = at(ini) 18 continue c do 20 i = 10, 64, 18 ini = ini + 1 a(i,15) = at(ini) 20 continue c ini = ini + 1 do 22 i = 1, 72 a(i,16) = at(ini) 22 continue c write (*,9002) nr, iyr, imo, idy, ihr, ini 9002 format (' rec, yr, mo, dy, hr ', i8, 4i3, i6) c write(*,9004) (lat, lat = -90, -15, 5) 9004 format (4x,16i7) do 50 i = 1, 72 write(*, 9003)5*(i-1), (a(i,j),j=16,1,-1) 9003 format (1x, i3, 16f7.0) 50 continue c c generate coverage array: Xs where there is data c c do 53 j = 1, 16 c do 52 i = 1, 72 c if (a(i,j).lt.0.) then c cov(j)(i:i) = ' ' c else c cov(j)(i:i) = 'X' c endif c 52 continue c 53 continue c c write (*,9005) 9005 format(5x,'0',68x,'355') c do 60 j = 1, 16 c write (*, 9006) 5*j + 10, cov(j) 9006 format (1x,i3,1x,a) c 60 continue go to 1 90 continue write (*,9090) nr 9090 format (' Records read ',i8) end