SUBROUTINE ReadHeader( FileName, Title, atten, PlotType )
! Read header from disk file
! This is not used anywhere in the Fortran code for the Acoustics Toolbox, since Matlab is used to process SHDFiles
! FileName is a SHDFIL for complex pressure or a GRNFIL for a Green's function
! Title arbitrary title
INTEGER, PARAMETER :: PRTFile = 6
REAL, INTENT( OUT ) :: atten ! stabilizing attenuation for SCOOTER FFP runs
CHARACTER (LEN=80), INTENT( OUT ) :: Title, FileName
CHARACTER (LEN=10), INTENT( OUT ) :: PlotType
INTEGER :: IAllocStat, IOStat
! Open file, read header
IF ( FileName( 1 : 1 ) == ' ' ) FileName = 'SHDFIL'
! INQUIRE( FILE = FileName, RECL = IRECL )
OPEN( UNIT = SHDFile, FILE = FileName, STATUS = 'OLD', ACCESS = 'DIRECT', FORM = 'UNFORMATTED', RECL = 4, &
IOSTAT = IOStaT, ACTION = 'READ' )
IF ( IOStat /= 0 ) CALL ERROUT( 'ReadHeader', 'Unable to open shade file' )
READ( SHDFile, REC = 1 ) LRecl
CLOSE( UNIT = SHDFile )
OPEN( UNIT = SHDFile, FILE = FileName, STATUS = 'OLD', ACCESS = 'DIRECT', FORM = 'UNFORMATTED', RECL = 4 * LRecl )
READ( SHDFile, REC = 1 ) LRecl, Title
READ( SHDFile, REC = 2 ) PlotType
READ( SHDFile, REC = 3 ) Nfreq, Pos%Ntheta, Pos%NSx, Pos%NSy, Pos%NSz, Pos%NRz, Pos%NRr, atten
ALLOCATE( freqVec( Nfreq ), Pos%Sz( Pos%NSz ), Pos%Rz( Pos%NRz ), Pos%Rr( Pos%NRr ), &
& Pos%theta( Pos%Ntheta ), Stat = IAllocStat )
IF ( IAllocStat /= 0 ) CALL ERROUT( 'ReadHeader', 'Too many source/receiver combinations' )
READ( SHDFile, REC = 4 ) freqVec
READ( SHDFile, REC = 5 ) Pos%theta
READ( SHDFile, REC = 6 ) Pos%Sx
READ( SHDFile, REC = 7 ) Pos%Sy
READ( SHDFile, REC = 8 ) Pos%Sz
READ( SHDFile, REC = 9 ) Pos%Rz
READ( SHDFile, REC = 10 ) Pos%Rr
! Pos%deltaR = Pos%r( Pos%NRr ) - Pos%r( Pos%NRr - 1 )
END SUBROUTINE ReadHeader