docs: def set_variables(self, variables, check_encoding_set, writer,
                        unlimited_dims=None):
          """
          This provides a centralized method to set the variables on the data
          store.
  
          Parameters
          ----------
          variables : dict-like
              Dictionary of key/value (variable name / xr.Variable) pairs
          check_encoding_set : list-like
              List of variables that should be checked for invalid encoding
              values
          writer : ArrayWriter
          unlimited_dims : list-like
              List of dimension names that should be treated as unlimited
              dimensions.
          """
  
          for vn, v in variables.items():
              name = _encode_variable_name(vn)
              check = vn in check_encoding_set
              target, source = self.prepare_variable(
                  name, v, check, unlimited_dims=unlimited_dims)
  
              writer.add(source, target)