docs: def add_dataset(data_type, val, unit_id=None, metadata={}, name="", user_id=None, flush=False):
      """
          Data can exist without scenarios. This is the mechanism whereby
          single pieces of data can be added without doing it through a scenario.
  
          A typical use of this would be for setting default values on types.
      """
  
      d = Dataset()
  
      d.type  = data_type
      d.value = val
      d.set_metadata(metadata)
  
      d.unit_id  = unit_id
      d.name  = name
      d.created_by = user_id
      d.hash  = d.set_hash()
  
      try:
          existing_dataset = db.DBSession.query(Dataset).filter(Dataset.hash==d.hash).one()
          if existing_dataset.check_user(user_id):
              d = existing_dataset
          else:
              d.set_metadata({'created_at': datetime.datetime.now()})
              d.set_hash()
              db.DBSession.add(d)
      except NoResultFound:
          db.DBSession.add(d)
  
      if flush == True:
          db.DBSession.flush()
      return d