Skip to content

Commit 42fa44e

Browse files
James CraigJames Craig
authored andcommitted
v486 - added KGE_PRIME diagnostic
1 parent 4677309 commit 42fa44e

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/Diagnostics.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ string CDiagnostic::GetName() const
5757
case(DIAG_RSR): {return "DIAG_RSR";}
5858
case(DIAG_R2): {return "DIAG_R2";}
5959
case(DIAG_LOG_NASH): {return "DIAG_LOG_NASH";}
60-
case(DIAG_KLING_GUPTA): {return "DIAG_KLING_GUPTA";}
60+
case(DIAG_KLING_GUPTA): {return "DIAG_KLING_GUPTA";}
61+
case(DIAG_KGE_PRIME): {return "DIAG_KGE_PRIME";}
6162
case(DIAG_DAILY_KGE): {return "DIAG_DAILY_KGE";}
6263
case(DIAG_NASH_SUTCLIFFE_DER):{return "DIAG_NASH_SUTCLIFFE_DER"; }
6364
case(DIAG_RMSE_DER): {return "DIAG_RMSE_DER"; }
@@ -999,6 +1000,7 @@ double CDiagnostic::CalculateDiagnostic(CTimeSeriesABC *pTSMod,
9991000
}
10001001
}
10011002
case(DIAG_KLING_GUPTA)://-----------------------------------------
1003+
case(DIAG_KGE_PRIME)://-------------------------------------------
10021004
case(DIAG_KLING_GUPTA_DEVIATION)://-------------------------------
10031005
{
10041006
double ObsAvg = 0;
@@ -1043,6 +1045,8 @@ double CDiagnostic::CalculateDiagnostic(CTimeSeriesABC *pTSMod,
10431045

10441046
if (_type==DIAG_KLING_GUPTA_DEVIATION){Beta=1.0;} //remove penalty for difference in means
10451047

1048+
if (_type==DIAG_KGE_PRIME){Alpha/=Beta;}// Uses C.O.V. instead of std dev. from Kling et al. (2012) Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, Journal of Hydrology
1049+
10461050
if ((N>0) && ((ObsAvg!=0.0) || (Beta==1.0)) && (ObsStd!=0.0) && (ModStd!=0.0))
10471051
{
10481052
return 1.0 - sqrt(pow((r - 1), 2) + pow((Alpha - 1), 2) + pow((Beta - 1), 2));
@@ -1495,6 +1499,7 @@ diag_type StringToDiagnostic(string distring)
14951499
else if (!distring.compare("R2" )){return DIAG_R2;}
14961500
else if (!distring.compare("LOG_NASH" )){return DIAG_LOG_NASH;}
14971501
else if (!distring.compare("KLING_GUPTA" )){return DIAG_KLING_GUPTA;}
1502+
else if (!distring.compare("KGE_PRIME" )){return DIAG_KGE_PRIME;}
14981503
else if (!distring.compare("DAILY_KGE" )){return DIAG_DAILY_KGE;}
14991504
else if (!distring.compare("NASH_SUTCLIFFE_DER" )){return DIAG_NASH_SUTCLIFFE_DER;}
15001505
else if (!distring.compare("RMSE_DER" )){return DIAG_RMSE_DER;}

src/Diagnostics.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ enum diag_type {
1919
DIAG_RMSE,
2020
DIAG_RMSE_DER,
2121
DIAG_KLING_GUPTA,
22+
DIAG_KGE_PRIME,
2223
DIAG_DAILY_KGE,
2324
DIAG_KLING_GUPTA_DER,
2425
DIAG_KLING_GUPTA_DEVIATION,

0 commit comments

Comments
 (0)