HydPy-SW1D-Q-Out (submodel for subtracting pre-determined discharge from a channel outlet)¶
The HydPy-SW1D model family member sw1d_q_out is a simple routing submodel,
which allows taking observed or previously simulated discharge series as “longitudinal”
channel outflow.
Please refer to the documentation of the “composite model” sw1d_network, where we
demonstrate and discuss sw1d_q_out in more detail (see the
Bifurcations example).
- class hydpy.models.sw1d_q_out.Model[source]¶
- Bases: - Main_CrossSectionModel_V2,- RoutingModel_V3- HydPy-SW1D-Q-Out (submodel for subtracting pre-determined discharge from a channel outlet). - The following interface methods are available to main models using the defined model as a submodel:
- Perform_Preprocessing_V4Routing model interface method for preprocessing data that is invariant within each external simulation step.
- Determine_MaxTimeStep_V4Interface method for determining the highest possible computation time step at an outflow location.
- Determine_Discharge_V4Interface method for determining the discharge at an outflow location.
- Perform_Postprocessing_V4Routing model interface method for executing all tasks necessary at the end of each external simulation step.
- Get_MaxTimeStep_V1Interface method for querying the highest possible computation time step in s.
- Get_Discharge_V1Interface method for querying the discharge in m³/s.
- Get_PartialDischargeDownstream_V1Return a partial discharge estimate suitable for an upstream model.
- Get_DischargeVolume_V1Interface method for querying the discharge in m³.
- Set_TimeStep_V1Interface 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_Outflow_V1Pick the longitudinal outflow from an arbitrary number of outlet sequences.
- Calc_WaterLevelUpstream_V1Query the water level from an upstream submodel that follows the- StorageModel_V1interface.
- Calc_WaterLevel_V3Take the water level from the upstream channel segment.
- Calc_WaterDepth_WettedArea_CrossSectionModel_V2Let a submodel that follows the- CrossSectionModel_V2submodel interface calculate the water depth and the wetted area based on the current water level.
- Calc_WaterDepth_WettedArea_V1Let a submodel that follows the- CrossSectionModel_V2submodel interface calculate the water depth and the wetted area based on the current water level.
- Calc_MaxTimeStep_V4Estimate the highest possible computation time step for which we can expect stability for an outflow-providing routing model.
- Calc_DischargeVolume_V2Calculate the total discharge volume of a complete external simulation step at once.
 
- Users can hook submodels into the defined main model if they satisfy one of the following interfaces:
- CrossSectionModel_V2Interface for calculating discharge-related properties at a channel cross-section.
- RoutingModel_V1Interface for calculating the inflow into a channel.
- RoutingModel_V2Interface for calculating the discharge between two channel segments.
- StorageModel_V1Interface for calculating the water amount stored in a single channel segment.
 
 - DOCNAME: DocName = ('SW1D-Q-Out', 'submodel for subtracting pre-determined discharge from a channel outlet')¶
 - crosssection: SubmodelProperty[CrossSectionModel_V2]¶
- Required submodel that complies with the following interface: CrossSectionModel_V2. 
 - storagemodelupstream: modeltools.SubmodelProperty[StorageModel_V1]¶
- Required reference to the neighbour storage model upstream. 
 - storagemodelupstream_is_mainmodel¶
 - storagemodelupstream_typeid¶
 - routingmodelsupstream: modeltools.SubmodelsProperty[RoutingModel_V1 | RoutingModel_V2]¶
- References to the neighbour routing models lying upstream. 
 - REUSABLE_METHODS: ClassVar[tuple[type[ReusableMethod], ...]] = ()¶
 - cymodel: CyModelProtocol | None¶
 - parameters: parametertools.Parameters¶
 - sequences: sequencetools.Sequences¶
 - masks: masktools.Masks¶
 
- class hydpy.models.sw1d_q_out.ControlParameters(master: Parameters, cls_fastaccess: type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)¶
- Bases: - SubParameters- Control parameters of model sw1d_q_out. - The following classes are selected:
- LengthUpstream()The upstream channel segment’s length [km].
- TimeStepFactor()A factor for reducing the estimated computation time step to increase numerical stability [-].
 
 
- class hydpy.models.sw1d_q_out.DerivedParameters(master: Parameters, cls_fastaccess: type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)¶
- Bases: - SubParameters- Derived parameters of model sw1d_q_out. - The following classes are selected:
- Seconds()The length of the actual simulation step size in seconds [s].
 
 
- class hydpy.models.sw1d_q_out.FactorSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
- Bases: - FactorSequences- Factor sequences of model sw1d_q_out. - The following classes are selected:
- MaxTimeStep()The highest possible computation time step according to local stability considerations [s].
- TimeStep()The actual computation step according to global stability considerations [s].
- WaterDepth()Water depth [m].
- WaterLevel()Water level [m].
- WaterLevelUpstream()The upstream channel segment’s water level [m].
- WettedArea()The channel wetted area [m²].
 
 
- class hydpy.models.sw1d_q_out.FluxSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
- Bases: - FluxSequences- Flux sequences of model sw1d_q_out. - The following classes are selected:
- Outflow()Longitudinal flow out of the last channel segment [m³/s].
- DischargeVolume()The total amount of discharge of a simulation step [m³/T].
 
 
- class hydpy.models.sw1d_q_out.OutletSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
- Bases: - OutletSequences- Outlet sequences of model sw1d_q_out. - The following classes are selected:
- LongQ()The longitudinal outflow of the last channel segment [m³/s].
 
 
- class hydpy.models.sw1d_q_out.StateSequences(master: Sequences, cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
- Bases: - StateSequences- State sequences of model sw1d_q_out. - The following classes are selected:
- Discharge()Discharge [m³/s].
 
 
