@@ -86,7 +86,7 @@ low flows as with GR4J.
8686
8787![ ] ( ../../assets/ensemble_model_comparison_quickplots.png )
8888
89- Comparing the temporal cross section:
89+ Comparing the temporal cross section to get an idea of seasonality :
9090
9191``` julia
9292ihacres_xs = temporal_cross_section (burn_dates, burn_obs, ihacres_node. outflow[burn_in: end ]; title= " IHACRES" , yscale= :log10 )
@@ -101,10 +101,11 @@ A reduction in the median error can be seen with extreme errors reduced somewhat
101101![ ] ( ../../assets/ensemble_xsection.png )
102102
103103The median error can then be applied to modelled streamflow (on a month-day basis) as a
104- form of bias correction.
104+ form of bias correction. Here, the correction factor is capped to -80% and +40% of predicted
105+ outflows.
105106
106107``` julia
107- q_star = Streamfall. apply_temporal_correction (ensemble, climate, Qo[:, " 410730" ])
108+ q_star = Streamfall. apply_temporal_correction (ensemble, climate, Qo[:, " 410730" ]; low_cap = 0.8 , high_cap = 0.4 )
108109
109110bc_ensemble_qp = quickplot (burn_obs, q_star[burn_in: end ], climate; label= " Bias Corrected Ensemble" , log= true )
110111
@@ -116,16 +117,17 @@ bias_corrected_xs = temporal_cross_section(
116117 yscale= :log10
117118)
118119
119- plot (bc_ensemble_qp, bias_corrected_xs; layout= (2 ,1 ), size= (800 , 800 ))
120+ ens_qp = plot (bc_ensemble_qp, bias_corrected_xs; layout= (2 ,1 ), size= (800 , 800 ))
120121```
121122
122- While the median error has increased, its variance has reduced significantly. At the same
123- time, performance at the 75 and 95% CI remain steady relative to the original weighted
124- ensemble results.
123+ It can be seen here that low flows are better represented, with a commensurate decrease
124+ in median error (and its variance). At the same time, performance at the 75 and 95% CI
125+ remain steady relative to the original weighted ensemble results.
125126
126127![ ] ( ../../assets/ensemble_bias_corrected.png )
127128
128129This ensemble approach may be improved further by:
129130
130131- Using a rolling window to smooth ensemble predictions
131132- Defining a custom objective function to target specific conditions
133+ - Using more advanced ensemble approaches other than the simple weighted mean approach
0 commit comments