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)
Method features¶
- class hydpy.models.wq_trapeze_strickler.Model[source]¶
Bases:
TrapezeModel,CrossSectionModel_V1HydPy-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:
Use_WaterDepth_V1Set the water depth in m and use it to calculate all other properties.Use_WaterLevel_V1Set the water level in m and use it to calculate all other properties.Get_WettedArea_V1Get the wetted area in m².Get_SurfaceWidth_V1Get the surface width in m.Get_Discharge_V1Get the discharge in m³/s.Get_Celerity_V1Get the wave celerity in m/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:
Set_WaterDepth_V1Set the water depth in m.Set_WaterLevel_V1Set the water level in m.Calc_WaterDepth_V1Calculate the water depth based on the current water level.Calc_WaterLevel_V1Calculate the water level based on the current water depth.Calc_WettedAreas_V1Calculate the wetted area for each trapezoidal range.Calc_WettedArea_V1Sum up the individual trapezoidal ranges’ wetted areas.Calc_WettedPerimeters_V1Calculate the wetted perimeter for each trapezoidal range.Calc_WettedPerimeterDerivatives_V1Calculate the change in the wetted perimeter of each trapezoidal range with respect to the water level increase.Calc_SurfaceWidths_V1Calculate the surface width for each trapezoidal range.Calc_SurfaceWidth_V1Sum the individual trapezoidal ranges’ surface widths.Calc_Discharges_V1Calculate the discharge for each trapezoidal range.Calc_Discharge_V2Sum the individual trapezoidal ranges’ discharges.Calc_DischargeDerivatives_V1Calculate the discharge change for each trapezoidal range with respect to a water level increase.Calc_DischargeDerivative_V1Sum the individual trapezoidal ranges’ discharge derivatives.Calc_Celerity_V1Calculate the kinematic wave celerity.
- 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 = ()¶
Parameter features¶
- class hydpy.models.wq_trapeze_strickler.ControlParameters(master: Parameters[TM_co], cls_fastaccess: type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
ControlParametersControl parameters of model wq_trapeze_strickler.
- The following classes are selected:
NmbTrapezesNumber of trapeziums defining the cross section [-].BottomLevelsThe bottom level for each trapezium [m].BottomWidthsThe bottom width for each trapezium [m].SideSlopesThe side slope for each trapezium[-].StricklerCoefficientsManning-Strickler coefficient for each trapezium or sector [m^(1/3)/s].CalibrationFactorsCalibration factor for each trapezium or sector [-].BottomSlopeBottom slope [-].
- class hydpy.models.wq_trapeze_strickler.DerivedParameters(master: Parameters[TM_co], cls_fastaccess: type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
DerivedParametersDerived parameters of model wq_trapeze_strickler.
- The following classes are selected:
BottomDepthsThe cumulated depth of a trapezium and its lower neighbours [m].TrapezeHeightsThe individual height of each trapezium [m].SlopeWidthsThe total width of both side slopes of each trapezium.PerimeterDerivativesChange of the perimeter of each trapezium relative to a water level increase within the trapezoidal’s range [-].
Sequence features¶
- class hydpy.models.wq_trapeze_strickler.FactorSequences(master: Sequences[TM_co], cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
FactorSequencesFactor sequences of model wq_trapeze_strickler.
- The following classes are selected:
WaterDepthWater depth [m].WaterLevelWater level [m].WettedAreasWetted area of each trapezoidal range [m²].WettedAreaTotal wetted area [m²].WettedPerimetersWetted perimeter of each trapezoidal range [m].WettedPerimeterDerivativesChange in the wetted perimeter of each trapezoidal range with respect to a water level increase [-].SurfaceWidthsSurface width of each trapezoidal range [m].SurfaceWidthTotal surface width [m].DischargeDerivativesDischarge change of each trapezoidal range with respect to a water level increase [m²/s].DischargeDerivativeTotal discharge change with respect to a water level increase [m²/s].CelerityKinematic celerity (wave speed) [m/s].
- class hydpy.models.wq_trapeze_strickler.FluxSequences(master: Sequences[TM_co], cls_fastaccess: type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
FluxSequencesFlux sequences of model wq_trapeze_strickler.
- The following classes are selected:
DischargesThe discharge of each trapezoidal range [m³/s].DischargeTotal discharge [m³/s].