code: def to_db(catchment, session, method='create', autocommit=False):
      
  
      if not catchment.id:
          raise ValueError("Catchment/station number (`catchment.id`) must be set.")
      if method == 'create':
          session.add(catchment)
      elif method == 'update':
          session.merge(catchment)
      else:
          raise ValueError("Method `{}` invalid. Use either `create` or `update`.")
      if autocommit:
          session.commit()
docs: Load catchment object into the database.
  
      A catchment/station number (:attr:`catchment.id`) must be provided. If :attr:`method` is set to `update`, any
      existing catchment in the database with the same catchment number will be updated.
  
      :param catchment: New catchment object to replace any existing catchment in the database
      :type catchment: :class:`.entities.Catchment`
      :param session: Database session to use, typically `floodestimation.db.Session()`
      :type session: :class:`sqlalchemy.orm.session.Session`
      :param method: - ``create``: only new catchments will be loaded, it must not already exist in the database.
                     - ``update``: any existing catchment in the database will be updated. Otherwise it will be created.
      :type method: str
      :param autocommit: Whether to commit the database session immediately. Default: ``False``.
      :type autocommit: bool