HydPy-WQ-Trapeze-Strickler (multi-trapeze river profile submodel including Strickler-based calculations)

wq_trapeze_strickler is a stateless submodel that requires information on the current water level or depth from its main model (usually a routing model). It returns the corresponding discharge and related properties, such as the kinematic wave celerity. See the documentation on the application model musk_mct, which shows how to use wq_trapeze_strickler in practice. Also, please see the documentation on the related application model wq_trapeze, which also relies on stacket and symmetric trapezes but does not include discharge calculations.

wq_trapeze and wq_trapeze_strickler offer the same plotting functionalities. To avoid redundancies, we give a single example for wq_trapeze_strickler and refer you to the documentation on wq_trapeze for further details:

>>> from hydpy.core.testtools import save_autofig
>>> from hydpy.models.wq_trapeze_strickler import *
>>> parameterstep()
>>> nmbtrapezes(3)
>>> bottomlevels(1.0, 3.0, 4.0)
>>> bottomwidths(2.0, 0.0, 2.0)
>>> sideslopes(0.0, 2.0, 2.0)
>>> derived.trapezeheights.update()
>>> derived.slopewidths.update()
>>> figure = model.plot()
>>> save_autofig(f"wq_trapeze_strickler_three_trapezes.png", figure=figure)
_images/wq_trapeze_strickler_three_trapezes.png
class hydpy.models.wq_trapeze_strickler.Model[source]

Bases: TrapezeModel, CrossSectionModel_V1

HydPy-WQ-Trapeze-Strickler (multi-trapeze river profile submodel including Strickler-based calculations).

The following interface methods are available to main models using the defined model as a submodel:
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:
DOCNAME: DocName = ('WQ-Trapeze-Strickler', 'multi-trapeze river profile submodel including Strickler-based calculations')
prepare_bottomslope

Set the bottom’s slope (in the longitudinal direction) [-].

>>> from hydpy.models.wq_trapeze_strickler import *
>>> parameterstep()
>>> model.prepare_bottomslope(0.01)
>>> bottomslope
bottomslope(0.01)
REUSABLE_METHODS: ClassVar[tuple[type[ReusableMethod], ...]] = ()
cymodel: CyModelProtocol | None
parameters: parametertools.Parameters
sequences: sequencetools.Sequences
masks: masktools.Masks
class hydpy.models.wq_trapeze_strickler.ControlParameters(master: Parameters, cls_fastaccess: type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)

Bases: SubParameters

Control parameters of model wq_trapeze_strickler.

The following classes are selected:
class hydpy.models.wq_trapeze_strickler.DerivedParameters(master: Parameters, cls_fastaccess: type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)

Bases: SubParameters

Derived parameters of model wq_trapeze_strickler.

The following classes are selected:
  • BottomDepths() The cumulated depth of a trapeze and its lower neighbours [m].

  • TrapezeHeights() The individual height of each trapeze [m].

  • SlopeWidths() The tatal width of both side slopes of each trapeze.

  • PerimeterDerivatives() Change of the perimeter of each trapeze relative to a water level increase within the trapeze’s range [-].

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

Bases: FactorSequences

Factor sequences of model wq_trapeze_strickler.

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

Bases: FluxSequences

Flux sequences of model wq_trapeze_strickler.

The following classes are selected: