FORCES
FORtran lib for Comp. Env. Sys.
|
Kling-Gupta-Efficiency measure. More...
Public Member Functions | |
real(dp) function | kge_dp_1d (x, y, mask) |
real(dp) function | kge_dp_2d (x, y, mask) |
real(dp) function | kge_dp_3d (x, y, mask) |
real(sp) function | kge_sp_1d (x, y, mask) |
real(sp) function | kge_sp_2d (x, y, mask) |
real(sp) function | kge_sp_3d (x, y, mask) |
Kling-Gupta-Efficiency measure.
The Kling-Gupta model efficiency coefficient \( KGE \) is
\[ KGE = 1 - \sqrt{( (1-r)^2 + (1-\alpha)^2 + (1-\beta)^2 )} \]
where
\( r \) = Pearson product-moment correlation coefficient
\( \alpha \) = ratio of simulated mean to observed mean
\( \beta \) = ratio of simulated standard deviation to observed standard deviation
This three measures are calculated between two arrays (1d, 2d, or 3d). Usually, one is an observation and the second is a modelled variable.
The higher the KGE the better the observation and simulation are matching. The upper limit of KGE is 1.
Therefore, if you apply a minimization algorithm to calibrate regarding KGE you have to use the objective function
\[ obj\_value = 1.0 - KGE \]
which has then the optimum at 0.0. (Like for the NSE where you always optimize 1-NSE.)
Example
Literature
[in] | real(sp/dp) :: x, y | 1D/2D/3D-array with input numbers |
[in] | logical, optional :: mask | 1D/2D/3D-array of logical values with size(x/y). |
real(sp/dp) ::kge | Kling-Gupta-Efficiency (value less equal 1.0) |
Definition at line 125 of file mo_errormeasures.f90.
real(dp) function mo_errormeasures::kge::kge_dp_1d | ( | real(dp), dimension(:), intent(in) | x, |
real(dp), dimension(:), intent(in) | y, | ||
logical, dimension(:), intent(in), optional | mask | ||
) |
Definition at line 956 of file mo_errormeasures.f90.
real(dp) function mo_errormeasures::kge::kge_dp_2d | ( | real(dp), dimension(:, :), intent(in) | x, |
real(dp), dimension(:, :), intent(in) | y, | ||
logical, dimension(:, :), intent(in), optional | mask | ||
) |
Definition at line 1009 of file mo_errormeasures.f90.
real(dp) function mo_errormeasures::kge::kge_dp_3d | ( | real(dp), dimension(:, :, :), intent(in) | x, |
real(dp), dimension(:, :, :), intent(in) | y, | ||
logical, dimension(:, :, :), intent(in), optional | mask | ||
) |
Definition at line 1073 of file mo_errormeasures.f90.
real(sp) function mo_errormeasures::kge::kge_sp_1d | ( | real(sp), dimension(:), intent(in) | x, |
real(sp), dimension(:), intent(in) | y, | ||
logical, dimension(:), intent(in), optional | mask | ||
) |
Definition at line 775 of file mo_errormeasures.f90.
real(sp) function mo_errormeasures::kge::kge_sp_2d | ( | real(sp), dimension(:, :), intent(in) | x, |
real(sp), dimension(:, :), intent(in) | y, | ||
logical, dimension(:, :), intent(in), optional | mask | ||
) |
Definition at line 828 of file mo_errormeasures.f90.
real(sp) function mo_errormeasures::kge::kge_sp_3d | ( | real(sp), dimension(:, :, :), intent(in) | x, |
real(sp), dimension(:, :, :), intent(in) | y, | ||
logical, dimension(:, :, :), intent(in), optional | mask | ||
) |
Definition at line 892 of file mo_errormeasures.f90.