docs: def get_auxiliary_coordinate_variables(ds):
      '''
      Returns a list of auxiliary coordinate variables
  
      An auxiliary coordinate variable is any netCDF variable that contains
      coordinate data, but is not a coordinate variable (in the sense of the term
      defined by CF).
  
      :param netCDf4.Dataset ds: An open netCDF dataset
      '''
      aux_vars = []
      # get any variables referecned by the coordinates attribute
      for ncvar in ds.get_variables_by_attributes(coordinates=lambda x: isinstance(x, basestring)):
          # split the coordinates into individual variable names
          referenced_variables = ncvar.coordinates.split(' ')
          # if the variable names exist, add them
          for referenced_variable in referenced_variables:
              if referenced_variable in ds.variables and referenced_variable not in aux_vars:
                  aux_vars.append(referenced_variable)
  
      # axis variables are automatically in
      for variable in get_axis_variables(ds):
          if variable not in aux_vars:
              aux_vars.append(variable)
  
      # Last are any variables that define the common coordinate standard names
      coordinate_standard_names = ['time', 'longitude', 'latitude', 'height', 'depth', 'altitude']
      coordinate_standard_names += DIMENSIONLESS_VERTICAL_COORDINATES
  
      # Some datasets like ROMS use multiple variables to define coordinates
      for ncvar in ds.get_variables_by_attributes(standard_name=lambda x: x in coordinate_standard_names):
          if ncvar.name not in aux_vars:
              aux_vars.append(ncvar.name)
  
      # Remove any that are purely coordinate variables
      ret_val = []
      for aux_var in aux_vars:
          if ds.variables[aux_var].dimensions == (aux_var,):
              continue
          ret_val.append(aux_var)
  
      return ret_val