Compute all hydraulic data from Q for EROS hydrological data on Loire Watershed
Source:R/TnetHydraulic.R
TnetHydraulic_LoireStyle.Rd
Calculate rivers width (\(Bm\)), depth (\(H\)) and water travel time (\(TPS\)) with Discharge as input data.
This function have computation from old T-NET C++ model used on Loire river with EROS data. It combine TnetHydraulic_MorelOld()
and TnetHydraulic_ManningStrickler()
computations
Arguments
- path_data
Path to the folder containing Q created by
TnetEROS_computeQ()
- shapefile
Path to the shapefile with all info on segments. Columns needed are detailed in the details section.
Details
With EROS hydrological model on Loire watershed, EstimKart formulas are used with parameter values computed for each river segments.
EstimKart parameter
Constant parameter:
ad0 = 2.122, adbv = 0, adslo = -0.076, adordr = 0
bd0 = 0.475, bdq = 0, bdbv = 0, bdslo = 0, bdordr = 0
b0 = 0.125, bq = 0, bbv = 0, bslo = 0, bordr = 0
cd0 = -0.966, cdbv = 0, cdslo = -0.058, cdordr = 0
fd0 = 0.298, fdq = 0, fdbv = 0, fdslo = 0, fdordr = 0
f0 = 0.302, fq = 0, fbv = 0, fslo = 0, fordr = 0
$$sSlope = \sqrt{slope \cdot 1000}$$
$$ordre = Strahler order - 1$$
For Width computation:
$$ad = \exp\left(ad_0 + ad_{bv} \cdot \log(\text{Aire\_tronc}) + ad_{slo} \cdot sSlope + ad_{ordr} \cdot ordre\right)$$
$$bd = bd0 + bdq \cdot log(Qmean) + bdbv \cdot log(\text{Aire\_tronc}) + bdslo \cdot sSlope + bdordr \cdot ordre$$
$$b = b0 + bq \cdot log(Qmean) + bbv \cdot log(\text{Aire\_tronc}) + bslo \cdot sSlope + bordr \cdot ordre$$
For Height computation:
$$cd = exp(cd0 + cdbv \cdot log(\text{Aire\_tronc}) + cdslo \cdot sSlope + cdordr \cdot ordre)$$
$$fd = fd0 + fdq \cdot log(Qmean) + fdbv \cdot log(\text{Aire\_tronc}) + fdslo \cdot sSlope + fdordr \cdot ordre$$
$$f = f0 + fq \cdot log(Qmean) + fbv \cdot log(\text{Aire\_tronc}) + fslo \cdot sSlope + fordr \cdot ordre$$
River segment width (\(Bm\)):
if \(Bm\) is set in the shapefile
:
$$Bm = Bm$$
if \(nw\_b > -1\) or \(L50\_corr > -1\) or \(Q50\_corr > -1\) are set in the shapefile
:
$$Bm = L50\_corr \cdot \left(\frac{Qaval}{Q50\_corr}\right)^{nw_b}$$
else: $$Bm = ad \cdot (Qmean)^{bd} \cdot \left(\frac{Qaval}{Qmean}\right)^{b}$$
River segment depth (\(H\)):
if \(nw\_f > -1\) or \(H50\_corr > -1\) or \(Q50\_corr > -1\) are set in the shapefile
:
$$H = H50\_corr \cdot \left(\frac{Qaval}{Q50\_corr}\right)^{nw_f}$$
else: $$H = cd \cdot (Qmean)^{fd} \cdot \left(\frac{Qaval}{Qmean}\right)^{f}$$
Water travel time in river segment (\(TPS\)):
$$TPS = \frac{Longueur\_m}{\left(\frac{Qaval}{H \cdot Bm}\right)} \div 3600$$
Columns needed in the shapefile
\(OBJECTID_1\) | ID of the river segment |
\(OSTRAHLER\) | Strahler order of the river segment |
\(pente2\) | Slope of the river segment |
\(longueur\) | Length of the river segment |
\(nw\_b\) | EstmiKart b parameter recalibrate for the river segment |
\(nw\_f\) | EstimKart f parameter recalibrate for the river segment |
\(Q50\_corr\) | Median discharge to use with recalibrate EstimKart formulas |
\(H50\_corr\) | Median height to use with recalibrate EstimKart formulas |
\(L50\_corr\) | Median width to use with recalibrate Estimkart formulas |
\(Bm\) | Measured width of the river segments |
\(B\_mes\) | Another measured width of the river segment |
\(Aire\_tronc\) | Drain area of the river segment |
References
Maxime Morel, Doug J. Booker, Frédéric Gob, Nicolas Lamouroux, Intercontinental predictions of river hydraulic geometry from catchment physical characteristics, Journal of Hydrology, https://doi.org/10.1016/j.jhydrol.2019.124292.
Examples
## If we want to calculate width the normal way
TNET_computeHydraulic(path_data = path/to/data,
shapefile = path/to/shapefile.shp)
#> Warning: 'TNET_computeHydraulic(...,hydro_model = 'J2000', calcul_Bm = 'EK')' is deprecated.
#> Use 'TnetHydraulic_MorelNew' instead.
#> See help("Deprecated")
#> Error: object 'to' not found
## If we want to calculate width and recalibrate some segments with width at quantile = 0.99
TNET_computeHydraulic(path_data = path/to/data,
shapefile = path/to/shapefile.shp,
calcul_Bm = 'EKrecal',
shapefile_largeur = path/to/shapefile_width.shp,
quantile_calc = 0.99)
#> Warning: 'TNET_computeHydraulic(...,hydro_model = 'J2000', calcul_Bm = 'EKrecal')' is deprecated.
#> Use 'TnetHydraulic_MorelNewRec' instead.
#> See help("Deprecated")
#> Error in TnetHydraulic_MorelNew(path_data, shapefile, shapefile_largeur, quantile_calc): unused argument (quantile_calc)
############################################################
## Using this function with TNET_initializeSim() function ##
############################################################
infoSimu <- TNET_initializeSim(...)
#> Error: '...' used in an incorrect context
TNET_readJ2K(...) #Read ReachLoop.dat file
#> Error: '...' used in an incorrect context
TNET_computeQ(...)
#> Error: '...' used in an incorrect context
TNET_computeHydraulic(path_data = infoSimu$hydroPath,
shapefile = infoSimu$TOPAGE_shape,
shapefile_largeur = infoSimu$Largeur_shape,
calcul_Bm = infoSimu$Bm_method,
quantile_calc = infoSimu$Bm_quantile)
#> Error: object 'infoSimu' not found