Skip to contents

ok_hydraulics() takes the inflow volume from ok_load() and the reservoir's morphometric parameters to compute two quantities that drive nutrient retention in all subsequent steps:

  • Hydraulic residence time (tau, yr): reservoir volume divided by annual outflow, where volume is approximated as mean_depth * surface_area.

  • Areal water load (q_s, m/yr): inflow volume divided by surface area. The primary driver of settling-velocity based retention.

Usage

ok_hydraulics(x, surface_area_ha, mean_depth_m, outflow_m3yr = NULL)

Arguments

x

An okBATHTUB object produced by ok_load().

surface_area_ha

Numeric. Reservoir surface area at normal pool (ha). Must be positive.

mean_depth_m

Numeric. Mean reservoir depth at normal pool (m). Must be positive. For Oklahoma reservoirs this is typically 2-10 m.

outflow_m3yr

Numeric. Annual outflow volume (m^3/yr). If NULL (default), outflow is assumed equal to inflow (steady-state water balance). Supply an explicit value when significant evaporation, diversion, or storage change alters the water balance.

Value

An okBATHTUB object at pipeline step "hydraulics".

Volume approximation

Reservoir volume is computed as mean_depth * surface_area, treating the reservoir as a right rectangular prism with flat bottom. This is a simplification: real reservoirs have varying bathymetry, and the relationship V = Z * A is exact only when Z is the volume-weighted mean depth, which is what bathymetric surveys typically report. If you only have maximum depth or a depth-area regression estimate, expect roughly a factor-of-1.5 uncertainty in tau and proportional downstream uncertainty in predicted in-lake concentrations.

Examples

result <- ok_load(
  inflow_m3yr   = 45e6,
  tp_inflow_ugl = 120,
  tn_inflow_ugl = 1800
) |>
  ok_hydraulics(surface_area_ha = 890, mean_depth_m = 4.2)
print(result)
#> -- okBATHTUB Result --
#>   Pipeline step : hydraulics
#>   Segment       : main
#>   Coefficients  : walker
#> 
#>   inflow_m3yr                 : 4.5e+07
#>   tp_inflow_ugl               : 120
#>   tp_load_kgyr                : 5400
#>   tn_inflow_ugl               : 1800
#>   tn_load_kgyr                : 8.1e+04
#>   surface_area_ha             : 890
#>   surface_area_m2             : 8.9e+06
#>   mean_depth_m                : 4.2
#>   volume_m3                   : 3.738e+07
#>   outflow_m3yr                : 4.5e+07
#>   hydraulic_residence_time_yr : 0.8307
#>   areal_water_load_myr        : 5.056