Performs Modified Puls (level pool) routing of inflow hydrograph given a defined reservoir geometry (Stage (ft), Storage (ac-ft), Discharge (cfs)).
Arguments
- resmodel_df
Data frame with three columns: elevation/stage (ft), storage (acre-feet), and discharge (cfs). Must be in that order.
- inflow_df
Data frame with two columns: time (hours) and inflow (cfs). Must be in that order.
- initial_elev
Starting water surface elevation in feet.
- full_results
Logical. If
FALSE(default), returns only peak stage and discharge. IfTRUE, returns the complete routing result.
Value
If full_results = FALSE, a named numeric vector with
peak_stage_ft and peak_discharge_cfs.
If full_results = TRUE, a data frame with columns: time_hr,
inflow_cfs, elevation_ft, storage_acft, and outflow_cfs.
Examples
# Example hydrograph. Requires pre-processing
hydro_example <- hydrograph_setup(jmd_hydro_jun1965_15min,
critical_duration = 2,
routing_days = 10)
hydrograph_shape <- hydro_example[[1]][, 2:3]
scaled_hydrograph <- scale_hydrograph(hydrograph_shape,
observed_volume = 50000,
sampled_volume = 55000)
# Peak values only
mod_puls_routing(jmd_resmodel, scaled_hydrograph, initial_elev = 3830)
#> peak_stage_ft peak_discharge_cfs
#> 3860.329 500.000
# Full routing table
jmd_full_routing <- mod_puls_routing(jmd_resmodel,
scaled_hydrograph,
initial_elev = 3830,
full_results = TRUE)
head(jmd_full_routing)
#> time_hr inflow_cfs elevation_ft storage_acft outflow_cfs
#> 1 0 40.150 3830.000 129736.8 0
#> 2 1 1301.025 3830.008 129792.2 0
#> 3 2 1484.725 3830.026 129907.3 0
#> 4 3 1453.650 3830.044 130028.8 0
#> 5 4 1376.650 3830.062 130145.7 0
#> 6 5 1305.975 3830.079 130256.6 0