FORCES
FORtran lib for Comp. Env. Sys.
|
Eckhardt filter for baseflow index calculation. More...
Functions/Subroutines | |
real(dp) function, dimension(:), allocatable, public | eckhardt_filter_fit (discharge, mask) |
Eckhardt filter for baseflow calculation from discharge time series with fitting. | |
real(dp) function, public | fit_alpha (discharge, mask) |
Fitted alpha parameter for the Eckhardt filter. | |
real(dp) function, dimension(:), allocatable, public | eckhardt_filter (alpha, discharge, mask) |
Eckhardt filter for baseflow calculation from discharge time series. | |
real(dp) function, dimension(:), allocatable, public | weekly_average (discharge, mask) |
This function returns the 7days-averaged discharge. | |
real(dp) function, public | bfi (baseflow, discharge, mask) |
Calculate the baseflow index as ratio between baseflow and discharge. | |
real(dp) function | func (pp) |
Target function for fitting Eckhardt filter. | |
Variables | |
real(dp), dimension(:), allocatable | temp_d7 |
logical, dimension(:), allocatable | temp_qmin_mask |
logical, dimension(:), allocatable | temp_mask |
Eckhardt filter for baseflow index calculation.
This module provides routines for the Eckardt filter to analyse discharge time series and extract the baseflow. The filter was proposed in Eckhardt (2008, doi: 10.1016/j.jhydrol.2008.01.005)
COPYING
and COPYING.LESSER
provided with this software. The complete GNU license text can also be found at http://www.gnu.org/licenses/. real(dp) function, public mo_eckhardt_filter::bfi | ( | real(dp), dimension(:), intent(in) | baseflow, |
real(dp), dimension(:), intent(in) | discharge, | ||
logical, dimension(:), intent(in), optional | mask | ||
) |
Calculate the baseflow index as ratio between baseflow and discharge.
[in] | baseflow | array with daily baseflow values |
[in] | discharge | array with daily discharge |
[in] | mask | mask for daily discharge |
Definition at line 187 of file mo_eckhardt_filter.f90.
References bfi().
Referenced by bfi(), and eckhardt_filter().
real(dp) function, dimension(:), allocatable, public mo_eckhardt_filter::eckhardt_filter | ( | real(dp), intent(in) | alpha, |
real(dp), dimension(:), intent(in) | discharge, | ||
logical, dimension(:), intent(in), optional | mask | ||
) |
Eckhardt filter for baseflow calculation from discharge time series.
This filter was proposed in Eckhardt (2008, doi: 10.1016/j.jhydrol.2008.01.005)
[in] | alpha | filter parameter |
[in] | discharge | array with daily discharge |
[in] | mask | mask for daily discharge |
Definition at line 115 of file mo_eckhardt_filter.f90.
References bfi(), and weekly_average().
Referenced by eckhardt_filter_fit(), and func().
real(dp) function, dimension(:), allocatable, public mo_eckhardt_filter::eckhardt_filter_fit | ( | real(dp), dimension(:), intent(in) | discharge, |
logical, dimension(:), intent(in), optional | mask | ||
) |
Eckhardt filter for baseflow calculation from discharge time series with fitting.
This filter was proposed in Eckhardt (2008, doi: 10.1016/j.jhydrol.2008.01.005)
[in] | discharge | array with daily discharge |
[in] | mask | mask for daily discharge |
Definition at line 39 of file mo_eckhardt_filter.f90.
References eckhardt_filter(), and fit_alpha().
real(dp) function, public mo_eckhardt_filter::fit_alpha | ( | real(dp), dimension(:), intent(in) | discharge, |
logical, dimension(:), intent(in), optional | mask | ||
) |
Fitted alpha parameter for the Eckhardt filter.
This filter was proposed in Eckhardt (2008, doi: 10.1016/j.jhydrol.2008.01.005)
[in] | discharge | array with daily discharge |
[in] | mask | mask for daily discharge |
Definition at line 58 of file mo_eckhardt_filter.f90.
References mo_message::error_message(), fit_alpha(), func(), and weekly_average().
Referenced by eckhardt_filter_fit(), and fit_alpha().
|
private |
Target function for fitting Eckhardt filter.
[in] | pp | alpha (single value) |
Definition at line 207 of file mo_eckhardt_filter.f90.
References eckhardt_filter(), and func().
Referenced by fit_alpha(), and func().
real(dp) function, dimension(:), allocatable, public mo_eckhardt_filter::weekly_average | ( | real(dp), dimension(:), intent(in) | discharge, |
logical, dimension(:), intent(in), optional | mask | ||
) |
This function returns the 7days-averaged discharge.
[in] | discharge | array with daily discharge |
[in] | mask | mask for daily discharge |
Definition at line 158 of file mo_eckhardt_filter.f90.
Referenced by eckhardt_filter(), and fit_alpha().
|
private |
Definition at line 31 of file mo_eckhardt_filter.f90.
|
private |
Definition at line 32 of file mo_eckhardt_filter.f90.
|
private |
Definition at line 32 of file mo_eckhardt_filter.f90.