GR4J
Streamfall.reset! — Methodreset!(node::GR4JNode)::NothingReset node. Clears all states back to their initial values.
Streamfall.run_gr4j — Methodrun_gr4j(
P::F, E::F, X1::F, X2::F, X3::F, X4::F, area::F,
UH1::Vector{Float64}, UH2::Vector{Float64},
uh1_ordinates::Vector{Float64}, uh2_ordinates::Vector{Float64};
p_store=0.0, r_store=0.0
)::Tuple where {F<:Float64}Generated simulated streamflow with GR4J for given rainfall and potential evaporation.
Parameters
P: Catchment average rainfallE: Catchment average potential evapotranspirationX1: Maximum capacity of production store (in mm; > 0)X2: Groundwater exchange coefficient (in mm; value < and > 0 possible)X3: Maximum capacity of routing store (in mm; > 0)X4: Time base of the unit hydrograph (in days, > 0.5)area: Catchment areaUH1: Quickflow storeUH2: Baseflow storeuh1_ordinates: The proportion of rainfall converted to quickflow for each timestepuh2_ordinates: The proportion of rainfall converted to slowflow for each timestepp_store: Initial production storer_store: Initial state store
Returns
Tuple of:
- Simulated outflow [ML/day]
- intermediate states:
- p_store (initial production / percolation)
- r_store (initial state)
- UH1 (Quickflow)
- UH2 (Slowflow)
Streamfall.run_timestep! — Methodrun_timestep!(
node::GR4JNode, climate::Climate, timestep::Int;
inflow=nothing, extraction=nothing, exchange=nothing
)
run_timestep!(
node::GR4JNode, rain::Float64, et::Float64, ts::Int64;
inflow=nothing, extraction=nothing, exchange=nothing
)Run given GR4J node for a time step.
Streamfall.s_curve — Methods_curve(t::Float64, x4::Float64, uh2::Bool = false)::Float64Determine unit hydrograph ordinates.
Streamfall.update_params! — Methodupdate_params!(node::GR4JNode, X1::Float64, X2::Float64, X3::Float64, X4::Float64)::NothingUpdate parameters for GR4J.
Streamfall.update_state! — Methodupdate_state!(node::GR4JNode, ps, rs, q, UH1, UH2)::Nothing
update_state!(node::GR4JNode, ts::Int64, ps, rs, q, UH1, UH2)::NothingUpdate GR4J node state.
Streamfall.GR4JNode — TypeGR4J Node
GR4J: modèle du Génie Rural à 4 paramètres Journalier.
A four-parameter model with two stores.
Parameters
x1: maximum capacity of the production store (mm) (> 0)x2: groundwater exchange coefficient (mm) (value < and > 0 possible)x3: one day ahead maximum capacity of the routing store (mm, > 0)x4: time base of unit hydrograph UH1 (days, > 0.5)
References
Perrin, C., Michel, C., Andréassian, V., 2003. Improvement of a parsimonious model for streamflow simulation. Journal of Hydrology 279, 275-289. https://doi.org/10.1016/S0022-1694(03)00225-7
MacDonald, A. 2014. Python GR4J https://github.com/amacd31/gr4j