HydPy-SW1D-Storage (submodel for calculating a single channel segment's water balance)

The HydPy-SW1D model family member sw1d_storage is a storage submodel for keeping track of the water amount stored in a channel segment and calculating the water level.

Please refer to the documentation of the “user model” sw1d_channel and the “composite model” sw1d_network, where we demonstrate and discuss sw1d_storage in detail.

class hydpy.models.sw1d_storage.Model[source]

Bases: Main_CrossSectionModel_V2, StorageModel_V1

HydPy-SW1D-Storage (submodel for calculating a single channel segment’s water balance).

The following interface methods are available to main models using the defined model as a submodel:
  • Perform_Preprocessing_V3 Storage model interface method for preprocessing data that is invariant within each external simulation step.

  • Update_Storage_V1 Interface method for updating the storage water content.

  • Perform_Postprocessing_V3 Storage model interface method for executing all tasks necessary at the end of each external simulation step.

  • Get_WaterVolume_V1 Interface method for querying the water volume in 1000 m³.

  • Get_WaterLevel_V1 Interface method for querying the water level in m.

  • Set_TimeStep_V1 Interface method for setting the actual computation time step in s.

The following “additional methods” might be called by one or more of the other methods or are meant to be directly called by the user:
Users can hook submodels into the defined main model if they satisfy one of the following interfaces:
  • CrossSectionModel_V2 Interface for calculating discharge-related properties at a channel cross-section.

  • RoutingModel_V1 Interface for calculating the inflow into a channel.

  • RoutingModel_V2 Interface for calculating the discharge between two channel segments.

  • RoutingModel_V3 Interface for calculating the outflow of a channel.

  • StorageModel_V1 Interface for calculating the water amount stored in a single channel segment.

DOCNAME: DocName = ('SW1D-Storage', "submodel for calculating a single channel segment's water balance")
crosssection: SubmodelProperty[CrossSectionModel_V2]

Required submodel that complies with the following interface: CrossSectionModel_V2.

routingmodelsupstream: modeltools.SubmodelsProperty[RoutingModel_V1 | RoutingModel_V2 | RoutingModel_V3]

Optional reference to the neighbour routing model upstream.

routingmodelsdownstream: modeltools.SubmodelsProperty[RoutingModel_V1 | RoutingModel_V2 | RoutingModel_V3]

Optional reference to the neighbour routing model downstream.

REUSABLE_METHODS: ClassVar[tuple[type[ReusableMethod], ...]] = ()
cymodel: CyModelProtocol | None
parameters: parametertools.Parameters
sequences: sequencetools.Sequences
masks: masktools.Masks
class hydpy.models.sw1d_storage.ControlParameters(master: Parameters, cls_fastaccess: type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)

Bases: SubParameters

Control parameters of model sw1d_storage.

The following classes are selected:
  • Length() The length of a single channel segment [km].

class hydpy.models.sw1d_storage.FactorSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)

Bases: FactorSequences

Factor sequences of model sw1d_storage.

The following classes are selected:
class hydpy.models.sw1d_storage.FluxSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)

Bases: FluxSequences

Flux sequences of model sw1d_storage.

The following classes are selected:
  • LateralFlow() Lateral flow into the first channel segment [m³/s].

  • NetInflow() The net inflow into a channel segment [m³/T].

class hydpy.models.sw1d_storage.InletSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)

Bases: InletSequences

Inlet sequences of model sw1d_storage.

The following classes are selected:
  • LatQ() The lateral inflow into the first channel segment [m³/s].

class hydpy.models.sw1d_storage.SenderSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)

Bases: SenderSequences

Sender sequences of model sw1d_storage.

The following classes are selected:
  • WaterLevel() The water level within the first channel segment [m].

class hydpy.models.sw1d_storage.StateSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)

Bases: StateSequences

State sequences of model sw1d_storage.

The following classes are selected: