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:
Pick_LateralFlow_V1
Pick the lateral inflow from an arbitrary number of inlet sequences.Calc_NetInflow_V1
Calculate the net flow into a channel segment.Update_WaterVolume_V1
Update the current water content of a channel segment.Calc_WaterDepth_WaterLevel_V1
Let a submodel that follows theCrossSectionModel_V2
submodel interface calculate the water depth and level based on the current water volume.Calc_WaterDepth_WaterLevel_CrossSectionModel_V2
Let a submodel that follows theCrossSectionModel_V2
submodel interface calculate the water depth and level based on the current water volume.Pass_WaterLevel_V1
Pass the calculated water level to an arbitrary number of sender sequences.
- 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:
TimeStep()
The actual computation step according to global stability considerations [s].WaterDepth()
Water depth [m].WaterLevel()
Water level [m].
- 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:
WaterVolume()
Water volume [1000 m³].