program main IMPLICIT NONE integer, parameter :: nlon = 128 ! number of longitudes integer, parameter :: nlat = 64 ! number of (T42 Gaussian) latitudes integer, parameter :: nrec = 180 ! number of records = 12 months * 15 years real, dimension(nlon,nlat) :: data ! array into which data are read integer :: irec ! Open data file, direct access open(10, file="T42FPS7993", access="direct", recl=nlon*nlat*4) do irec = 1,nrec read(10, rec=irec) data ! Do something with data here. end do end program main