As this data is in netCDF format, file description is best undertaken by reproducing the header information from the file itself:
netcdf 26marnav { dimensions: time = UNLIMITED ; // (8558 currently) namelen = 30 ; variables: char Site(namelen) ; Site:type = "Header" ; float Latitude(time) ; Latitude:long_name = "Site Latitude; north is positive" ; Latitude:units = "degrees" ; Latitude:_FillValue = -99999.f ; Latitude:valid_range = -90.f, 90.f ; Latitude:type = "Header" ; float Longitude(time) ; Longitude:long_name = "Site Longitude; east is positive" ; Longitude:units = "degrees" ; Longitude:_FillValue = -99999.f ; Longitude:valid_range = -180.f, 180.f ; Longitude:type = "Header" ; short Altitude(time) ; Altitude:long_name = "Site Altitude" ; Altitude:units = "Meters, MSL" ; Altitude:_FillValue = -9999s ; Altitude:type = "Header" ; long TimeSeconds(time) ; TimeSeconds:long_name = "Time; seconds since 1970-01-01 00:00:00" ; TimeSeconds:units = "seconds" ; TimeSeconds:_FillValue = -99999 ; TimeSeconds:type = "Header" ; long TimeNanoSeconds(time) ; TimeNanoSeconds:long_name = "Nanoseconds of current second" ; TimeNanoSeconds:units = "nanoseconds" ; TimeNanoSeconds:_FillValue = -99999 ; TimeNanoSeconds:type = "Header" ; long AveragingTimeSeconds(time) ; AveragingTimeSeconds:long_name = "Averaging time seconds" ; AveragingTimeSeconds:units = "seconds" ; AveragingTimeSeconds:_FillValue = -99999 ; AveragingTimeSeconds:type = "Header" ; long AveragingTimeNanoSeconds(time) ; AveragingTimeNanoSeconds:long_name = "Averaging time nanoseconds" ; AveragingTimeNanoSeconds:units = "nanoseconds" ; AveragingTimeNanoSeconds:_FillValue = -99999 ; AveragingTimeNanoSeconds:type = "Header" ; long NumValues(time) ; NumValues:long_name = "Number of values" ; NumValues:units = "count" ; NumValues:_FillValue = -99999 ; NumValues:type = "Header" ; long JulianDay(time) ; JulianDay:long_name = "Julian day" ; JulianDay:units = "day" ; JulianDay:_FillValue = -99999 ; JulianDay:type = "Data He" ; float DecimalMinutes(time) ; DecimalMinutes:long_name = "Decimal minutes of Julian day" ; DecimalMinutes:units = "minutes" ; DecimalMinutes:_FillValue = -99999.f ; DecimalMinutes:type = "Data He" ; long TrimbleStatus(time) ; TrimbleStatus:long_name = "Trimble status" ; TrimbleStatus:units = "pcode" ; TrimbleStatus:_FillValue = -99999 ; TrimbleStatus:type = "Data" ; float TrimbleHDOPS(time) ; TrimbleHDOPS:long_name = "Trimble HDOPS" ; TrimbleHDOPS:units = "n/a" ; TrimbleHDOPS:_FillValue = -99999.f ; TrimbleHDOPS:type = "Data" ; float TrimbleTrueCourseOverGround(time) ; TrimbleTrueCourseOverGround:long_name = "Trimble true course over ground" ; TrimbleTrueCourseOverGround:units = "degrees" ; TrimbleTrueCourseOverGround:_FillValue = -99999.f ; TrimbleTrueCourseOverGround:type = "Data" ; float TrimbleSpeedOverGround(time) ; TrimbleSpeedOverGround:long_name = "Trimble speed over ground" ; TrimbleSpeedOverGround:units = "knots" ; TrimbleSpeedOverGround:_FillValue = -99999.f ; TrimbleSpeedOverGround:type = "Data" ; float TrimbleAvgCourseOverGround(time) ; TrimbleAvgCourseOverGround:long_name = "Trimble average course over ground" ; TrimbleAvgCourseOverGround:units = "degrees" ; TrimbleAvgCourseOverGround:_FillValue = -99999.f ; TrimbleAvgCourseOverGround:type = "Data" ; float AshtekHeading(time) ; AshtekHeading:long_name = "Ashtek heading" ; AshtekHeading:units = "degrees" ; AshtekHeading:_FillValue = -99999.f ; AshtekHeading:type = "Data" ; float AshtekPitch(time) ; AshtekPitch:long_name = "Ashtek pitch" ; AshtekPitch:units = "degrees" ; AshtekPitch:_FillValue = -99999.f ; AshtekPitch:type = "Data" ; float AshtekRoll(time) ; AshtekRoll:long_name = "Ashtek roll" ; AshtekRoll:units = "degrees" ; AshtekRoll:_FillValue = -99999.f ; AshtekRoll:type = "Data" ; float HRPHeave(time) ; HRPHeave:long_name = "HRP Heave" ; HRPHeave:units = "millivolts" ; HRPHeave:_FillValue = -99999.f ; HRPHeave:type = "Data" ; // global attributes: :Instrument = "NOAA - Shipboard" ; :DataType = "Navigation" ; :Data Mentor = "M.J. Post" ; :Organization = "ETL" ; :Email = "mpost@etl.noaa.gov" ; :Phone = "303-497-6048" ; :Disclaimer = "Although most of these data have been screened for certain errors by quality control checks, problems and errors may still remain; ETL does not guarantee their accuracy" ; :History = "File Creation: 1997-03-31 22:01:28" ; :First_Record_Time = "1996-03-26 00:00:00" ; :Last_Record_Time = "1996-03-26 23:48:20" ; }