code: def _auto_combine(datasets, concat_dims, compat, data_vars, coords,
                    infer_order_from_coords, ids):
      
  
      # Arrange datasets for concatenation
      if infer_order_from_coords:
          raise NotImplementedError
          # TODO Use coordinates to determine tile_ID for each dataset in N-D
          # Ignore how they were ordered previously
          # Should look like:
          # combined_ids, concat_dims = _infer_tile_ids_from_coords(datasets,
          # concat_dims)
      else:
          # Use information from the shape of the user input
          if not ids:
              # Determine tile_IDs by structure of input in N-D
              # (i.e. ordering in list-of-lists)
              combined_ids, concat_dims = _infer_concat_order_from_positions(
                  datasets, concat_dims)
          else:
              # Already sorted so just use the ids already passed
              combined_ids = OrderedDict(zip(ids, datasets))
  
      # Check that the inferred shape is combinable
      _check_shape_tile_ids(combined_ids)
  
      # Repeatedly concatenate then merge along each dimension
      combined = _combine_nd(combined_ids, concat_dims, compat=compat,
                             data_vars=data_vars, coords=coords)
      return combined
docs: Calls logic to decide concatenation order before concatenating.