function Instmeta = readAWACHeader(baseFile) %function to get instrument metadata about AWAC deployment from header file hdrFile = strcat(baseFile,'.hdr'); hdr = fopen(hdrFile); str='User setup'; while (~strncmp(str,'Hardware configuration',22)); str=fgetl(hdr); if (strncmp(str,'Profile interval',15)) is=findstr(str,'sec'); Instmeta.ProfileInterval = str2num(str(39:is-2)); elseif (strncmp(str,'Number of cells',15)) Instmeta.NumberOfCells = str2num(str(39:40)); elseif (strncmp(str,'Cell size',9)) is=findstr(str,'cm'); Instmeta.CellSize = str2num(str(39:is-2)); elseif (strncmp(str,'Average interval',15)) is=findstr(str,'sec'); Instmeta.AverageInterval = str2num(str(39:is-2)); elseif (strncmp(str,'Measurement load',15)) is=findstr(str,'%'); Instmeta.MeasurementLoad = (str(39:end)); elseif (strncmp(str,'Transmit pulse length',17)) is=findstr(str,'m'); Instmeta.TransmitPulseLength = (str(39:end)); elseif (strncmp(str,'Blanking distance',17)) is=findstr(str,'m'); Instmeta.BlankingDistance = str2num(str(39:is-2)); elseif (strncmp(str,'Wave measurements',17)) Instmeta.WaveMeasurements = (str(39:end)); if strcmp(Instmeta.WaveMeasurements,'ENABLED') elseif (strncmp(str,'Wave - Powerlevel',17)) Instmeta.WavePower = (str(39:is-2)); elseif (strncmp(str,'Wave - Interval',14)) is=findstr(str,'sec'); Instmeta.WaveInterval = str2num(str(39:is-2)); elseif (strncmp(str,'Wave - Number of samples',17)) Instmeta.WaveNumberOfSamples = str2num(str(39:42)); elseif (strncmp(str,'Wave - Sampling rate',15)) Instmeta.WaveSampleRate = str(39:42); end elseif (strfind(str,'Analog input 1')) Instmeta.AnalogInput1 = str(39:end); elseif (strfind(str,'Analog input 2')) Instmeta.AnalogInput2 = str(39:end); elseif (strfind(str,'Power output')) Instmeta.AnalogPowerOutput = str(39:end); elseif (strfind(str,'Powerlevel')) Instmeta.AnalogPowerLevel = str(39:end); elseif (strfind(str,'Coordinate system')) Instmeta.CoordinateSystem = str(39:end); elseif (strfind(str,'Sound speed')) Instmeta.SoundSpeed = str(39:end); elseif (strfind(str,'Salinity')) Instmeta.Salinity = str(39:end); elseif (strfind(str,'Number of beams')) Instmeta.NumberOfBeams = str2num(str(39:end)); elseif (strfind(str,'Number of pings per burst')) Instmeta.NumberOfPingsPerBurst = str2num(str(39:end)); elseif (strfind(str,'Software version')) Instmeta.SoftwareVersion = str2num(str(39:end)); elseif (strfind(str,'Deployment name')) Instmeta.DeploymentName = str(39:end); elseif (strfind(str,'Deployment time')) Instmeta.DeploymentTime = str(39:end); elseif (strfind(str,'Comments')) Instmeta.Comments = str(39:end); end end while (~strncmp(str,'Head configuration',15)); str=fgetl(hdr); if (strncmp(str,'Serial number',13)) Instmeta.instrument_serial_number = str(39:46); end end while (~strncmp(str,'Data file format',16)); str=fgetl(hdr); if (strncmp(str,'Head frequency',12)) is=findstr(str,'kHz'); Instmeta.Frequency = str2num(str(39:is-2)); elseif (strncmp(str,'Serial number',13)) Instmeta.HeadSerialNumber = str(39:46); elseif (strncmp(str,'Transformation Matrix',15)) Instmeta.TransMatrix = zeros(3,3); Instmeta.TransMatrix(1,:) = strread(str(39:end)); str=fgetl(hdr); Instmeta.TransMatrix(2,:) = strread(str(39:end)); str=fgetl(hdr); Instmeta.TransMatrix(3,:) = strread(str(39:end)); end end Instmeta.BeamPattern = 'convex'; Instmeta.BeamAngle = 25; Instmeta.VelRange = 1000; % cm/s Instmeta.TempRange = [-4 40]; Instmeta.PressRange = [0 100]; fclose(hdr)