configRTOutputNetCDFL0Seaglider

PURPOSE ^

CONFIGRTOUTPUTNETCDFL0SEAGLIDER Configure NetCDF output for raw Seaglider glider deployment data in real time.

SYNOPSIS ^

function ncl0_info = configRTOutputNetCDFL0Seaglider()

DESCRIPTION ^

CONFIGRTOUTPUTNETCDFL0SEAGLIDER  Configure NetCDF output for raw Seaglider glider deployment data in real time.

  Syntax:
    NCL0_INFO = CONFIGRTOUTPUTNETCDFL0SEAGLIDER()

  Description:
    NCL0_INFO = CONFIGRTOUTPUTNETCDFL0SEAGLIDER() should return a struct
    describing the structure of the NetCDF file for raw Seaglider glider
    deployment data in real time (see the note about the file generation).
    The returned struct should have the following fields:
      DIMENSIONS: struct array with fields 'NAME' and 'LENGTH' defining the
        dimensions for variables in the file.
        A variable may have dimensions not listed here or with their length
        left undefined (empty field value), and they are inferred from the
        data during the generation of the file. However, it is useful to preset
        the length of a dimension for record or string size dimensions.
      ATTRIBUTES: struct array with fields 'NAME' and 'VALUE' defining global
        attributes of the file.
        Global attributes might be overwritten by deployment fields
        with the same name.
      VARIABLES: struct defining variable metadata. Field names are variable
        names and field values are structs as needed by function SAVENC.
        It should have the following fields:
          DIMENSIONS: string cell array with the names of the dimensions
            of the variable.
          ATTRIBUTES: struct array with fields 'NAME' and 'VALUE' defining
            the attributes of the variable.
        More variables than the ones present in one specific deployment may be
        described here. Only metadata corresponding variables in the deployment
        data will be used.

  Notes:
    The NetCDF file will be created by the function GENERATEOUTPUTNETCDF with
    the structure provided here and the metadata and data returned by
    LOADSEAGLIDERDATA.

    Please note that global attributes described here may be overwritten by
    deployment field values whenever the names match. This allows adding file
    attributes whose values are known only at runtime.

  Examples:
    ncl0_info = configRTOutputNetCDFL0Seaglider()

  See also:
    GENERATEOUTPUTNETCDF
    SAVENC
    LOADSEAGLIDERDATA

  Authors:
    Joan Pau Beltran  <joanpau.beltran@socib.cat>

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

configRTOutputNetCDFL0Seaglider.m

SOURCE CODE ^

0001 function ncl0_info = configRTOutputNetCDFL0Seaglider()
0002 %CONFIGRTOUTPUTNETCDFL0SEAGLIDER  Configure NetCDF output for raw Seaglider glider deployment data in real time.
0003 %
0004 %  Syntax:
0005 %    NCL0_INFO = CONFIGRTOUTPUTNETCDFL0SEAGLIDER()
0006 %
0007 %  Description:
0008 %    NCL0_INFO = CONFIGRTOUTPUTNETCDFL0SEAGLIDER() should return a struct
0009 %    describing the structure of the NetCDF file for raw Seaglider glider
0010 %    deployment data in real time (see the note about the file generation).
0011 %    The returned struct should have the following fields:
0012 %      DIMENSIONS: struct array with fields 'NAME' and 'LENGTH' defining the
0013 %        dimensions for variables in the file.
0014 %        A variable may have dimensions not listed here or with their length
0015 %        left undefined (empty field value), and they are inferred from the
0016 %        data during the generation of the file. However, it is useful to preset
0017 %        the length of a dimension for record or string size dimensions.
0018 %      ATTRIBUTES: struct array with fields 'NAME' and 'VALUE' defining global
0019 %        attributes of the file.
0020 %        Global attributes might be overwritten by deployment fields
0021 %        with the same name.
0022 %      VARIABLES: struct defining variable metadata. Field names are variable
0023 %        names and field values are structs as needed by function SAVENC.
0024 %        It should have the following fields:
0025 %          DIMENSIONS: string cell array with the names of the dimensions
0026 %            of the variable.
0027 %          ATTRIBUTES: struct array with fields 'NAME' and 'VALUE' defining
0028 %            the attributes of the variable.
0029 %        More variables than the ones present in one specific deployment may be
0030 %        described here. Only metadata corresponding variables in the deployment
0031 %        data will be used.
0032 %
0033 %  Notes:
0034 %    The NetCDF file will be created by the function GENERATEOUTPUTNETCDF with
0035 %    the structure provided here and the metadata and data returned by
0036 %    LOADSEAGLIDERDATA.
0037 %
0038 %    Please note that global attributes described here may be overwritten by
0039 %    deployment field values whenever the names match. This allows adding file
0040 %    attributes whose values are known only at runtime.
0041 %
0042 %  Examples:
0043 %    ncl0_info = configRTOutputNetCDFL0Seaglider()
0044 %
0045 %  See also:
0046 %    GENERATEOUTPUTNETCDF
0047 %    SAVENC
0048 %    LOADSEAGLIDERDATA
0049 %
0050 %  Authors:
0051 %    Joan Pau Beltran  <joanpau.beltran@socib.cat>
0052 
0053 %  Copyright (C) 2013-2016
0054 %  ICTS SOCIB - Servei d'observacio i prediccio costaner de les Illes Balears
0055 %  <http://www.socib.es>
0056 %
0057 %  This program is free software: you can redistribute it and/or modify
0058 %  it under the terms of the GNU General Public License as published by
0059 %  the Free Software Foundation, either version 3 of the License, or
0060 %  (at your option) any later version.
0061 %
0062 %  This program is distributed in the hope that it will be useful,
0063 %  but WITHOUT ANY WARRANTY; without even the implied warranty of
0064 %  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0065 %  GNU General Public License for more details.
0066 %
0067 %  You should have received a copy of the GNU General Public License
0068 %  along with this program.  If not, see <http://www.gnu.org/licenses/>.
0069 
0070   error(nargchk(0, 0, nargin, 'struct'));
0071 
0072   %% Define variable information.
0073   % To define the variable attributes easily and readably, add the corresponding
0074   % variable field to the struct defined below, with its attributes defined in
0075   % a cell array (attribute name in first column and attribute value in second).
0076   % This cell array will be converted at the end of the function to the proper
0077   % representation needed by SAVENC.
0078 
0079   default_fill_value = realmax('double');
0080 
0081   var_attr_list.AD7714Ch0Gain = {
0082     'long_name'     'pressure sensor gain'
0083     'units'         '1'
0084     'comment'       'Gain assigned to the pressure sensor channel on the AD7714 analog-to-digital converter.'
0085     '_FillValue'    default_fill_value };
0086 
0087   var_attr_list.AH0_10V = {
0088     'long_name'     'low voltage battery pack capacity'
0089     'units'         'A h'
0090     'comment'       'Capacity of the 10V (low voltage) battery pack (AmpHr).'
0091     '_FillValue'    default_fill_value };
0092 
0093   var_attr_list.AH0_24V = {
0094     'long_name'     'high voltage battery pack capacity'
0095     'units'         'A h'
0096     'comment'       'Capacity of the 24V (high voltage) battery pack (AmpHr).'
0097     '_FillValue'    default_fill_value };
0098 
0099   var_attr_list.ALTIM_BOTTOM_PING_dpth = {
0100     'long_name'     'glider depth at altimeter ping'
0101     'standard_name' 'depth'
0102     'units'         'm'
0103     'positive'      'down'
0104     'comment'       'Depth of the glider when performing bottom ping.'
0105     '_FillValue'    default_fill_value };
0106 
0107   var_attr_list.ALTIM_BOTTOM_PING_rnge = {
0108     'long_name'     'altimeter detected bottom range'
0109     'units'         'm'
0110     'comment'       'Altimeter-detected distance to bottom during bottom ping.'
0111     '_FillValue'    default_fill_value };
0112 
0113   var_attr_list.ALTIM_BOTTOM_PING_RANGE = {
0114     'long_name'     'altimeter bottom range to ping'
0115     'standard_name' 'distance'
0116     'units'         'm'
0117     'comment'       'Range from the presumed apogee depth to ping for the bottom.'
0118     '_FillValue'    default_fill_value };
0119 
0120   var_attr_list.ALTIM_BOTTOM_TURN_MARGIN = {
0121     'long_name'     'altimeter bottom turn marging'
0122     'standard_name' 'distance'
0123     'units'         'm'
0124     'comment'       'Distance from the altimeter detected range at which to initiate the apogee maneuver.'
0125     '_FillValue'    default_fill_value };
0126 
0127   var_attr_list.ALTIM_FREQUENCY = {
0128     'long_name'     'altimeter ping frequency'
0129     'standard_name' 'frequency'
0130     'units'         'kHz'
0131     'comment'       'Frequency to use for altimeter pings.'
0132     '_FillValue'    default_fill_value };
0133 
0134   var_attr_list.ALTIM_PING_DELTA = {
0135     'long_name'     'altimeter ping depth interval'
0136     'units'         'm'
0137     'comment'       'Depth interval to repeat ping after a failed altimeter return or confirmation ping return.'
0138     '_FillValue'    default_fill_value };
0139 
0140   var_attr_list.ALTIM_PING_DEPTH = {
0141     'long_name'     'altimeter depth to ping'
0142     'standard_name' 'depth'
0143     'units'         'm'
0144     'positive'      'down'
0145     'comment'       'Depth of the first altimeter ping.'
0146     '_FillValue'    default_fill_value };
0147 
0148   var_attr_list.ALTIM_PULSE = {
0149     'long_name'     'altimeter pulse width'
0150     'units'         'ms'
0151     'comment'       'Pulse width of altimeter pings.'
0152     '_FillValue'    default_fill_value };
0153 
0154   var_attr_list.ALTIM_SENSITIVITY = {
0155     'long_name'     'altimeter envelope detector sensitivity'
0156     'units'         'V'
0157     'comment'       'Sensitivity of the envelope detector on the altimeter.'
0158     '_FillValue'    default_fill_value };
0159 
0160   var_attr_list.ALTIM_TOP_MIN_OBSTACLE = {
0161     'long_name'     'altimeter subsurface minimum obstacle depth'
0162     'units'         'm'
0163     'comment'       'Minimum obstacle depth to honor in initiating a subsurface finish.'
0164     '_FillValue'    default_fill_value };
0165 
0166   var_attr_list.ALTIM_TOP_PING_RANGE = {
0167     'long_name'     'altimeter surface range to ping'
0168     'units'         'm'
0169     'comment'       'Range from the surface at which to ping the altimeter.'
0170     '_FillValue'    default_fill_value };
0171 
0172   var_attr_list.ALTIM_TOP_TURN_MARGIN = {
0173     'long_name'     'altimeter top turn marging'
0174     'units'         'm'
0175     'comment'       'Distance from the altimeter detected range at which to initiate the apogee maneuver.'
0176     '_FillValue'    default_fill_value };
0177 
0178   var_attr_list.APOGEE_PITCH = {
0179     'long_name'     'apogee phase pitch'
0180     'units'         'degree'
0181     'comment'       'Intermediate pitch (position of the pitch mass) that Seaglider pitches to between the dive and climb phases to prevent stalling.'
0182     '_FillValue'    default_fill_value };
0183 
0184   var_attr_list.CALLS = {
0185     'long_name'     'number of calls'
0186     'units'         '1'
0187     'comment'       'Total calls in an attempt to connect on previous dive surfacing.'
0188     '_FillValue'    default_fill_value };
0189 
0190   var_attr_list.CALL_NDIVES = {
0191     'long_name'     'call dive step'
0192     'units'         '1'
0193     'comment'       'Number of profiles (dive/climb cycles) to perform before attempting communications.'
0194     '_FillValue'    default_fill_value };
0195 
0196   var_attr_list.CALL_TRIES = {
0197     'long_name'     'call maximum attempts'
0198     'units'         '1'
0199     'comment'       'Maximum number of phone calls to attempt during a surfacing between dives.'
0200     '_FillValue'    default_fill_value };
0201 
0202   var_attr_list.CALL_WAIT = {
0203     'long_name'     'call wait time'
0204     'units'         's'
0205     'comment'       'wait time between call attempts during a communication session.'
0206     '_FillValue'    default_fill_value };
0207 
0208   var_attr_list.CAPMAXSIZE = {
0209     'long_name'     'capture file maximum size'
0210     'units'         'bytes'
0211     'comment'       'Maximum size of the capture file to upload (prior to compression).'
0212     '_FillValue'    default_fill_value };
0213 
0214   var_attr_list.CAPUPLOAD = {
0215     'long_name'     'capture file upload flag'
0216     'units'         '1'
0217     'comment'       'Whether upload capture file (0 = do not upload cap file, 1 = upload cap file).'
0218     '_FillValue'    default_fill_value };
0219 
0220   var_attr_list.CAP_FILE_SIZE_field01 = {
0221     'long_name'     ''
0222     'units'         ''
0223     'comment'       'Unknown field 01 of CAP_FILE_SIZE log parameter.'
0224     '_FillValue'    default_fill_value };
0225 
0226   var_attr_list.CAP_FILE_SIZE_field02 = {
0227     'long_name'     ''
0228     'units'         ''
0229     'comment'       'Unknown field 02 of CAP_FILE_SIZE log parameter.'
0230     '_FillValue'    default_fill_value };
0231 
0232   var_attr_list.CF8_MAXERRORS = {
0233     'long_name'     'compact flash maximum errors'
0234     'units'         '1'
0235     'comment'       'Maximum number of compact fash errors allowed.'
0236     '_FillValue'    default_fill_value };
0237 
0238   var_attr_list.CFSIZE_bytes_free = {
0239     'long_name'     'compact flash free space'
0240     'units'         'bytes'
0241     'comment'       'Available free space on the compact flash card.'
0242     '_FillValue'    default_fill_value };
0243 
0244   var_attr_list.CFSIZE_bytes_total = {
0245     'long_name'     'compact flash capacity'
0246     'units'         'bytes'
0247     'comment'       'Total capacity of the compact flash card.'
0248     '_FillValue'    default_fill_value };
0249 
0250   var_attr_list.COMM_SEQ = {
0251     'long_name'     'file transfer sequence'
0252     'units'         '1'
0253     'comment'       'Specification of the sequence of file transfer to use.'
0254     '_FillValue'    default_fill_value };
0255 
0256   var_attr_list.COMPASS2_DEVICE = {
0257     'long_name'     'second compass device configuration flag'
0258     'units'         '1'
0259     'comment'       'Configuration flags specifying the specific model and port for the second compass and transponder/altimeter devices.'
0260     '_FillValue'    default_fill_value };
0261 
0262   var_attr_list.COMPASS_DEVICE = {
0263     'long_name'     'first compass device configuration flag'
0264     'units'         '1'
0265     'comment'       'Configuration flags specifying the specific model and port for the second compass and transponder/altimeter devices.'
0266     '_FillValue'    default_fill_value };
0267 
0268   var_attr_list.COMPASS_USE = {
0269     'long_name'     'compass use control'
0270     'units'         '1'
0271     'comment'       'Parameter used in development to assess compass problems (0 = trust compass inputs, use and report fully calibrated values).'
0272     '_FillValue'    default_fill_value };
0273 
0274   var_attr_list.COURSE_BIAS = {
0275     'long_name'     'heading bias compensation'
0276     'units'         'degree'
0277     'comment'       'A heading bias to compensate for an observed tendency of Seaglider to veer to one side.'
0278     '_FillValue'    default_fill_value };
0279 
0280   var_attr_list.CURRENT_cur_dir = {
0281     'long_name'     'depth averaged current direction'
0282     'standard_name' 'direction_of_sea_water_velocity'
0283     'units'         'degree'
0284     'comment'       'Direction of depth averaged current calculated in some navigation modes.'
0285     '_FillValue'    default_fill_value };
0286 
0287   var_attr_list.CURRENT_cur_spd = {
0288     'long_name'     'depth averaged current speed'
0289     'standard_name' 'sea_water_speed'
0290     'units'         'm s-1'
0291     'comment'       'Speed of depth averaged current calculated in some navigation modes.'
0292     '_FillValue'    default_fill_value };
0293 
0294   var_attr_list.CURRENT_cur_val = {
0295     'long_name'     'depth averaged current validity'
0296     'units'         '1'
0297     'comment'       'Validity check of depth averaged current calculated in some navigation modes (1 = valid, 0 = invalid).'
0298     '_FillValue'    default_fill_value };
0299 
0300   var_attr_list.C_PITCH = {
0301     'long_name'     'pitch center position'
0302     'units'         'counts'
0303     'comment'       'Flat position for pitch.'
0304     '_FillValue'    default_fill_value };
0305 
0306   var_attr_list.C_ROLL_CLIMB = {
0307     'long_name'     'climb roll center position'
0308     'units'         'counts'
0309     'comment'       'Straight flight position for roll during climb phase.'
0310     '_FillValue'    default_fill_value };
0311 
0312   var_attr_list.C_ROLL_DIVE = {
0313     'long_name'     'dive roll center position'
0314     'units'         'counts'
0315     'comment'       'Straight flight position for roll during dive phase.'
0316     '_FillValue'    default_fill_value };
0317 
0318   var_attr_list.C_VBD = {
0319     'long_name'     'VBD center position'
0320     'units'         'counts'
0321     'comment'       'Neutrally buoyant position for VBD.'
0322     '_FillValue'    default_fill_value };
0323 
0324   var_attr_list.DATA_FILE_SIZE_bytes = {
0325     'long_name'     'data file size'
0326     'units'         'bytes'
0327     'comment'       'Total size of the data file.'
0328     '_FillValue'    default_fill_value };
0329 
0330   var_attr_list.DATA_FILE_SIZE_samples = {
0331     'long_name'     'number of data samples'
0332     'units'         '1'
0333     'comment'       'Number of data samples taken during the dive.'
0334     '_FillValue'    default_fill_value };
0335 
0336   var_attr_list.DEEPGLIDER = {
0337     'long_name'     'Deepglider type indicator'
0338     'units'         ''
0339     'comment'       'Indicates whether the glider is a Deepglider instead of a standard Seaglider (0 = standard Seaglider).'
0340     '_FillValue'    default_fill_value };
0341 
0342   var_attr_list.DEEPGLIDERMB = {
0343     'long_name'     'Deepglider motherboard indicator'
0344     'units'         '1'
0345     'comment'       'Indicates whether the main board is intended for use in Deepglider (0 = standard Seaglider main board).'
0346     '_FillValue'    default_fill_value };
0347 
0348   var_attr_list.DEVICE1 = {
0349     'long_name'     'device slot 1 configuration flag'
0350     'units'         '1'
0351     'comment'       'Configuration flag specifying device type and port for each of the six possible attached science sensors. Empty device slots are indicated with a parameter value of -1.'
0352     '_FillValue'    default_fill_value };
0353 
0354   var_attr_list.DEVICE2 = {
0355     'long_name'     'device slot 2 configuration flag'
0356     'units'         '1'
0357     'comment'       'Configuration flag specifying device type and port for each of the six possible attached science sensors. Empty device slots are indicated with a parameter value of -1.'
0358     '_FillValue'    default_fill_value };
0359 
0360   var_attr_list.DEVICE3 = {
0361     'long_name'     'device slot 3 configuration flag'
0362     'units'         '1'
0363     'comment'       'Configuration flag specifying device type and port for each of the six possible attached science sensors. Empty device slots are indicated with a parameter value of -1.'
0364     '_FillValue'    default_fill_value };
0365 
0366   var_attr_list.DEVICE4 = {
0367     'long_name'     'device slot 4 configuration flag'
0368     'units'         '1'
0369     'comment'       'Configuration flag specifying device type and port for each of the six possible attached science sensors. Empty device slots are indicated with a parameter value of -1.'
0370     '_FillValue'    default_fill_value };
0371 
0372   var_attr_list.DEVICE5 = {
0373     'long_name'     'device slot 5 configuration flag'
0374     'units'         '1'
0375     'comment'       'Configuration flag specifying device type and port for each of the six possible attached science sensors. Empty device slots are indicated with a parameter value of -1.'
0376     '_FillValue'    default_fill_value };
0377 
0378   var_attr_list.DEVICE6 = {
0379     'long_name'     'device slot 6 configuration flag'
0380     'units'         '1'
0381     'comment'       'Configuration flag specifying device type and port for each of the six possible attached science sensors. Empty device slots are indicated with a parameter value of -1.'
0382     '_FillValue'    default_fill_value };
0383 
0384   var_attr_list.DEVICE_MAMPS_Analog_circuits = {
0385     'long_name'     'analog circuits maximum current'
0386     'units'         'mA'
0387     'comment'       'Maximum current drawn by analog circuits (including pressure sensor).'
0388     '_FillValue'    default_fill_value };
0389 
0390   var_attr_list.DEVICE_MAMPS_Compass = {
0391     'long_name'     'compass maximum current'
0392     'units'         'mA'
0393     'comment'       'Maximum current drawn by compass device.'
0394     '_FillValue'    default_fill_value };
0395 
0396   var_attr_list.DEVICE_MAMPS_Compass2 = {
0397     'long_name'     'second compass maximum current'
0398     'units'         'mA'
0399     'comment'       'Maximum current drawn by compass2 device.'
0400     '_FillValue'    default_fill_value };
0401 
0402   var_attr_list.DEVICE_MAMPS_GPS = {
0403     'long_name'     'gps fix maximum current'
0404     'units'         'mA'
0405     'comment'       'Maximum current drawn by GPS device for fix acquisition.'
0406     '_FillValue'    default_fill_value };
0407 
0408   var_attr_list.DEVICE_MAMPS_GPS_charging = {
0409     'long_name'     'gps charging circuit maximum current'
0410     'units'         'mA'
0411     'comment'       'Maximum current drawn by auxiliary GPS charging circuit.'
0412     '_FillValue'    default_fill_value };
0413 
0414   var_attr_list.DEVICE_MAMPS_GUMSTIX_24V = {
0415     'long_name'     'gumstix maximum current'
0416     'units'         'mA'
0417     'comment'       'Maximum current drawn by Gumstix device.'
0418     '_FillValue'    default_fill_value };
0419 
0420   var_attr_list.DEVICE_MAMPS_Iridium_during_connect = {
0421     'long_name'     'iridium connection maximum current'
0422     'units'         'mA'
0423     'comment'       'Maximum current drawn by phone while connecting to basestation.'
0424     '_FillValue'    default_fill_value };
0425 
0426   var_attr_list.DEVICE_MAMPS_Iridium_during_init = {
0427     'long_name'     'iridium initialization maximum current'
0428     'units'         'mA'
0429     'comment'       'Maximum current drawn by phone related to turn it on.'
0430     '_FillValue'    default_fill_value };
0431 
0432   var_attr_list.DEVICE_MAMPS_Iridium_during_xfer = {
0433     'long_name'     'iridium transfer maximum current'
0434     'units'         'mA'
0435     'comment'       'Maximum current drawn by phone during a file transfer.'
0436     '_FillValue'    default_fill_value };
0437 
0438   var_attr_list.DEVICE_MAMPS_LPSleep = {
0439     'long_name'     'low power sleep maximum current'
0440     'units'         'mA'
0441     'comment'       'Maximum current drawn by TT8 under low power sleep.'
0442     '_FillValue'    default_fill_value };
0443 
0444   var_attr_list.DEVICE_MAMPS_Pitch_motor = {
0445     'long_name'     'pitch motor maximum current'
0446     'units'         'mA'
0447     'comment'       'Maximum current drawn by pitch motor.'
0448     '_FillValue'    default_fill_value };
0449 
0450   var_attr_list.DEVICE_MAMPS_RAFOS = {
0451     'long_name'     'RAFOS receiver maximum current'
0452     'units'         'mA'
0453     'comment'       'Maximum current drawn by RAFOS receiver.'
0454     '_FillValue'    default_fill_value };
0455 
0456   var_attr_list.DEVICE_MAMPS_Roll_motor = {
0457     'long_name'     'roll motor maximum current'
0458     'units'         'mA'
0459     'comment'       'Maximum current drawn by roll motor.'
0460     '_FillValue'    default_fill_value };
0461 
0462   var_attr_list.DEVICE_MAMPS_TT8 = {
0463     'long_name'     'TT8 2 MHz maximum current'
0464     'units'         'mA'
0465     'comment'       'Maximum current drawn by TT8 at 2MHz.'
0466     '_FillValue'    default_fill_value };
0467 
0468   var_attr_list.DEVICE_MAMPS_TT8_Active = {
0469     'long_name'     'TT8 active maximum current'
0470     'units'         'mA'
0471     'comment'       'Maximum current drawn by TT8 in active mode.'
0472     '_FillValue'    default_fill_value };
0473 
0474   var_attr_list.DEVICE_MAMPS_TT8_CF8 = {
0475     'long_name'     'TT8 flash access maximum current'
0476     'units'         'mA'
0477     'comment'       'Maximum current drawn by TT8 while accessing compact flash memory.'
0478     '_FillValue'    default_fill_value };
0479 
0480   var_attr_list.DEVICE_MAMPS_TT8_Kalman = {
0481     'long_name'     'TT8 Kalman filter maximum current'
0482     'units'         'mA'
0483     'comment'       'Maximum current drawn by TT8 while running the Kalman filter.'
0484     '_FillValue'    default_fill_value };
0485 
0486   var_attr_list.DEVICE_MAMPS_TT8_Sampling = {
0487     'long_name'     'TT8 sampling maximum current'
0488     'units'         'mA'
0489     'comment'       'Maximum current drawn by TT8 while sampling sensors.'
0490     '_FillValue'    default_fill_value };
0491 
0492   var_attr_list.DEVICE_MAMPS_Transponder = {
0493     'long_name'     'transponder maximum current'
0494     'units'         'mA'
0495     'comment'       'Maximum current drawn by transponder device.'
0496     '_FillValue'    default_fill_value };
0497 
0498   var_attr_list.DEVICE_MAMPS_Transponder_ping = {
0499     'long_name'     'transponder ping maximum current'
0500     'units'         'mA'
0501     'comment'       'Maximum current drawn by transponder during an active ping.'
0502     '_FillValue'    default_fill_value };
0503 
0504   var_attr_list.DEVICE_MAMPS_VBD_pump_during_apogee = {
0505     'long_name'     'VBD apogee pump maximum current'
0506     'units'         'mA'
0507     'comment'       'Maximum current drawn by VBD pump in active mode.'
0508     '_FillValue'    default_fill_value };
0509 
0510   var_attr_list.DEVICE_MAMPS_VBD_pump_during_surface = {
0511     'long_name'     'VBD surface pump maximum current'
0512     'units'         'mA'
0513     'comment'       'Maximum current drawn by VBD pump outside of dive.'
0514     '_FillValue'    default_fill_value };
0515 
0516   var_attr_list.DEVICE_MAMPS_VBD_valve = {
0517     'long_name'     'VBD valve maximum current'
0518     'units'         'mA'
0519     'comment'       'Maximum current drawn by VBD valve.'
0520     '_FillValue'    default_fill_value };
0521 
0522   var_attr_list.DEVICE_SECS_Analog_circuits = {
0523     'long_name'     'analog circuits power time'
0524     'units'         's'
0525     'comment'       'Time analog circuits powered on.'
0526     '_FillValue'    default_fill_value };
0527 
0528   var_attr_list.DEVICE_SECS_Compass = {
0529     'long_name'     'compass power time'
0530     'units'         's'
0531     'comment'       'Time compass device powered on.'
0532     '_FillValue'    default_fill_value };
0533 
0534   var_attr_list.DEVICE_SECS_Compass2 = {
0535     'long_name'     'second compass power time'
0536     'units'         's'
0537     'comment'       'Time compass2 powered on.'
0538     '_FillValue'    default_fill_value };
0539 
0540   var_attr_list.DEVICE_SECS_GPS = {
0541     'long_name'     'gps fix power time'
0542     'units'         's'
0543     'comment'       'Time GPS device powered on for fix acquisition.'
0544     '_FillValue'    default_fill_value };
0545 
0546   var_attr_list.DEVICE_SECS_GPS_charging = {
0547     'long_name'     'gps charging circuit power time'
0548     'units'         's'
0549     'comment'       'Time auxiliary GPS charging circuit powered on.'
0550     '_FillValue'    default_fill_value };
0551 
0552   var_attr_list.DEVICE_SECS_GUMSTIX_24V = {
0553     'long_name'     'gumstix power time'
0554     'units'         's'
0555     'comment'       'Time Gumstix device powered on.'
0556     '_FillValue'    default_fill_value };
0557 
0558   var_attr_list.DEVICE_SECS_Iridium_during_connect = {
0559     'long_name'     'iridium connection powe time'
0560     'units'         's'
0561     'comment'       'Time phone powered on while connecting to basestation.'
0562    '_FillValue'    default_fill_value };
0563 
0564   var_attr_list.DEVICE_SECS_Iridium_during_init = {
0565     'long_name'     'iridium initialization powe time'
0566     'units'         's'
0567     'comment'       'Time phone powered on to turn it on.'
0568     '_FillValue'    default_fill_value };
0569 
0570   var_attr_list.DEVICE_SECS_Iridium_during_xfer = {
0571     'long_name'     'iridium transfer powe time'
0572     'units'         's'
0573     'comment'       'Time phone powered on during a file transfer.'
0574     '_FillValue'    default_fill_value };
0575 
0576   var_attr_list.DEVICE_SECS_LPSleep = {
0577     'long_name'     'low power sleep powe time'
0578     'units'         's'
0579     'comment'       'Time TT8 powered on under low power sleep.'
0580     '_FillValue'    default_fill_value };
0581 
0582   var_attr_list.DEVICE_SECS_Pitch_motor = {
0583     'long_name'     'pitch motor powe time'
0584     'units'         's'
0585     'comment'       'Time pitch motor powered on.'
0586     '_FillValue'    default_fill_value };
0587 
0588   var_attr_list.DEVICE_SECS_RAFOS = {
0589     'long_name'     'RAFOS receiver powe time'
0590     'units'         's'
0591     'comment'       'Time RAFOS receiver powered on.'
0592     '_FillValue'    default_fill_value };
0593 
0594   var_attr_list.DEVICE_SECS_Roll_motor = {
0595     'long_name'     'roll motor power time'
0596     'units'         's'
0597     'comment'       'Time roll motor powered on.'
0598     '_FillValue'    default_fill_value };
0599 
0600   var_attr_list.DEVICE_SECS_TT8 = {
0601     'long_name'     'TT8 2 MHz power time'
0602     'units'         's'
0603     'comment'       'Time TT8 at 2MHz powered on.'
0604     '_FillValue'    default_fill_value };
0605 
0606   var_attr_list.DEVICE_SECS_TT8_Active = {
0607     'long_name'     'TT8 active power time'
0608     'units'         's'
0609     'comment'       'Time TT8  powered on in active mode.'
0610     '_FillValue'    default_fill_value };
0611 
0612   var_attr_list.DEVICE_SECS_TT8_CF8 = {
0613     'long_name'     'TT8 flash access power time'
0614     'units'         's'
0615     'comment'       'Time TT8 powered on while accessing compact flash memory.'
0616     '_FillValue'    default_fill_value };
0617 
0618   var_attr_list.DEVICE_SECS_TT8_Kalman = {
0619     'long_name'     'TT8 Kalman filter power time'
0620     'units'         's'
0621     'comment'       'Time TT8 powered on while running the Kalman filter.'
0622     '_FillValue'    default_fill_value };
0623 
0624   var_attr_list.DEVICE_SECS_TT8_Sampling = {
0625     'long_name'     'TT8 sampling power time'
0626     'units'         's'
0627     'comment'       'Time TT8 powered on while sampling sensors.'
0628     '_FillValue'    default_fill_value };
0629 
0630   var_attr_list.DEVICE_SECS_Transponder = {
0631     'long_name'     'transponder power time'
0632     'units'         's'
0633     'comment'       'Time transponder device powered on.'
0634     '_FillValue'    default_fill_value };
0635 
0636   var_attr_list.DEVICE_SECS_Transponder_ping = {
0637     'long_name'     'transponder ping power time'
0638     'units'         's'
0639     'comment'       'Time transponder powered on during an active ping.'
0640     '_FillValue'    default_fill_value };
0641 
0642   var_attr_list.DEVICE_SECS_VBD_pump_during_apogee = {
0643     'long_name'     'VBD apogee pump power time'
0644     'units'         's'
0645     'comment'       'Time VBD pump powered on in active mode.'
0646     '_FillValue'    default_fill_value };
0647 
0648   var_attr_list.DEVICE_SECS_VBD_pump_during_surface = {
0649     'long_name'     'VBD surface pump power time'
0650     'units'         's'
0651     'comment'       'Time VBD pump powered on outside of dive.'
0652     '_FillValue'    default_fill_value };
0653 
0654   var_attr_list.DEVICE_SECS_VBD_valve = {
0655     'long_name'     'VBD valve power time'
0656     'units'         's'
0657     'comment'       'Time VBD valve powered on.'
0658     '_FillValue'    default_fill_value };
0659 
0660   var_attr_list.DIVE = {
0661     'long_name'     'dive number'
0662     'units'         '1'
0663     'comment'       'Dive number in current mission.'
0664     '_FillValue'    default_fill_value };
0665 
0666   var_attr_list.D_ABORT = {
0667     'long_name'     'allowed maximum depth'
0668     'standard_name' 'depth'
0669     'units'         'm'
0670     'positive'      'down'
0671     'comment'       'Maximum depth for Seaglider operations.'
0672     '_FillValue'    default_fill_value };
0673 
0674   var_attr_list.D_BOOST = {
0675     'long_name'     'boost depth'
0676     'standard_name' 'depth'
0677     'units'         'm'
0678     'positive'      'down'
0679     'comment'       'Depth above which only boost pump runs.'
0680     '_FillValue'    default_fill_value };
0681 
0682   var_attr_list.D_CALL = {
0683     'long_name'     'call depth'
0684     'standard_name' 'depth'
0685     'units'         'm'
0686     'positive'      'down'
0687     'comment'       'GPS acquisition and Iridium phone call starting depth.'
0688     '_FillValue'    default_fill_value };
0689 
0690   var_attr_list.D_FINISH = {
0691     'long_name'     'finish depth'
0692     'standard_name' 'depth'
0693     'units'         'm'
0694     'positive'      'down'
0695     'comment'       'Depth to finish the dive.'
0696     '_FillValue'    default_fill_value };
0697 
0698   var_attr_list.D_FLARE = {
0699     'long_name'     'flare depth'
0700     'standard_name' 'depth'
0701     'units'         'm'
0702     'positive'      'down'
0703     'comment'       'Depth to flare to the computed pitch angle following the initial dive from the surface.'
0704     '_FillValue'    default_fill_value };
0705 
0706   var_attr_list.D_GRID = {
0707     'long_name'     'bathymetry apogee depth'
0708     'standard_name' 'depth'
0709     'units'         'm'
0710     'positive'      'down'
0711     'comment'       'Bathymetry map depth where apogee state begins.'
0712     '_FillValue'    default_fill_value };
0713 
0714   var_attr_list.D_NO_BLEED = {
0715     'long_name'     'no bleed depth'
0716     'standard_name' 'depth'
0717     'units'         'm'
0718     'positive'      'down'
0719     'comment'       'Depth below which no oil bleeds from the bladder.'
0720     '_FillValue'    default_fill_value };
0721 
0722   var_attr_list.D_OFFGRID = {
0723     'long_name'     'off-grid depth'
0724     'standard_name' 'depth'
0725     'units'         'm'
0726     'positive'      'down'
0727     'comment'       'Bathymetry map depth value used outside the map area.'
0728     '_FillValue'    default_fill_value };
0729 
0730   var_attr_list.D_PITCH = {
0731     'long_name'     'pitch depth'
0732     'standard_name' 'depth'
0733     'units'         'm'
0734     'positive'      'down'
0735     'comment'       'Depth to reach before surface pitch mneuver.'
0736     '_FillValue'    default_fill_value };
0737 
0738   var_attr_list.D_SAFE = {
0739     'long_name'     'safe depth'
0740     'standard_name' 'depth'
0741     'units'         'm'
0742     'positive'      'down'
0743     'comment'       'Target depth for escape route flight and VBD depth safety limit.'
0744     '_FillValue'    default_fill_value };
0745 
0746   var_attr_list.D_SURF = {
0747     'long_name'     'surface depth'
0748     'standard_name' 'depth'
0749     'units'         'm'
0750     'positive'      'down'
0751     'comment'       'Depth to surface approach.'
0752     '_FillValue'    default_fill_value };
0753 
0754   var_attr_list.D_TGT = {
0755     'long_name'     'target depth'
0756     'standard_name' 'depth'
0757     'units'         'm'
0758     'positive'      'down'
0759     'comment'       'Depth to reach to start apogee phase.'
0760     '_FillValue'    default_fill_value };
0761 
0762   var_attr_list.ERRORS_bufoverrun = {
0763     'long_name'     'buffer overrun errors'
0764     'units'         '1'
0765     'comment'       'Number of times the log file output is longer than the internal buffer length.'
0766     '_FillValue'    default_fill_value };
0767 
0768   var_attr_list.ERRORS_fclos_errs = {
0769     'long_name'     'close file errors'
0770     'units'         '1'
0771     'comment'       'Number of CF8 errors while closing files.'
0772     '_FillValue'    default_fill_value };
0773 
0774   var_attr_list.ERRORS_fclos_rets = {
0775     'long_name'     'close file retries'
0776     'units'         '1'
0777     'comment'       'Number of CF8 retries while closing files.'
0778     '_FillValue'    default_fill_value };
0779 
0780   var_attr_list.ERRORS_fopen_errs = {
0781     'long_name'     'open file errors'
0782     'units'         '1'
0783     'comment'       'Number of CF8 errors while opening files.'
0784     '_FillValue'    default_fill_value };
0785 
0786   var_attr_list.ERRORS_fopen_rets = {
0787     'long_name'     'open file retries'
0788     'units'         '1'
0789     'comment'       'Number of CF8 retries while opening files.'
0790     '_FillValue'    default_fill_value };
0791 
0792   var_attr_list.ERRORS_fwrit_errs = {
0793     'long_name'     'write file errors'
0794     'units'         '1'
0795     'comment'       'Number of CF8 errors while writing files.'
0796     '_FillValue'    default_fill_value };
0797 
0798   var_attr_list.ERRORS_fwrit_rets = {
0799     'long_name'     'write file retries'
0800     'units'         '1'
0801     'comment'       'Number of CF8 retries while writing files.'
0802     '_FillValue'    default_fill_value };
0803 
0804   var_attr_list.ERRORS_gps_mis = {
0805     'long_name'     'gps missing errors'
0806     'units'         '1'
0807     'comment'       'Number of times GPS did not provide data records within the 2 second timeout.'
0808     '_FillValue'    default_fill_value };
0809 
0810   var_attr_list.ERRORS_gps_pps = {
0811     'long_name'     'gps pulse per second errors'
0812     'units'         '1'
0813     'comment'       'Number of GPS pulse per second (PPS) errors.'
0814     '_FillValue'    default_fill_value };
0815 
0816   var_attr_list.ERRORS_interrupts = {
0817     'long_name'     'interrupt errors'
0818     'units'         '1'
0819     'comment'       'Number of spurious interrupts resultin from division by zero, memory dereference problems, or interrupt contention.'
0820     '_FillValue'    default_fill_value };
0821 
0822   var_attr_list.ERRORS_ptch_errs = {
0823     'long_name'     'pitch errors'
0824     'units'         '1'
0825     'comment'       'Number of pitch errors.'
0826     '_FillValue'    default_fill_value };
0827 
0828   var_attr_list.ERRORS_ptch_rets = {
0829     'long_name'     'pitch retries'
0830     'units'         '1'
0831     'comment'       'Number of pitch retries.'
0832     '_FillValue'    default_fill_value };
0833 
0834   var_attr_list.ERRORS_roll_errs = {
0835     'long_name'     'roll errors'
0836     'units'         '1'
0837     'comment'       'Number of roll errors.'
0838     '_FillValue'    default_fill_value };
0839 
0840   var_attr_list.ERRORS_roll_rets = {
0841     'long_name'     'roll retries'
0842     'units'         '1'
0843     'comment'       'Number of roll retries.'
0844     '_FillValue'    default_fill_value };
0845 
0846   var_attr_list.ERRORS_vbd_errs = {
0847     'long_name'     'VBD errors'
0848     'units'         '1'
0849     'comment'       'Number of VBD errors.'
0850     '_FillValue'    default_fill_value };
0851 
0852   var_attr_list.ERRORS_vbd_rets = {
0853     'long_name'     'VBD retries'
0854     'units'         '1'
0855     'comment'       'Number of VBD retries.'
0856     '_FillValue'    default_fill_value };
0857 
0858   var_attr_list.ESCAPE_HEADING = {
0859     'long_name'     'escape heading'
0860     'units'         'degree'
0861     'comment'       'Base heading to steer in an escape recovery situation when either no position fix is available or no escape target in targets file.'
0862     '_FillValue'    default_fill_value };
0863 
0864   var_attr_list.ESCAPE_HEADING_DELTA = {
0865     'long_name'     'eascape heading increment'
0866     'units'         'degree'
0867     'comment'       'Escape heading increment according to bottom depth change.'
0868     '_FillValue'    default_fill_value };
0869 
0870   var_attr_list.FERRY_MAX = {
0871     'long_name'     'maximum rhumb line correction'
0872     'units'         'degree'
0873     'comment'       'Maximum correction to apply to the rhumb line to the next waypoint when NAV_MODE = 2.'
0874     '_FillValue'    default_fill_value };
0875 
0876   var_attr_list.FG_AHR_10V = {
0877     'long_name'     'low voltage battery pack consumption'
0878     'units'         'A h'
0879     'comment'       'Cumulative power consumed from the low voltage battery pack (10 V) as tracked by the supervisor fuel gauge.'
0880     '_FillValue'    default_fill_value };
0881 
0882   var_attr_list.FG_AHR_10Vo = {
0883     'long_name'     'low voltage battery pack dive end consumption'
0884     'units'         'A h'
0885     'comment'       'Cumulative power consumed from the low voltage battery pack (24 V) as tracked by the supervisor fuel gauge and recorded at the end of the dive.'
0886     '_FillValue'    default_fill_value };
0887 
0888   var_attr_list.FG_AHR_24V = {
0889     'long_name'     'high voltage battery pack consumption'
0890     'units'         'A h'
0891     'comment'       'Cumulative power consumed from the high voltage battery pack (24 V) as tracked by the supervisor fuel gauge.'
0892     '_FillValue'    default_fill_value };
0893 
0894   var_attr_list.FG_AHR_24Vo = {
0895     'long_name'     'high voltage battery pack dive end consumption'
0896     'units'         'A h'
0897     'comment'       'Cumulative power consumed from the high voltage battery pack (24 V) as tracked by the supervisor fuel gauge and recorded at the end of the dive.'
0898     '_FillValue'    default_fill_value };
0899 
0900   var_attr_list.FILEMGR = {
0901     'long_name'     'file management agressivity'
0902     'units'         '1'
0903     'comment'       'Onboard file system management agressivity (0 = none, 1 = only store compressed files, 2 = delete splits on failed phone call).'
0904     '_FillValue'    default_fill_value };
0905 
0906   var_attr_list.FINISH_dens = {
0907     'long_name'     'finish density'
0908     'standard_name' 'sea_water_density'
0909     'units'         'kg l-1'
0910     'comment'       'Density of water at the first sample taken after reaching D_SURF (or D_FINISH, if enabled).'
0911     '_FillValue'    default_fill_value };
0912 
0913   var_attr_list.FINISH_dpth = {
0914     'long_name'     'finish depth'
0915     'standard_name' 'depth'
0916     'units'         'm'
0917     'positive'      'down'
0918     'comment'       'Depth of glider at the first sample taken after reaching D_SURF (or D_FINISH, if enabled).'
0919     '_FillValue'    default_fill_value };
0920 
0921   var_attr_list.FINISH1_field01 = {
0922     'long_name'     ''
0923     'units'         ''
0924     'comment'       ''
0925     '_FillValue'    default_fill_value };
0926 
0927   var_attr_list.FINISH1_field02 = {
0928     'long_name'     ''
0929     'units'         ''
0930     'comment'       ''
0931     '_FillValue'    default_fill_value };
0932 
0933   var_attr_list.FINISH1_field03 = {
0934     'long_name'     ''
0935     'units'         ''
0936     'comment'       ''
0937     '_FillValue'    default_fill_value };
0938 
0939   var_attr_list.FINISH2 = {
0940     'long_name'     ''
0941     'units'         ''
0942     'comment'       ''
0943     '_FillValue'    default_fill_value };
0944 
0945   var_attr_list.FIX_MISSING_TIMEOUT = {
0946     'long_name'     'missing navigation fix timeout'
0947     'units'         'days'
0948     'comment'       'Maximum time allowed without any valid navigation fix (GPS, RAFOS, Iridium geolocation) before entering into recovery state.'
0949     '_FillValue'    default_fill_value };
0950 
0951   var_attr_list.GLIDE_SLOPE = {
0952     'long_name'     'maximum glide slope'
0953     'units'         'degree'
0954     'comment'       'Absolute value of the maximum glide slope allowed.'
0955     '_FillValue'    default_fill_value };
0956 
0957   var_attr_list.GPS_DEVICE = {
0958     'long_name'     'GPS device model'
0959     'units'         '1'
0960     '_FillValue'    default_fill_value };
0961 
0962   var_attr_list.GPSFIX_ddmmyy = {
0963     'long_name'     'GPS date stamp'
0964     'comment'       'Day of month (dd), month of year (mm), 2-digit year (yy) UTC'
0965     '_FillValue'    0 };
0966 
0967   var_attr_list.GPSFIX_fixlat = {
0968     'long_name'     'gps latitude'
0969     'standard_name' 'latitude'
0970     'units'         'nmea_degree'
0971     'comment'       'Latitude coordinate of GPS fix.'
0972     '_FillValue'    default_fill_value };
0973 
0974   var_attr_list.GPSFIX_fixlon = {
0975     'long_name'     'gps longitude'
0976     'standard_name' 'longitude'
0977     'units'         'nmea_degree'
0978     'comment'       'Longitude coordinate of GPS fix.'
0979     '_FillValue'    default_fill_value };
0980 
0981   var_attr_list.GPSFIX_hhmmss = {
0982     'long_name'     'gps time stamp'
0983     'comment'       'Hour (hh), minute (mm), second (ss) UTC'
0984     '_FillValue'    0 };
0985 
0986   var_attr_list.GPSFIX_hordop = {
0987     'long_name'     'horizontal dilution of precision'
0988     'units'         ''
0989     'comment'       'Measure of the strength of the figure used to compute the GPS fix.'
0990     '_FillValue'    default_fill_value };
0991 
0992   var_attr_list.GPSFIX_magvar = {
0993     'long_name'     'gps magnetic variation'
0994     'units'         'degree'
0995     'comment'       'Magnetic variation, positive east.'
0996     '_FillValue'    default_fill_value };
0997 
0998   var_attr_list.GPSFIX_ttafix = {
0999     'long_name'     'gps time to acquire fix'
1000     'units'         ''
1001     'comment'       'Total time to acquire fix.'
1002     '_FillValue'    default_fill_value };
1003 
1004   var_attr_list.GPSFIX_ttffix = {
1005     'long_name'     'gps time to first fix'
1006     'units'         's'
1007     'comment'       'Time to first fix,'
1008     '_FillValue'    default_fill_value };
1009 
1010   var_attr_list.HD_A = {
1011     'long_name'     'lift coefficient'
1012     'units'         ''
1013     'comment'       'Hydrodynamic parameter representing the lift coefficient determined empirically and used in onboard performance prediction and guidance calculations.'
1014     '_FillValue'    default_fill_value };
1015 
1016   var_attr_list.HD_B = {
1017     'long_name'     'drag coefficient'
1018     'units'         ''
1019     'comment'       'Hydrodynamic parameter representing the drag coefficient determined empirically and used in onboard performance prediction and guidance calculations.'
1020     '_FillValue'    default_fill_value };
1021 
1022   var_attr_list.HD_C = {
1023     'long_name'     'induced drag coefficient'
1024     'units'         ''
1025     'comment'       'Hydrodynamic parameter representing the induced drag coefficient determined empirically and used in on-board performance prediction and guidance calculations.'
1026     '_FillValue'    default_fill_value };
1027 
1028   var_attr_list.HEADING = {
1029     'long_name'     'navigation heading'
1030     'units'         'degree'
1031     'comment'       'Syntetic waypoint heading (NAV_MODE 0,1 or 2) or heading offset from depth-averaged current (NAV_MODE 3).'
1032     '_FillValue'    default_fill_value };
1033 
1034   var_attr_list.HEAD_ERRBAND = {
1035     'long_name'     'heading deadband'
1036     'units'         'degree'
1037     'comment'       'Heading minimum error to recquire a correction in guidance and control mode.'
1038     '_FillValue'    default_fill_value };
1039 
1040   var_attr_list.HEAPDBG = {
1041     'long_name'     'heap debug control'
1042     'units'         '1'
1043     'comment'       'Control of the extended heap debugging function.'
1044     '_FillValue'    default_fill_value };
1045 
1046   var_attr_list.HUMID = {
1047     'long_name'     'internal humidity'
1048     'units'         '%'
1049     'comment'       'Relative humidity inside the pressure hull.'
1050     '_FillValue'    default_fill_value };
1051 
1052   var_attr_list.ICE_FREEZE_MARGIN = {
1053     'long_name'     'freezing point temperature margin'
1054     'units'         'Celsius'
1055     'comment'       'Temperature margin used in the freezing point calculation.'
1056     '_FillValue'    default_fill_value };
1057 
1058   var_attr_list.ID = {
1059     'long_name'     'identification number'
1060     'units'         '1'
1061     'comment'       'Seglider identification (serial) number.'
1062     '_FillValue'    default_fill_value };
1063 
1064   var_attr_list.INTERNAL_PRESSURE = {
1065     'long_name'     'internal pressure'
1066     'units'         'psia'
1067     'comment'       'Pressure inside the pressure hull'
1068     '_FillValue'    default_fill_value };
1069 
1070   var_attr_list.INT_PRESSURE_SLOPE = {
1071     'long_name'     'internal pressure calibration slope'
1072     'units'         'psia counts-1'
1073     'comment'       'Slope calibration of the internal pressure sensor.'
1074     '_FillValue'    default_fill_value };
1075 
1076   var_attr_list.INT_PRESSURE_YINT = {
1077     'long_name'     'internal pressure calibration intercept'
1078     'units'         'psia'
1079     'comment'       'Y-intercept calibration of the internal pressure sensor.'
1080     '_FillValue'    default_fill_value };
1081 
1082   var_attr_list.IRIDIUM_FIX_field01 = {
1083     'long_name'     ''
1084     'units'         ''
1085     'comment'       'Unknown field 01 of IRIDIUM_FIX log parameter.'
1086     '_FillValue'    default_fill_value };
1087 
1088   var_attr_list.IRIDIUM_FIX_field02 = {
1089     'long_name'     ''
1090     'units'         ''
1091     'comment'       'Unknown field 02 of IRIDIUM_FIX log parameter.'
1092     '_FillValue'    default_fill_value };
1093 
1094   var_attr_list.IRIDIUM_FIX_field03 = {
1095     'long_name'     ''
1096     'units'         ''
1097     'comment'       'Unknown field 03 of IRIDIUM_FIX log parameter.'
1098     '_FillValue'    default_fill_value };
1099 
1100   var_attr_list.IRIDIUM_FIX_field04 = {
1101     'long_name'     ''
1102     'units'         ''
1103     'comment'       'Unknown field 04 of IRIDIUM_FIX log parameter.'
1104     '_FillValue'    default_fill_value };
1105 
1106   var_attr_list.KALMAN_CONTROL_spd_east = {
1107     'long_name'     'desired eastward speed'
1108     'units'         'm s-1'
1109     'comment'       'Eastward component of horizontal speed from which heading is derived.'
1110     '_FillValue'    default_fill_value };
1111 
1112   var_attr_list.KALMAN_CONTROL_spd_nrth = {
1113     'long_name'     'desired northward speed'
1114     'units'         'm s-1'
1115     'comment'       'Northward component of horizontal speed from which heading is derived.'
1116     '_FillValue'    default_fill_value };
1117 
1118   var_attr_list.KALMAN_USE = {
1119     'long_name'     'navigation Kalman filter control'
1120     'units'         '1'
1121     'comment'       'Control parameter for the run state of the Kalman filter navigation program (0 = reset Kalman filter, 1 = run Kalman filter, 2 = do not run the Kalman filter).'
1122     '_FillValue'    default_fill_value };
1123 
1124   var_attr_list.KALMAN_X_cur_diur_east = {
1125     'long_name'     'Kalman filter diurnal current easting'
1126     'units'         'm'
1127     'comment'       'East position relative to initial position at time tk due to diurnal current.'
1128     '_FillValue'    default_fill_value };
1129 
1130   var_attr_list.KALMAN_X_cur_mean_east = {
1131     'long_name'     'Kalman filter mean current easting'
1132     'units'         'm'
1133     'comment'       'East position relative to initial position at time tk due to mean current.'
1134     '_FillValue'    default_fill_value };
1135 
1136   var_attr_list.KALMAN_X_cur_semi_east = {
1137     'long_name'     'Kalman filter semidiurnal current easting'
1138     'units'         'm'
1139     'comment'       'East position relative to initial position at time tk due to semidiurnal current.'
1140     '_FillValue'    default_fill_value };
1141 
1142   var_attr_list.KALMAN_X_delta_x = {
1143     'long_name'     'Kalman filter x displacement'
1144     'units'         'm'
1145     'comment'       'X displacement from present position to predicted position due to mean, diurnal and semidiurnal components of the model.'
1146     '_FillValue'    default_fill_value };
1147 
1148   var_attr_list.KALMAN_X_gld_wspd_east = {
1149     'long_name'     'Kalman filter glider speed easting'
1150     'units'         'm'
1151     'comment'       'East position relative to initial position at time tk due to glider speed through water.'
1152     '_FillValue'    default_fill_value };
1153 
1154   var_attr_list.KALMAN_Y_cur_diur_nrth = {
1155     'long_name'     'Kalman filter diurnal current northing'
1156     'units'         'm'
1157     'comment'       'North position relative to initial position at time tk due to diurnal current.'
1158     '_FillValue'    default_fill_value };
1159 
1160   var_attr_list.KALMAN_Y_cur_mean_nrth = {
1161     'long_name'     'Kalman filter mean current northing'
1162     'units'         'm'
1163     'comment'       'North position relative to initial position at time tk due to mean current.'
1164     '_FillValue'    default_fill_value };
1165 
1166   var_attr_list.KALMAN_Y_cur_semi_nrth = {
1167     'long_name'     'Kalman filter semidiurnal current northing'
1168     'units'         'm'
1169     'comment'       'North position relative to initial position at time tk due to semidiurnal current.'
1170     '_FillValue'    default_fill_value };
1171 
1172   var_attr_list.KALMAN_Y_delta_y = {
1173     'long_name'     'Kalman filter y displacement'
1174     'units'         'm'
1175     'comment'       'Y displacement from present position to predicted position due to mean, diurnal and semidiurnal components of the model.'
1176     '_FillValue'    default_fill_value };
1177 
1178   var_attr_list.KALMAN_Y_gld_wspd_nrth = {
1179     'long_name'     'Kalman filter glider speed northing'
1180     'units'         'm'
1181     'comment'       'North position relative to initial position at time tk due to glider speed through water.'
1182     '_FillValue'    default_fill_value };
1183 
1184   var_attr_list.KERMIT = {
1185     'long_name'     'kermit control'
1186     'units'         ''
1187     'comment'       'Control of the use of kermit (vs xmodem) for file transfers. Not used.'
1188     '_FillValue'    default_fill_value };
1189 
1190   var_attr_list.LOGGERDEVICE1 = {
1191     'long_name'     ''
1192     'units'         ''
1193     'comment'       ''
1194     '_FillValue'    default_fill_value };
1195 
1196   var_attr_list.LOGGERDEVICE2 = {
1197     'long_name'     ''
1198     'units'         ''
1199     'comment'       ''
1200     '_FillValue'    default_fill_value };
1201 
1202   var_attr_list.LOGGERS = {
1203     'long_name'     'logger bitmask'
1204     'units'         ''
1205     'comment'       'bit mask for the autonomous logging devices configured with the Autonomous Logger Interface (ALI).'
1206     '_FillValue'    default_fill_value };
1207 
1208   var_attr_list.MASS = {
1209     'long_name'     'glider mass'
1210     'standard_name' 'mass'
1211     'units'         'g'
1212     'comment'       'Mass used in onboard buoyancy and current estimation calculation.'
1213     '_FillValue'    default_fill_value };
1214 
1215   var_attr_list.MAX_BUOY = {
1216     'long_name'     'maximum negative thrust'
1217     'units'         'cm3'
1218     'comment'       'Absolute value of the maximum negative thrust (in cc) that Seaglider is allowed to develop during the dive phase.'
1219     '_FillValue'    default_fill_value };
1220 
1221   var_attr_list.MEM = {
1222     'long_name'     'free RAM memory'
1223     'units'         'bytes'
1224     'comment'       'Amount of free RAM reported by the glider.'
1225     '_FillValue'    default_fill_value };
1226 
1227   var_attr_list.MHEAD_RNG_PITCHd_Wd_mag_head = {
1228     'long_name'     'desired magnetic heading'
1229     'units'         'degree'
1230     'comment'       ''
1231     '_FillValue'    default_fill_value };
1232 
1233   var_attr_list.MHEAD_RNG_PITCHd_Wd_ptch_ang = {
1234     'long_name'     'desired pitch angle'
1235     'units'         'degree'
1236     'comment'       ''
1237     '_FillValue'    default_fill_value };
1238 
1239   var_attr_list.MHEAD_RNG_PITCHd_Wd_tgt_rnge = {
1240     'long_name'     'targer range'
1241     'units'         'm'
1242     'comment'       ''
1243     '_FillValue'    default_fill_value };
1244 
1245   var_attr_list.MHEAD_RNG_PITCHd_Wd_vert_vel = {
1246     'long_name'     'desired vertical velocity'
1247     'units'         'm s-1'
1248     'comment'       ''
1249     '_FillValue'    default_fill_value };
1250 
1251   var_attr_list.MINV_10V = {
1252     'long_name'     'low voltage battery pack minimum voltage allowed'
1253     'units'         'V'
1254     'comment'       'minimum allowable observed voltage on the low voltage battery pack before going into recovery.'
1255     '_FillValue'    default_fill_value };
1256 
1257   var_attr_list.MINV_24V = {
1258     'long_name'     'high voltage battery pack minimum voltage allowed'
1259     'units'         'V'
1260     'comment'       'minimum allowable observed voltage on the low voltage battery pack before going into recovery.'
1261     '_FillValue'    default_fill_value };
1262 
1263   var_attr_list.MISSION = {
1264     'long_name'     'mission number'
1265     'units'         '1'
1266     'comment'       'Current mission number.'
1267     '_FillValue'    default_fill_value };
1268 
1269   var_attr_list.MOTHERBOARD = {
1270     'long_name'     'motherboard revision'
1271     'units'         '1'
1272     'comment'       'Revision of the carried motherboard.'
1273     '_FillValue'    default_fill_value };
1274 
1275   var_attr_list.NAV_MODE = {
1276     'long_name'     'navigation mode'
1277     'units'         '1'
1278     'comment'       'Heading selection method (0 = constant HEADING, 1 = KALMAN_USE, 2 = ferry angle correction wrt depth-averaged current, 3 = HEADING relative to depth-averaged current).'
1279     '_FillValue'    default_fill_value };
1280 
1281   var_attr_list.N_FILEKB = {
1282     'long_name'     'data upload file size'
1283     'units'         'kbytes'
1284     'comment'       'Size and type of file used for data uploading (disable gzip compression if negative).'
1285     '_FillValue'    default_fill_value };
1286 
1287   var_attr_list.N_GPS = {
1288     'long_name'     'gps maximum time'
1289     'units'         's'
1290     'comment'       'Time to wait after the first GPS fix is received for a GPS fix with HDOP less than 2.0.'
1291     '_FillValue'    default_fill_value };
1292 
1293   var_attr_list.N_NOCOMM = {
1294     'long_name'     'allowed no-communication dives'
1295     'units'         '1'
1296     'comment'       'Number of dives allowed without a complete and successful data communication session before setting the surface buoyancy parameter to the allowed maximum.'
1297     '_FillValue'    default_fill_value };
1298 
1299   var_attr_list.N_NOSURFACE = {
1300     'long_name'     'non-surfacing dive control'
1301     'units'         '1'
1302     'comment'       'Control of surfacing and non-surfacing dives. If positive dives multiple of N_NOSURFACE will complete at subsurface instead of surface. A negative value reverses this logic.'
1303     '_FillValue'    default_fill_value };
1304 
1305   var_attr_list.PHONE_DEVICE = {
1306     'long_name'     'phone device model'
1307     'units'         '1'
1308     'comment'       'Model of the attached phone device.'
1309     '_FillValue'    default_fill_value };
1310 
1311   var_attr_list.PHONE_SUPPLY = {
1312     'long_name'     'phone power supply'
1313     'units'         ''
1314     'comment'       'Iridium modem power usage attribution (1 = 10V battery, 2 = 24V battery).'
1315     '_FillValue'    default_fill_value };
1316 
1317   var_attr_list.PITCH_ADJ_DBAND = {
1318     'long_name'     'pitch control deadband'
1319     'units'         'degree'
1320     'comment'       'Allowed deadband for active pitch control during dive and climb.'
1321     '_FillValue'    default_fill_value };
1322 
1323   var_attr_list.PITCH_ADJ_GAIN = {
1324     'long_name'     'pitch control gain'
1325     'units'         'cm degree-1'
1326     'comment'       'Adjustment factor for active pitch control during dive and climb.'
1327     '_FillValue'    default_fill_value };
1328 
1329   var_attr_list.PITCH_AD_RATE = {
1330     'long_name'     'pitch rate retry threshold'
1331     'units'         'count s-1'
1332     'comment'       'Pitch rate threshold for retries when pitching.'
1333     '_FillValue'    default_fill_value };
1334 
1335   var_attr_list.PITCH_CNV = {
1336     'long_name'     'pitch position conversion factor'
1337     'units'         'cm counts-1'
1338     'comment'       'Pitch position conversion factor set by manufacturer or assembler.'
1339     '_FillValue'    default_fill_value };
1340 
1341   var_attr_list.PITCH_DBAND = {
1342     'long_name'     'pitch deadband'
1343     'units'         'cm'
1344     'comment'       'Pitch position deadband (cm) within which no further pitch motion is commanded.'
1345     '_FillValue'    default_fill_value };
1346 
1347   var_attr_list.PITCH_GAIN = {
1348     'long_name'     'pitch gain'
1349     'units'         'degree cm-1'
1350     'comment'       'Amount of vehicle pitch change corresponding to a 1 cm movement of the pitch mass.'
1351     '_FillValue'    default_fill_value };
1352 
1353   var_attr_list.PITCH_MAX = {
1354     'long_name'     'pitch maximum position'
1355     'units'         'counts'
1356     'comment'       'Pitch position software limit aft.'
1357     '_FillValue'    default_fill_value };
1358 
1359   var_attr_list.PITCH_MAXERRORS = {
1360     'long_name'     'maximum pitch errors'
1361     'units'         '1'
1362     'comment'       'Number of pitch motor errors allowed before going into recovery state.'
1363     '_FillValue'    default_fill_value };
1364 
1365   var_attr_list.PITCH_MIN = {
1366     'long_name'     'pitch minimum position'
1367     'units'         'counts'
1368     'comment'       'Pitch position software limit forward.'
1369     '_FillValue'    default_fill_value };
1370 
1371   var_attr_list.PITCH_TIMEOUT = {
1372     'long_name'     'pitch timeout'
1373     'units'         's'
1374     'comment'       'Time allowed the mass shifter to achieve the desired pitch position.'
1375     '_FillValue'    default_fill_value };
1376 
1377   var_attr_list.PITCH_VBD_SHIFT = {
1378     'long_name'     'pitch VBD compensation'
1379     'units'         'cm cm-3'
1380     'comment'       'Pitch compensation (cm/cm3) required to balance the mass of the hydraulic oil moving forward and aft with the change in buoyancy as a result of VBD changes.'
1381     '_FillValue'    default_fill_value };
1382 
1383   var_attr_list.PRESSURE_SLOPE = {
1384     'long_name'     'pressure slope'
1385     'units'         ''
1386     'comment'       'Slope of linear fit between psig and pressure sensor output (after digitization to A/D counts through AD7714).'
1387     '_FillValue'    default_fill_value };
1388 
1389   var_attr_list.PRESSURE_YINT = {
1390     'long_name'     'pressure interecept'
1391     'units'         ''
1392     'comment'       'Y-intercept of linear fit between psig and pressure sensor output (after digitization to A/D counts through AD7714).'
1393     '_FillValue'    default_fill_value };
1394 
1395   var_attr_list.P_OVSHOOT = {
1396     'long_name'     'pitch overshoot'
1397     'units'         'cm'
1398     'comment'       'Distance by which the pitch mass is allowed to overshoot its target after the pitch motor is turned off.'
1399     '_FillValue'    default_fill_value };
1400 
1401   var_attr_list.RAFOS_CORR_THRESH = {
1402     'long_name'     'RAFOS correlation threshold'
1403     'units'         '1'
1404     'comment'       'Correlation threshold to use when selecting RAFOS hits for navigation solutions.'
1405     '_FillValue'    default_fill_value };
1406 
1407   var_attr_list.RAFOS_DEVICE = {
1408     'long_name'     'RAFOS device flag'
1409     'units'         '1'
1410     'comment'       'Model of the attached RAFOS device (-1 = RAFOS device not installed).'
1411     '_FillValue'    default_fill_value };
1412 
1413   var_attr_list.RAFOS_HIT_WINDOW = {
1414     'long_name'     'RAFOS hit window size'
1415     'units'         '1'
1416     'comment'       'Size of search window in seconds to use when clustering hits for navigation solutions.'
1417     '_FillValue'    default_fill_value };
1418 
1419   var_attr_list.RAFOS_PEAK_OFFSET = {
1420     'long_name'     'RAFOS arrival time offset'
1421     'units'         's'
1422     'comment'       'Offset of actual arrival time from the receiver reported arrival index due to receiver firmware artefacts.'
1423     '_FillValue'    default_fill_value };
1424 
1425   var_attr_list.RELAUNCH = {
1426     'long_name'     'post-error relaunch flag'
1427     'units'         '1'
1428     'comment'       'Behaviour in the event of a crash to TOM8 or any watchdog timer reset (0 = resume diving, 1 = enter recovery)'
1429     '_FillValue'    default_fill_value };
1430 
1431   var_attr_list.RHO = {
1432     'long_name'     'water density preset'
1433     'standard_name' 'sea_water_density'
1434     'units'         'kg l-1'
1435     'comment'       'Water density value used for converting buoyancy force in grams to sea water displacement in cm3 and on-board performance prediction computations.'
1436     '_FillValue'    default_fill_value };
1437 
1438   var_attr_list.ROLL_ADJ_DBAND = {
1439     'long_name'     'roll control deadband'
1440     'units'         'degree s-1'
1441     'comment'       'Allowed deadband for roll control.'
1442     '_FillValue'    default_fill_value };
1443 
1444   var_attr_list.ROLL_ADJ_GAIN = {
1445     'long_name'     'roll control gain'
1446     'units'         'degree degree-1 s-1'
1447     'comment'       'Adjustment factor for roll control.'
1448     '_FillValue'    default_fill_value };
1449 
1450   var_attr_list.ROLL_AD_RATE = {
1451     'long_name'     'roll rate retry threshold.'
1452     'units'         'counts s-1'
1453     'comment'       'Roll rate threshold for retries when rolling.'
1454     '_FillValue'    default_fill_value };
1455 
1456   var_attr_list.ROLL_CNV = {
1457     'long_name'     'roll position conversion factor'
1458     'units'         'degree counts-1'
1459     'comment'       'Roll position conversion factor determined by the particulars of the roll gear train, motor and potentiometer.'
1460     '_FillValue'    default_fill_value };
1461 
1462   var_attr_list.ROLL_DEG = {
1463     'long_name'     'turn roll angle'
1464     'units'         'degree'
1465     'comment'       'Angle to roll the internal roll mass during a turn.'
1466     '_FillValue'    default_fill_value };
1467 
1468   var_attr_list.ROLL_MAX = {
1469     'long_name'     'roll maximum position'
1470     'units'         'counts'
1471     'comment'       'Roll position software limit to starboard.'
1472     '_FillValue'    default_fill_value };
1473 
1474   var_attr_list.ROLL_MAXERRORS = {
1475     'long_name'     'maximum roll errors'
1476     'units'         '1'
1477     'comment'       'Number of roll motor errors allowed before going into recovery state.'
1478     '_FillValue'    default_fill_value };
1479 
1480   var_attr_list.ROLL_MIN = {
1481     'long_name'     'roll minimum position'
1482     'units'         'counts'
1483     'comment'       'Roll position software limit to port.'
1484     '_FillValue'    default_fill_value };
1485 
1486   var_attr_list.ROLL_TIMEOUT = {
1487     'long_name'     'roll timeout'
1488     'units'         's'
1489     'comment'       'Time allowed to achieve the desired roll position.'
1490     '_FillValue'    default_fill_value };
1491 
1492   var_attr_list.R_PORT_OVSHOOT = {
1493     'long_name'     'roll port overshoot'
1494     'units'         'counts'
1495     'comment'       'Roll mass overshoot to port after motor is turned off.'
1496     '_FillValue'    default_fill_value };
1497 
1498   var_attr_list.R_STBD_OVSHOOT = {
1499     'long_name'     'roll starboard port overshoot'
1500     'units'         'counts'
1501     'comment'       'Roll mass overshoot to port after motor is turned off.'
1502     '_FillValue'    default_fill_value };
1503 
1504   var_attr_list.SEABIRD_C_G = {
1505     'long_name'     'conductivity calibration coefficient g'
1506     'units'         ''
1507     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute salinity and density for self-trimming applications and subsurface finish maneuvers.'
1508     '_FillValue'    default_fill_value };
1509 
1510   var_attr_list.SEABIRD_C_H = {
1511     'long_name'     'conductivity calibration coefficient h'
1512     'units'         ''
1513     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute salinity and density for self-trimming applications and subsurface finish maneuvers.'
1514     '_FillValue'    default_fill_value };
1515 
1516   var_attr_list.SEABIRD_C_I = {
1517     'long_name'     'conductivity calibration coefficient i'
1518     'units'         ''
1519     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute salinity and density for self-trimming applications and subsurface finish maneuvers.'
1520     '_FillValue'    default_fill_value };
1521 
1522   var_attr_list.SEABIRD_C_J = {
1523     'long_name'     'conductivity calibration coefficient j'
1524     'units'         ''
1525     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute salinity and density for self-trimming applications and subsurface finish maneuvers.'
1526     '_FillValue'    default_fill_value };
1527 
1528   var_attr_list.SEABIRD_T_G = {
1529     'long_name'     'temperature calibration coefficient g'
1530     'units'         ''
1531     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute temperature, salinity and density for self-trimming applications and subsurface finish maneuvers.'
1532     '_FillValue'    default_fill_value };
1533 
1534   var_attr_list.SEABIRD_T_H = {
1535     'long_name'     'temperature calibration coefficient h'
1536     'units'         ''
1537     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute temperature, salinity and density for self-trimming applications and subsurface finish maneuvers.'
1538     '_FillValue'    default_fill_value };
1539 
1540   var_attr_list.SEABIRD_T_I = {
1541     'long_name'     'temperature calibration coefficient i'
1542     'units'         ''
1543     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute temperature, salinity and density for self-trimming applications and subsurface finish maneuvers.'
1544     '_FillValue'    default_fill_value };
1545 
1546   var_attr_list.SEABIRD_T_J = {
1547     'long_name'     'temperature calibration coefficient j'
1548     'units'         ''
1549     'comment'       'Seabird Electronics-provided calibration coefficients for conductivity sensor used to compute temperature, salinity and density for self-trimming applications and subsurface finish maneuvers.'
1550     '_FillValue'    default_fill_value };
1551 
1552   var_attr_list.SENSOR_MAMPS_AA4330 = {
1553     'long_name'     'anderaa 4330 maximum current'
1554     'units'         'mA'
1555     'comment'       'Maximum current drawn by Aanderaa 4330 sensor.'
1556     '_FillValue'    default_fill_value };
1557 
1558   var_attr_list.SENSOR_MAMPS_SBE_CT = {
1559     'long_name'     'seabird ct maximum current'
1560     'units'         'mA'
1561     'comment'       'Maximum current drawn by Seabird conductivity and temperature sail.'
1562     '_FillValue'    default_fill_value };
1563 
1564   var_attr_list.SENSOR_MAMPS_WL_BBFL2VMT = {
1565     'long_name'     'bbfl2 triplet maximum current'
1566     'units'         'mA'
1567     'comment'       'Maximum current drawn by WETLabs BBFL2 fluorometer and backscatter sensor.'
1568     '_FillValue'    default_fill_value };
1569 
1570   var_attr_list.SENSOR_MAMPS_field04 = {
1571     'long_name'     ''
1572     'units'         'mA'
1573     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1574     '_FillValue'    default_fill_value };
1575 
1576   var_attr_list.SENSOR_MAMPS_field05 = {
1577     'long_name'     ''
1578     'units'         'mA'
1579     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1580     '_FillValue'    default_fill_value };
1581 
1582   var_attr_list.SENSOR_MAMPS_field06 = {
1583     'long_name'     ''
1584     'units'         'mA'
1585     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1586     '_FillValue'    default_fill_value };
1587 
1588   var_attr_list.SENSOR_MAMPS_field07 = {
1589     'long_name'     ''
1590     'units'         'mA'
1591     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1592     '_FillValue'    default_fill_value };
1593 
1594   var_attr_list.SENSOR_MAMPS_field08 = {
1595     'long_name'     ''
1596     'units'         'mA'
1597     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1598     '_FillValue'    default_fill_value };
1599 
1600   var_attr_list.SENSOR_SECS_AA4330 = {
1601     'long_name'     'anderaa 4330 power time'
1602     'units'         's'
1603     'comment'       'Time Aanderaa 4330 sensor.'
1604     '_FillValue'    default_fill_value };
1605 
1606   var_attr_list.SENSOR_SECS_SBE_CT = {
1607     'long_name'     'seabird ct power time'
1608     'units'         's'
1609     'comment'       'Time Seabird conductivity and temperature sail.'
1610     '_FillValue'    default_fill_value };
1611 
1612   var_attr_list.SENSOR_SECS_WL_BBFL2VMT = {
1613     'long_name'     'bbfl2 power time'
1614     'units'         's'
1615     'comment'       'Time WETLabs BBFL2 fluoreometer and backscatter sensor.'
1616     '_FillValue'    default_fill_value };
1617 
1618   var_attr_list.SENSOR_SECS_field04 = {
1619     'long_name'     ''
1620     'units'         's'
1621     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1622     '_FillValue'    default_fill_value };
1623 
1624   var_attr_list.SENSOR_SECS_field05 = {
1625     'long_name'     ''
1626     'units'         's'
1627     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1628     '_FillValue'    default_fill_value };
1629 
1630   var_attr_list.SENSOR_SECS_field06 = {
1631     'long_name'     ''
1632     'units'         's'
1633     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1634     '_FillValue'    default_fill_value };
1635 
1636   var_attr_list.SENSOR_SECS_field07 = {
1637     'long_name'     ''
1638     'units'         's'
1639     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1640     '_FillValue'    default_fill_value };
1641 
1642   var_attr_list.SENSOR_SECS_field08 = {
1643     'long_name'     ''
1644     'units'         's'
1645     'comment'       'Unknown sensor or nil (no sensor present in this slot).'
1646     '_FillValue'    default_fill_value };
1647 
1648   var_attr_list.SIM_PITCH = {
1649     'long_name'     'simulated pitch angle'
1650     'units'         'degree'
1651     'comment'       'Simulated pitch angle value during the dive phase of a simulated run.'
1652     '_FillValue'    default_fill_value };
1653 
1654   var_attr_list.SIM_W = {
1655     'long_name'     'simulated vertical velocity'
1656     'units'         'm s-1'
1657     'comment'       'Simulated vertical velocity during the dive phase of a simulated run.'
1658     '_FillValue'    default_fill_value };
1659 
1660   var_attr_list.SM_ANGLEo = {
1661     'long_name'     'surface angle'
1662     'units'         'degree'
1663     'comment'       'Glider-measured angle at surface at end of previous dive.'
1664     '_FillValue'    default_fill_value };
1665 
1666   var_attr_list.SM_CC = {
1667     'long_name'     'VBD minimum buoyancy position'
1668     'units'         'cm3'
1669     'comment'       'Specified minimum-buoyancy position of the VBD to attain at surface.'
1670     '_FillValue'    default_fill_value };
1671 
1672   var_attr_list.SM_DEPTHo = {
1673     'long_name'     'surface depth'
1674     'standard_name' 'depth'
1675     'units'         'm'
1676     'positive'      'down'
1677     'comment'       'Glider-measured depth at surface at end of previous dive.'
1678     '_FillValue'    default_fill_value };
1679 
1680   var_attr_list.SM_GC_field01 = {
1681     'long_name'     ''
1682     'units'         ''
1683     'comment'       'Unknown field 01 SM_GC log parameter.'
1684     '_FillValue'    default_fill_value };
1685 
1686   var_attr_list.SM_GC_field02 = {
1687     'long_name'     ''
1688     'units'         ''
1689     'comment'       'Unknown field 02 SM_GC log parameter.'
1690     '_FillValue'    default_fill_value };
1691 
1692   var_attr_list.SM_GC_field03 = {
1693     'long_name'     ''
1694     'units'         ''
1695     'comment'       'Unknown field 03 SM_GC log parameter.'
1696     '_FillValue'    default_fill_value };
1697 
1698   var_attr_list.SM_GC_field04 = {
1699     'long_name'     ''
1700     'units'         ''
1701     'comment'       'Unknown field 04 SM_GC log parameter.'
1702     '_FillValue'    default_fill_value };
1703 
1704   var_attr_list.SM_GC_field05 = {
1705     'long_name'     ''
1706     'units'         ''
1707     'comment'       'Unknown field 05 SM_GC log parameter.'
1708     '_FillValue'    default_fill_value };
1709 
1710   var_attr_list.SM_GC_field06 = {
1711     'long_name'     ''
1712     'units'         ''
1713     'comment'       'Unknown field 06 SM_GC log parameter.'
1714     '_FillValue'    default_fill_value };
1715 
1716   var_attr_list.SM_GC_field07 = {
1717     'long_name'     ''
1718     'units'         ''
1719     'comment'       'Unknown field 07 SM_GC log parameter.'
1720     '_FillValue'    default_fill_value };
1721 
1722   var_attr_list.SM_GC_field08 = {
1723     'long_name'     ''
1724     'units'         ''
1725     'comment'       'Unknown field 08 SM_GC log parameter.'
1726     '_FillValue'    default_fill_value };
1727 
1728   var_attr_list.SM_GC_field09 = {
1729     'long_name'     ''
1730     'units'         ''
1731     'comment'       'Unknown field 09 SM_GC log parameter.'
1732     '_FillValue'    default_fill_value };
1733 
1734   var_attr_list.SM_GC_field10 = {
1735     'long_name'     ''
1736     'units'         ''
1737     'comment'       'Unknown field 10 SM_GC log parameter.'
1738     '_FillValue'    default_fill_value };
1739 
1740   var_attr_list.SM_GC_field11 = {
1741     'long_name'     ''
1742     'units'         ''
1743     'comment'       'Unknown field 11 SM_GC log parameter.'
1744     '_FillValue'    default_fill_value };
1745 
1746   var_attr_list.SM_GC_field12 = {
1747     'long_name'     ''
1748     'units'         ''
1749     'comment'       'Unknown field 12 SM_GC log parameter.'
1750     '_FillValue'    default_fill_value };
1751 
1752   var_attr_list.SM_GC_field13 = {
1753     'long_name'     ''
1754     'units'         ''
1755     'comment'       'Unknown field 13 SM_GC log parameter.'
1756     '_FillValue'    default_fill_value };
1757 
1758   var_attr_list.SPEED_FACTOR = {
1759     'long_name'     'speed compensation factor'
1760     'units'         '1'
1761     'comment'       'factor to compensate the inability to dive at the desired horizontal velocity.'
1762     '_FillValue'    default_fill_value };
1763 
1764   var_attr_list.SPEED_LIMITS_max_spd = {
1765     'long_name'     'maximum horizontal speed'
1766     'units'         'm s-1'
1767     'comment'       'Maximum attainable horizontal speed on dive based on the minimum dive angle and the allowable buoyancy force.'
1768     '_FillValue'    default_fill_value };
1769 
1770   var_attr_list.SPEED_LIMITS_min_spd = {
1771     'long_name'     'minimum horizontal speed'
1772     'units'         'm s-1'
1773     'comment'       'Minimum attainable horizontal speed on dive based on the maximum dive angle and the allowable buoyancy force.'
1774     '_FillValue'    default_fill_value };
1775 
1776   var_attr_list.STROBE = {
1777     'long_name'     'strobe led control'
1778     'units'         '1'
1779     'comment'       'Control of the blinking of the strobe led (0 = no blinking, 1 = on recovery, 2 = on surface).'
1780     '_FillValue'    default_fill_value };
1781 
1782   var_attr_list.SURFACE_URGENCY = {
1783     'long_name'     'extra surfacing allowed dives'
1784     'units'         '1'
1785     'comment'       'Dives to accumulate before trying extra surfacings. For ice capable gliders only.'
1786     '_FillValue'    default_fill_value };
1787 
1788   var_attr_list.SURFACE_URGENCY_FORCE = {
1789     'long_name'     'forced extra surfacing dive modulo'
1790     'units'         '1'
1791     'comment'       'Dive number modulo for forced extra surfacing attempts. For under ice only.'
1792     '_FillValue'    default_fill_value };
1793 
1794   var_attr_list.SURFACE_URGENCY_TRY = {
1795     'long_name'     'extra surfacing dive modulo'
1796     'units'         '1'
1797     'comment'       'Dive number modulo for extra surfacing attempts. For under ice only.'
1798     '_FillValue'    default_fill_value };
1799 
1800   var_attr_list.TCM_PITCH_OFFSET = {
1801     'long_name'     'pitch-compass offset'
1802     'units'         'degree'
1803     'comment'       'Static offset in pitch axis between the compass output and the actual glider body asmeasured in the lab.'
1804     '_FillValue'    default_fill_value };
1805 
1806   var_attr_list.TCM_ROLL_OFFSET = {
1807     'long_name'     'roll-compass offset'
1808     'units'         ''
1809     'comment'       'Static offset in pitch axis between the compass output and the actual glider body asmeasured in the lab.'
1810     '_FillValue'    default_fill_value };
1811 
1812   var_attr_list.TCM_TEMP = {
1813     'long_name'     'compass temperature'
1814     'units'         'Celsius'
1815     'comment'       'Last temperature reading taken from compass.'
1816     '_FillValue'    default_fill_value };
1817 
1818   var_attr_list.TGT_AUTO_DEFAULT = {
1819     'long_name'     'default target update control'
1820     'units'         '1'
1821     'comment'       'Control of automatic update of default target (1 = automatically update default target in NVRAM, 0 = do not update default target in NVRAM).'
1822     '_FillValue'    default_fill_value };
1823 
1824   var_attr_list.TGT_DEFAULT_LAT = {
1825     'long_name'     'default target latitude'
1826     'units'         'nmea_degree'
1827     'comment'       'Latitude coordinate of default target location used when the targets file cannot be read.'
1828     '_FillValue'    default_fill_value };
1829 
1830   var_attr_list.TGT_DEFAULT_LON = {
1831     'long_name'     'default target longitude'
1832     'units'         'nmea_degree'
1833     'comment'       'Longitude coordinate of default target location used when the targets file cannot be read.'
1834     '_FillValue'    default_fill_value };
1835 
1836   var_attr_list.TGT_LATLONG_tgt_lat = {
1837     'long_name'     'target latitude'
1838     'units'         'nmea_degree'
1839     'comment'       'Latitude coordinate of target position for current dive.'
1840     '_FillValue'    default_fill_value };
1841 
1842   var_attr_list.TGT_LATLONG_tgt_lon = {
1843     'long_name'     'target longitude'
1844     'units'         'nmea_degree'
1845     'comment'       'Longitude coordinate of target position of current dive.'
1846     '_FillValue'    default_fill_value };
1847 
1848   var_attr_list.TGT_NAME = {
1849     'long_name'     'target name'
1850     'units'         ''
1851     'comment'       'Name of active target of this dive.'
1852     '_FillValue'    0 };
1853 
1854   var_attr_list.TGT_RADIUS = {
1855     'long_name'     'target radius'
1856     'units'         'm'
1857     'comment'       'Radius of active target of this dive.'
1858     '_FillValue'    default_fill_value };
1859 
1860   var_attr_list.TT8_MAMPS = {
1861     'long_name'     'tt8 end dive power'
1862     'units'         'A'
1863     'comment'       'Power draw on the low voltage battery pack (10 V) at the end of the dive (it can be used to determine if devices are being left on).'
1864     '_FillValue'    default_fill_value };
1865 
1866   var_attr_list.T_ABORT = {
1867     'long_name'     'dive timeout'
1868     'units'         'minutes'
1869     'comment'       'Time allowed for a dive before entering the recovery state.'
1870     '_FillValue'    default_fill_value };
1871 
1872   var_attr_list.T_BOOST = {
1873     'long_name'     'boost pump time'
1874     'units'         's'
1875     'comment'       'Boost pump run time before turning it off when deeper than boost depth.'
1876     '_FillValue'    default_fill_value };
1877 
1878   var_attr_list.T_DIVE = {
1879     'long_name'     'dive time'
1880     'units'         'minutes'
1881     'comment'       'Time to make one dive-climb cycle (not including pump during apogee phase)used to calculate the desired vertical velocity.'
1882     '_FillValue'    default_fill_value };
1883 
1884   var_attr_list.T_GPS = {
1885     'long_name'     'GPS timeout'
1886     'units'         'minutes'
1887     'comment'       'Maximum allowed time to obtain a GPS position.'
1888     '_FillValue'    default_fill_value };
1889 
1890   var_attr_list.T_GPS_ALMANAC = {
1891     'long_name'     'GPS almanac timeout'
1892     'units'         'minutes'
1893     'comment'       'Maximum allowed time to acquire the GPS almanac.'
1894     '_FillValue'    default_fill_value };
1895 
1896   var_attr_list.T_GPS_CHARGE = {
1897     'long_name'     'Garmin GPS25 trickle-charging time'
1898     'units'         'secs'
1899     'comment'       'Time to wait before trickle-charging the GPS receiver (for Garmin GPS25 engines only). GPS units now installed run on a button battery so there is no need to charge the system.'
1900     '_FillValue'    default_fill_value };
1901 
1902   var_attr_list.T_LOITER = {
1903     'long_name'     'loiter time'
1904     'units'         's'
1905     'comment'       'Time to loiter after going neutral at apogee, before pitching up and becoming positively buoyant for climb.'
1906     '_FillValue'    default_fill_value };
1907 
1908   var_attr_list.T_MISSION = {
1909     'long_name'     'mission timeout'
1910     'units'         'minutes'
1911     'comment'       'Maximum mission time allowed.'
1912     '_FillValue'    default_fill_value };
1913 
1914   var_attr_list.T_NO_W = {
1915     'long_name'     'no vertical speed time'
1916     'units'         's'
1917     'comment'       'Wait time with no significantly non-zero vertical velocity (less than 1 cm/s, as measured by dP/dt) before proceeding to the next phase of a dive.'
1918     '_FillValue'    default_fill_value };
1919 
1920   var_attr_list.T_RSLEEP = {
1921     'long_name'     'recovery sleep time interval'
1922     'units'         'minutes'
1923     'comment'       'Sleep time interval during the recovery phase.'
1924     '_FillValue'    default_fill_value };
1925 
1926   var_attr_list.T_TURN = {
1927     'long_name'     'turn timeout'
1928     'units'         's'
1929     'comment'       'maximum time allowed to complete a turn during the active GC mode.'
1930     '_FillValue'    default_fill_value };
1931 
1932   var_attr_list.T_TURN_SAMPINT = {
1933     'long_name'     'turn sampling interval'
1934     'units'         's'
1935     'comment'       'Sample interval during active and passive GC while turning.'
1936     '_FillValue'    default_fill_value };
1937 
1938   var_attr_list.T_WATCHDOG = {
1939     'long_name'     'watchdog timer'
1940     'units'         'minutes'
1941     'comment'       'Value to which the watchdog timer is set. This is an information only parameter so the glider software knows the watchdog timer value.'
1942     '_FillValue'    default_fill_value };
1943 
1944   var_attr_list.UNCOM_BLEED = {
1945     'long_name'     'VBD uncommanded bleed trigger'
1946     'units'         'counts'
1947     'comment'       'Uncommanded change of VBD bleed that triggers the safety actions (stop motors, close skinner valve) and entering into recovery state.'
1948     '_FillValue'    default_fill_value };
1949 
1950   var_attr_list.UPLOAD_DIVES_MAX = {
1951     'long_name'     'maximum dive upload'
1952     'units'         ''
1953     'comment'       'maximum number of dives to upload at one surfacing (-1 = upload all available dives that have not been previously uploaded)'
1954     '_FillValue'    default_fill_value };
1955 
1956   var_attr_list.USE_BATHY = {
1957     'long_name'     'bathymetry map use control'
1958     'units'         '1'
1959     'comment'       'Control of use of onboard bathymap to determine the appropiate apogee depth (-4 = use on-board bathymap appropiate for current position, 0 = do not use bathymetry, positive = use matching bathymap).'
1960     '_FillValue'    default_fill_value };
1961 
1962   var_attr_list.USE_ICE = {
1963     'long_name'     'ice map use control'
1964     'units'         '1'
1965     'comment'       'Control of use of onboard icemap for surfacing decisions (-4 = use on-board bathymap appropiate for current position, 0 = do not use bathymetry, positive = use matching bathymap).'
1966     '_FillValue'    default_fill_value };
1967 
1968   var_attr_list.VBD_BLEED_AD_RATE = {
1969     'long_name'     'bleed rate retry threshold'
1970     'units'         'counts s-1'
1971     'comment'       'Bleed rate threshold for retries when bleeding.'
1972     '_FillValue'    default_fill_value };
1973 
1974   var_attr_list.VBD_CNV = {
1975     'long_name'     'VBD position conversion factor'
1976     'units'         'cm3 counts-1'
1977     'comment'       'VBD position conversion factor determined by the geometry of the internal hydraulic fluid reservoir and the potentiometers (the sign is negative, meaning that the higher A/D counts reflect more oil in the internal reservoir, hence a less inflated external bladder, hence a lower displacement, and thus a lower buoyancy).'
1978     '_FillValue'    default_fill_value };
1979 
1980   var_attr_list.VBD_DBAND = {
1981     'long_name'     'VBD position deadband'
1982     'units'         'cm3'
1983     'comment'       'Allowed deadband for VBD control.'
1984     '_FillValue'    default_fill_value };
1985 
1986   var_attr_list.VBD_MAX = {
1987     'long_name'     'VBD maximum position'
1988     'units'         'counts'
1989     'comment'       'VBD position software limit when the internal reservoir is almost full (external bladder fully bled, minimum buoyancy).'
1990     '_FillValue'    default_fill_value };
1991 
1992   var_attr_list.VBD_MAXERRORS = {
1993     'long_name'     'maximum VBD errors'
1994     'units'         '1'
1995     'comment'       'Number of VBD errors allowed before entering into recovery state.'
1996     '_FillValue'    default_fill_value };
1997 
1998   var_attr_list.VBD_MIN = {
1999     'long_name'     'VBD minimum position'
2000     'units'         'counts'
2001     'comment'       'VBD position software limit when the internal reservoir is almost empty (external bladder fully pumped, maximum buoyancy).'
2002     '_FillValue'    default_fill_value };
2003 
2004   var_attr_list.VBD_PUMP_AD_RATE_APOGEE = {
2005     'long_name'     'apogee pump rate'
2006     'units'         'counts s-1'
2007     'comment'       'Pump rate threshold for retries when pumping at apogee.'
2008     '_FillValue'    default_fill_value };
2009 
2010   var_attr_list.VBD_PUMP_AD_RATE_SURFACE = {
2011     'long_name'     'apogee pump rate'
2012     'units'         'counts s-1'
2013     'comment'       'Pump rate threshold for retries when pumping at surface.'
2014     '_FillValue'    default_fill_value };
2015 
2016   var_attr_list.VBD_TIMEOUT = {
2017     'long_name'     'VBD timeout'
2018     'units'         's'
2019     'comment'       'Time allowed to achieve the commanded change in VBD position.'
2020     '_FillValue'    default_fill_value };
2021 
2022   var_attr_list.XMS_NAKs = {
2023     'long_name'     'no acknowledged transfers'
2024     'units'         '1'
2025     'comment'       'Number of transfers ended with a NAK (No Acknowledgements) on previous surfacing.'
2026     '_FillValue'    default_fill_value };
2027 
2028   var_attr_list.XMS_TOUTs = {
2029     'long_name'     'no timeout transfers'
2030     'units'         '1'
2031     'comment'       'Total number of transfers ended without a timeout on previous surfacing.'
2032     '_FillValue'    default_fill_value };
2033 
2034   var_attr_list.XPDR_DEVICE = {
2035     'long_name'     'transponder model flag'
2036     'units'         '1'
2037     'comment'       'Configuration value specifying the model of the attached device.'
2038     '_FillValue'    default_fill_value };
2039 
2040   var_attr_list.XPDR_INHIBIT = {
2041     'long_name'     'transponder inhibit time'
2042     'units'         'ds'
2043     'comment'       'Time after a transponder reply during which the transponder does not reply to subsequent interrogation.'
2044     '_FillValue'    default_fill_value };
2045 
2046   var_attr_list.XPDR_PINGS = {
2047     'long_name'     'transponder pings'
2048     'units'         '1'
2049     'comment'       'Count of the number of times the glider transducer responded to an external stimulus at its frequency setting during a dive.'
2050     '_FillValue'    default_fill_value };
2051 
2052   var_attr_list.XPDR_VALID = {
2053     'long_name'     'transponder validation sensitivity'
2054     'units'         '0.5 ms'
2055     'comment'       'Total time over a 10 ms window following initial triggering that the detector circuit must remain triggered.'
2056     '_FillValue'    default_fill_value };
2057 
2058   var_attr_list.x10V_AH_ampsh_tot = {
2059     'long_name'     'low voltage battery pack total consumption'
2060     'units'         'A h'
2061     'comment'       'Total power consumed on the low voltage battery pack (10 V) since last reset of battery meters (usually when new batteries are installed).'
2062     '_FillValue'    default_fill_value };
2063 
2064   var_attr_list.x10V_AH_volts_min = {
2065     'long_name'     'low voltage battery pack minimum voltage'
2066     'units'         'V'
2067     'comment'       'Minimum voltage measured on the low voltage battery pack (10 V) during active phase.'
2068     '_FillValue'    default_fill_value };
2069 
2070   var_attr_list.x24V_AH_ampsh_tot = {
2071     'long_name'     'high voltage battery pack total consumption'
2072     'units'         'A h'
2073     'comment'       'Total power consumed on the high voltage battery pack (24 V) since last reset of battery meters (usually when new batteries are installed).'
2074     '_FillValue'    default_fill_value };
2075 
2076   var_attr_list.x24V_AH_volts_min = {
2077     'long_name'     'high voltage battery pack minimum voltage'
2078     'units'         'V'
2079     'comment'       'Minimum voltage measured on the high voltage battery pack (10 V) during active phase.'
2080     '_FillValue'    default_fill_value };
2081 
2082   var_attr_list.GC_data_pts = {
2083     'long_name'     'data points'
2084     'units'         '1'
2085     'comment'       'Number of data records collected thus far in the dive.'
2086     '_FillValue'    default_fill_value };
2087 
2088   var_attr_list.GC_end_secs = {
2089     'long_name'     'gc end elapsed time'
2090     'units'         's'
2091     'comment'       'Elapsed time from the start of the dive to the end of the GC.'
2092     '_FillValue'    default_fill_value };
2093 
2094   var_attr_list.GC_ob_vertv = {
2095     'long_name'     'observed vertical velocity'
2096     'units'         'cm s-1'
2097     'comment'       'Observed vertical velocity.'
2098     '_FillValue'    default_fill_value };
2099 
2100   var_attr_list.GC_phase = {
2101     'long_name'     'gc phase'
2102     'units'         '1'
2103     'comment'       'Guidance and control phase (1: pitch change, 2: VBD change, 3: roll, 4: turning (passive), 5: roll back to center, 6: passive mode waiting).'
2104     '_FillValue'    default_fill_value };
2105 
2106   var_attr_list.GC_pitch_ad = {
2107     'long_name'     'gc pitch position'
2108     'units'         'counts'
2109     'comment'       'Position of the pitch motor at the end of the motor move.'
2110     '_FillValue'    default_fill_value };
2111 
2112   var_attr_list.GC_pitch_ctl = {
2113     'long_name'     'gc pitch control'
2114     'units'         'cm'
2115     'comment'       'Position of the pitch mass relative to pitch center (positive aft).'
2116     '_FillValue'    default_fill_value };
2117 
2118   var_attr_list.GC_pitch_errors = {
2119     'long_name'     'gc pitch errors'
2120     'units'         '1'
2121     'comment'       'Number of pitch motor errors (timeouts) during this motor move.'
2122     '_FillValue'    default_fill_value };
2123 
2124   var_attr_list.GC_pitch_i = {
2125     'long_name'     'gc pitch motor current'
2126     'units'         'A'
2127     'comment'       'Average current used by pitch motor.'
2128     '_FillValue'    default_fill_value };
2129 
2130   var_attr_list.GC_pitch_retries = {
2131     'long_name'     'gc pitch motor retries'
2132     'units'         '1'
2133     'comment'       'Number of retries during this pitch motor move.'
2134     '_FillValue'    default_fill_value };
2135 
2136   var_attr_list.GC_pitch_secs = {
2137     'long_name'     'gc pitch motor time'
2138     'units'         's'
2139     'comment'       'Time the pitch motor was on.'
2140     '_FillValue'    default_fill_value };
2141 
2142   var_attr_list.GC_roll_ad = {
2143     'long_name'     'gc roll position'
2144     'units'         'counts'
2145     'comment'       'Position of the roll motor at the end of the motor move.'
2146     '_FillValue'    default_fill_value };
2147 
2148   var_attr_list.GC_roll_errors = {
2149     'long_name'     'gc roll errors'
2150     'units'         '1'
2151     'comment'       'Number of roll motor errors (timeouts) during this motor move.'
2152     '_FillValue'    default_fill_value };
2153 
2154   var_attr_list.GC_roll_i = {
2155     'long_name'     'gc roll motor current'
2156     'units'         'A'
2157     'comment'       'Average current used by roll motor.'
2158     '_FillValue'    default_fill_value };
2159 
2160   var_attr_list.GC_roll_retries = {
2161     'long_name'     'gc roll motor retries'
2162     'units'         '1'
2163     'comment'       'Number of retries during this roll motor move.'
2164     '_FillValue'    default_fill_value };
2165 
2166   var_attr_list.GC_roll_secs = {
2167     'long_name'     'gc roll motor time'
2168     'units'         's'
2169     'comment'       'Time the roll motor was on.'
2170     '_FillValue'    default_fill_value };
2171 
2172   var_attr_list.GC_vbd_ad = {
2173     'long_name'     'gc VBD position'
2174     'units'         'counts'
2175     'comment'       'Position of the VBD at the end of the motor move.'
2176     '_FillValue'    default_fill_value };
2177 
2178   var_attr_list.GC_vbd_ctl = {
2179     'long_name'     'gc VBD control'
2180     'units'         'cm3'
2181     'comment'       'Position of the VBD mass relative to VBD center (positive buoyant).'
2182     '_FillValue'    default_fill_value };
2183 
2184   var_attr_list.GC_vbd_errors = {
2185     'long_name'     'gc VBD errors'
2186     'units'         '1'
2187     'comment'       'Number of VBD errors (timeouts) during this motor move.'
2188     '_FillValue'    default_fill_value };
2189 
2190   var_attr_list.GC_vbd_i = {
2191     'long_name'     'gc VBD current'
2192     'units'         'A'
2193     'comment'       'Average current used by VBD.'
2194     '_FillValue'    default_fill_value };
2195 
2196   var_attr_list.GC_vbd_retries = {
2197     'long_name'     'gc VBD retries'
2198     'units'         '1'
2199     'comment'       'Number of retries during this VBD move.'
2200     '_FillValue'    default_fill_value };
2201 
2202   var_attr_list.GC_vbd_secs = {
2203     'long_name'     'gc VBD time'
2204     'units'         's'
2205     'comment'       'Time the VBD was on.'
2206     '_FillValue'    default_fill_value };
2207 
2208   var_attr_list.SM_CCo_pmp_amps = {
2209     'long_name'     'sm VBD current'
2210     'units'         'A'
2211     'comment'       'Average current for the VBD during the surface maneuver pump.'
2212     '_FillValue'    default_fill_value };
2213 
2214   var_attr_list.SM_CCo_pmp_ccss = {
2215     'long_name'     'sm VBD final position'
2216     'units'         'cm3'
2217     'comment'       'Final position of the VBD after the surface maneuver pump.'
2218     '_FillValue'    default_fill_value };
2219 
2220   var_attr_list.SM_CCo_pmp_cnts = {
2221     'long_name'     'sm VBD final position'
2222     'units'         'counts'
2223     'comment'       'Final position of the VBD after the surface maneuver pump.'
2224     '_FillValue'    default_fill_value };
2225 
2226   var_attr_list.SM_CCo_pmp_errs = {
2227     'long_name'     'sm VBD errors'
2228     'units'         '1'
2229     'comment'       'Number of errors during the surface maneuver pump.'
2230     '_FillValue'    default_fill_value };
2231 
2232   var_attr_list.SM_CCo_pmp_rets = {
2233     'long_name'     'sm VBD retries'
2234     'units'         '1'
2235     'comment'       'Number of retries during the surface maneuver pump.'
2236     '_FillValue'    default_fill_value };
2237 
2238   var_attr_list.SM_CCo_pmp_secs = {
2239     'long_name'     'sm VBD time'
2240     'units'         's'
2241     'comment'       'Time for the surface maneuver pump.'
2242     '_FillValue'    default_fill_value };
2243 
2244   var_attr_list.STATE_result = {
2245     'long_name'     'gc result state'
2246     'units'         ''
2247     'comment'       'State result at end of phase.'
2248     '_FillValue'    0 };
2249 
2250   var_attr_list.STATE_status = {
2251     'long_name'     'gc state action'
2252     'units'         ''
2253     'comment'       'Current state action.'
2254     '_FillValue'    0 };
2255 
2256   var_attr_list.depth = {
2257     'long_name'     'measured depth'
2258     'standard_name' 'depth'
2259     'units'         'cm'
2260     'positive'      'down'
2261     'comment'       'This is the depth derived from the pressure measurements and using a constant conversion factor (0.685 psi m-1).'
2262     '_FillValue'    default_fill_value };
2263 
2264   var_attr_list.elaps_t = {
2265     'long_name'     'mission elapsed time'
2266     'standard_name' 'time'
2267     'units'         'seconds since start of first dive'
2268     'comment'       'Time since the start of the first dive (time_coverage_start).'
2269     '_FillValue'    default_fill_value };
2270 
2271   var_attr_list.elaps_t_0000 = {
2272     'long_name'     'time since start of day'
2273     'units'         's'
2274     'comment'       'Time since 0000UTC of the current day.'
2275     '_FillValue'    default_fill_value };
2276 
2277   var_attr_list.head = {
2278     'long_name'     'Vehicle heading'
2279     'standard_name' 'heading'
2280     'units'         'degree'
2281     'comment'       'Vehicle heading (magnetic degree).'
2282     '_FillValue'    default_fill_value };
2283 
2284   var_attr_list.pitchAng = {
2285     'long_name'     'vehicle pitch'
2286     'standard_name' 'pitch'
2287     'units'         'degree'
2288     'comment'       'Vehicle pitch angle (positive nose up).'
2289     '_FillValue'    default_fill_value };
2290 
2291   var_attr_list.pitchCtl = {
2292     'long_name'     'pitch mass position'
2293     'units'         'cm'
2294     'comment'       'Pitch mass position relative to pitch center (positive nose up).'
2295     '_FillValue'    default_fill_value };
2296 
2297   var_attr_list.rec = {
2298     'long_name'     'sample record'
2299     'units'         '1'
2300     'comment'       'Sample record number.'
2301     '_FillValue'    default_fill_value };
2302 
2303   var_attr_list.rollAng = {
2304     'long_name'     'vehicle roll'
2305     'standard_name' 'roll'
2306     'units'         'degree'
2307     'comment'       'Vehicle roll angle (positive starboard wing down, rolled to starboard).'
2308     '_FillValue'    default_fill_value };
2309 
2310   var_attr_list.rollCtl = {
2311     'long_name'     'roll mass position'
2312     'units'         'degree'
2313     'comment'       'Roll mass position relative to roll dive or climb center (positive starboard wing down).'
2314     '_FillValue'    default_fill_value };
2315 
2316   var_attr_list.vbdCC = {
2317     'long_name'     'VBD position'
2318     'units'         'cm3'
2319     'comment'       'VBD value relative to VBD center (positive buoyant).'
2320     '_FillValue'    default_fill_value };
2321 
2322   var_attr_list.sbect_condFreq = {
2323     'long_name'     'conductivity frequency'
2324     'units'         'Hz'
2325     'comment'       'Conductivity frequency from Seabird CT sail.'
2326     '_FillValue'    default_fill_value };
2327 
2328   var_attr_list.sbect_tempFreq = {
2329     'long_name'     'temperature frequency'
2330     'units'         'Hz'
2331     'comment'       'Temperature frequency from Seabird CT sail.'
2332     '_FillValue'    default_fill_value };
2333 
2334   var_attr_list.aa1_AirSat = {
2335     'long_name'     'air saturation'
2336     'standard_name' 'fractional_saturation_of_oxygen_in_sea_water'
2337     'units'         '%'
2338     'comment'       'Air saturation from Aanderaa oxygen optode.'
2339     '_FillValue'    default_fill_value };
2340 
2341   var_attr_list.aa1_CalPhase = {
2342     'long_name'     'optode calibrated phase'
2343     'units'         'degree'
2344     'comment'       'Calibrated phase from Aanderaa oxygen optode.'
2345     '_FillValue'    default_fill_value };
2346 
2347   var_attr_list.aa1_O2 = {
2348     'long_name'     'oxygen molar concentration'
2349     'standard_name' 'mole_concentration_of_dissolved_molecular_oxygen_in_sea_water'
2350     'units'         'umol l-1'
2351     'comment'       'Oxygen molarity from Aanderaa oxygen optode.'
2352     '_FillValue'    default_fill_value };
2353 
2354   var_attr_list.aa1_TCPhase = {
2355     'long_name'     'optode temperature compensated phase'
2356     'units'         'Celsius'
2357     'comment'       'Temperature-compensated phase from Aanderaa oxygen optode.'
2358     '_FillValue'    default_fill_value };
2359 
2360   var_attr_list.aa1_Temp = {
2361     'long_name'     'optode temperature'
2362     'standard_name' 'temperature_of_sensor_for_oxygen_in_sea_water'
2363     'units'         'Celsius'
2364     'comment'       'Temperature from Aanderaa oxygen optode.'
2365     '_FillValue'    default_fill_value };
2366 
2367   var_attr_list.aa4330_O2 = {
2368     'long_name'     'oxygen molar concentration'
2369     'standard_name' 'mole_concentration_of_dissolved_molecular_oxygen_in_sea_water'
2370     'units'         'umol l-1'
2371     'comment'       'Oxygen molarity from Aanderaa oxygen optode.'
2372     '_FillValue'    default_fill_value };
2373 
2374   var_attr_list.aa4330_AirSat = {
2375     'long_name'     'air saturation'
2376     'standard_name' 'fractional_saturation_of_oxygen_in_sea_water'
2377     'units'         '%'
2378     'comment'       'Air saturation from Aanderaa oxygen optode.'
2379     '_FillValue'    default_fill_value };
2380 
2381   var_attr_list.aa4330_Temp = {
2382     'long_name'     'optode temperature'
2383     'standard_name' 'temperature_of_sensor_for_oxygen_in_sea_water'
2384     'units'         'Celsius'
2385     'comment'       'Temperature from Aanderaa oxygen optode.'
2386     '_FillValue'    default_fill_value };
2387 
2388   var_attr_list.aa4330_CalPhase = {
2389     'long_name'     'optode calibrated phase'
2390     'units'         'degree'
2391     'comment'       'Calibrated phase from Aanderaa oxygen optode.'
2392     '_FillValue'    default_fill_value };
2393 
2394   var_attr_list.aa4330_TCPhase  = {
2395     'long_name'     'optode temperature compensated phase'
2396     'units'         'Celsius'
2397     'comment'       'Temperature-compensated phase from Aanderaa oxygen optode.'
2398     '_FillValue'    default_fill_value };
2399 
2400   var_attr_list.wl1_Chlref1 = {
2401     'long_name'     'chlorophyll reference'
2402     'units'         'counts'
2403     'comment'       'WETLabs ECO triplet puck chlorophyll output reference.'
2404     '_FillValue'    default_fill_value };
2405 
2406   var_attr_list.wl1_Chlsig1 = {
2407     'long_name'     'chlorophyll signal'
2408     'units'         'counts'
2409     'comment'       'WETLabs ECO triplet puck chlorophyll output signal.'
2410     '_FillValue'    default_fill_value };
2411 
2412   var_attr_list.wl1_Cdomref1 = {
2413     'long_name'     'CDOM reference'
2414     'units'         'counts'
2415     'comment'       'WETLabs ECO triplet puck CDOM output reference.'
2416     '_FillValue'    default_fill_value };
2417 
2418   var_attr_list.wl1_Cdomsig1 = {
2419     'long_name'     'CDOM signal'
2420     'units'         'counts'
2421     'comment'       'WETLabs ECO triplet puck CDOM output signal.'
2422     '_FillValue'    default_fill_value };
2423 
2424   var_attr_list.wl1_ref1 = {
2425     'long_name'     'backscatter reference'
2426     'units'         'counts'
2427     'comment'       'WETLabs ECO triplet puck backscatter output reference.'
2428     '_FillValue'    default_fill_value };
2429 
2430   var_attr_list.wl1_sig1 = {
2431     'long_name'     'backscatter signal'
2432     'units'         'counts'
2433     'comment'       'WETLabs ECO triplet puck backscatter output signal.'
2434     '_FillValue'    default_fill_value };
2435 
2436   var_attr_list.wl1_temp1 = {
2437     'long_name'     'bbfl2 triplet temperature'
2438     'units'         'Celsius'
2439     'comment'       'WETLabs ECO triplet puck temperature.'
2440     '_FillValue'    default_fill_value };
2441 
2442   var_attr_list.wlbbfl2vmt_Chlref = {
2443     'long_name'     'chlorophyll reference'
2444     'units'         'counts'
2445     'comment'       'WETLabs ECO triplet puck chlorophyll signal output reference.'
2446     '_FillValue'    default_fill_value };
2447 
2448   var_attr_list.wlbbfl2vmt_Chlsig = {
2449     'long_name'     'chlorophyll signal'
2450     'units'         'counts'
2451     'comment'       'WETLabs ECO triplet puck chlorophyll signal output backscatter.'
2452     '_FillValue'    default_fill_value };
2453 
2454   var_attr_list.wlbbfl2vmt_Cdomref = {
2455     'long_name'     'CDOM reference'
2456     'units'         'counts'
2457     'comment'       'WETLabs ECO triplet puck CDOM signal output reference.'
2458     '_FillValue'    default_fill_value };
2459 
2460   var_attr_list.wlbbfl2vmt_Cdomsig = {
2461     'long_name'     'CDOM signal'
2462     'units'         'counts'
2463     'comment'       'WETLabs ECO triplet puck CDOM signal output backscatter.'
2464     '_FillValue'    default_fill_value };
2465 
2466   var_attr_list.wlbbfl2vmt_wl600ref = {
2467     'long_name'     'backscatter reference'
2468     'units'         'counts'
2469     'comment'       'WETLabs ECO triplet puck backscatter output reference.'
2470     '_FillValue'    default_fill_value };
2471 
2472   var_attr_list.wlbbfl2vmt_wl600sig = {
2473     'long_name'     'backscatter signal'
2474     'units'         'counts'
2475     'comment'       'WETLabs ECO triplet puck backscatter output signal.'
2476     '_FillValue'    default_fill_value };
2477 
2478   var_attr_list.wlbbfl2vmt_wl650ref = {
2479     'long_name'     'backscatter reference'
2480     'units'         'counts'
2481     'comment'       'WETLabs ECO triplet puck backscatter output reference.'
2482     '_FillValue'    default_fill_value };
2483 
2484   var_attr_list.wlbbfl2vmt_wl650sig = {
2485     'long_name'     'backscatter signal'
2486     'units'         'counts'
2487     'comment'       'WETLabs ECO triplet puck backscatter output signal.'
2488     '_FillValue'    default_fill_value };
2489 
2490   var_attr_list.wlbbfl2vmt_L2VMTtemp = {
2491     'long_name'     'bbfl2 triplet temperature'
2492     'units'         'Celsius'
2493     'comment'       'WETLabs ECO triplet puck temperature.'
2494     '_FillValue'    default_fill_value };
2495 
2496 
2497   %% Define global attributes (they may be overwritten with deployment values).
2498   % To define the global attributes easily and readably, add them to this
2499   % cell array (attribute name in first column and attribute value in second).
2500   % This cell array will be converted at the end of the function to the proper
2501   % representation needed by SAVENC.
2502   global_atts = ...
2503   {
2504     'abstract'                     '' % deployment_description
2505     'acknowledgement'              '' % deployment_acknowledgement
2506     'author'                       '' % deployment_author
2507     'author_email'                 '' % deployment_author_email
2508     'cdm_data_type'                'Trajectory'
2509     'citation'                     '' % deployment_citation
2510     'comment'                      'Data provided as it comes from the glider.'
2511     'Conventions'                  'CF-1.6'
2512     'creator'                      '' % deployment_author
2513     'creator_email'                '' % deployment_author_email
2514     'creator_url'                  '' % deployment_author_url
2515     'data_center'                  '' % deployment_data_center
2516     'data_center_email'            '' % deployment_data_center_email
2517     'data_mode'                    'real time'
2518     'date_modified'                'undefined'
2519     'featureType'                  'trajectory'
2520     'geospatial_lat_max'           'undefined'
2521     'geospatial_lat_min'           'undefined'
2522     'geospatial_lat_units'         'undefined'
2523     'geospatial_lon_max'           'undefined'
2524     'geospatial_lon_min'           'undefined'
2525     'geospatial_lon_units'         'undefined'
2526     'history'                      sprintf('Product generated by the glider toolbox version %s (https://github.com/socib/glider_toolbox).', configGliderToolboxVersion())
2527     'institution'                  '' % institution_name
2528     'institution_references'       '' % institution_references
2529     'instrument'                   '' % instrument_name
2530     'instrument_manufacturer'      '' % instrument_manufacturer
2531     'instrument_model'             '' % instrument_model
2532     'license'                      'Approved for public release. Distribution Unlimited.' % deployment_distribution_statement
2533     'netcdf_version'               '4.0.1'
2534     'positioning_system'           'GPS and dead reckoning'
2535     'principal_investigator'       '' % deployment_principal_investigator
2536     'principal_investigator_email' '' % deployment_principal_investigator_email
2537     'processing_level'             'L0 raw data not calibrated'
2538     'project'                      '' % deployment_project
2539     'publisher'                    '' % deployment_publisher_name
2540     'publisher_email'              '' % deployment_publisher_email
2541     'publisher_url'                '' % deployment_publisher_url
2542     'source'                       'glider'
2543     'source_files'                 'undefined' % source_files field set by processing script after loading data.
2544     'standard_name_vocabulary'     'http://cf-pcmdi.llnl.gov/documents/cf-standard-names/standard-name-table/16/cf-standard-name-table.html'
2545     'summary'                      '' % deployment_description
2546     'time_coverage_end'            'undefined'
2547     'time_coverage_start'          'undefined'
2548     'title'                        'Glider deployment real time raw data'
2549     'transmission_system'          'IRIDIUM'
2550   };
2551 
2552 
2553   %% Define preset dimensions.
2554   dimension_time = struct('name', {'time'}, 'length', {0});
2555   dimension_dive = struct('name', {'dive'}, 'length', {[]});
2556   dimension_gpsfix = struct('name', {'gpsfix'}, 'length', {[]});
2557   dimension_string7 = struct('name', {'string7'}, 'length', {7});
2558   dimension_string32 = struct('name', {'string32'}, 'length', {32});
2559 
2560 
2561   %% Return global and variable metadata in the correct format.
2562   ncl0_info = struct();
2563   % Set the dimension names.
2564   ncl0_info.dimensions = ...
2565     [dimension_time dimension_dive dimension_gpsfix ...
2566      dimension_string7 dimension_string32]';
2567   % Set the global attributes.
2568   ncl0_info.attributes = cell2struct(global_atts, {'name' 'value'}, 2);
2569   % Set the variable metadata.
2570   ncl0_info.variables = struct();
2571   var_name_list = fieldnames(var_attr_list);
2572   for var_name_idx = 1:numel(var_name_list)
2573     var_name = var_name_list{var_name_idx};
2574     var_atts = var_attr_list.(var_name);
2575     if regexp(var_name, '^GPSFIX_(ddmmyy|hhmmss)', 'once')
2576       var_dims = {dimension_gpsfix.name dimension_string7.name};
2577     elseif regexp(var_name, '^GPSFIX_', 'once')
2578       var_dims = {dimension_gpsfix.name};
2579     elseif regexp(var_name, '^STATE_', 'once')
2580       var_dims = {dimension_time.name dimension_string32.name};
2581     elseif any(regexp(var_name, '^(GC|SM_CCo)_', 'once')) ...
2582         || any(regexp(var_name, '^(sbect)_', 'once')) ...
2583         || any(regexp(var_name, '^(wl1|wlbbfl2vmt)_', 'once')) ...
2584         || any(regexp(var_name, '^(aa1|aa4330)_', 'once')) ...
2585         || any(strcmp(var_name, ...
2586                       {'rec' 'elaps_t' 'elaps_t_0000' 'vbdCC' 'depth' 'head' ...
2587                        'pitchAng' 'pitchCtl' 'rollAng' 'rollCtl'}))
2588       var_dims = {dimension_time.name};
2589     elseif regexp(var_name, '^TGT_NAME', 'once')
2590       var_dims = {dimension_dive.name dimension_string32.name};
2591     else
2592       var_dims = {dimension_dive.name};
2593     end
2594     ncl0_info.variables.(var_name).dimensions = var_dims;
2595     ncl0_info.variables.(var_name).attributes = ...
2596       cell2struct(var_atts, {'name' 'value'}, 2);
2597   end
2598 
2599 end

Generated on Fri 06-Oct-2017 10:47:42 by m2html © 2005