nse

Nash-Sutcliffe Efficiency

de.nse.calc_nse(obs, sim)[source]

Calculate Nash-Sutcliffe-Efficiency (NSE).

Parameters
  • obs ((N,)array_like) – Observed time series as 1-D array

  • sim ((N,)array_like) – Simulated time series as 1-D array

Returns

sig – Nash-Sutcliffe-Efficiency

Return type

float

Examples

Provide arrays with equal length

>>> from de import de
>>> import numpy as np
>>> obs = np.array([1.5, 1, 0.8, 0.85, 1.5, 2])
>>> sim = np.array([1.6, 1.3, 1, 0.8, 1.2, 2.5])
>>> nse.calc_nse(obs, sim)
0.5648252536640361

Notes

\[NSE = 1 - \frac{\sum_{t=1}^{t=T} (Q_{sim}(t) - Q_{obs}(t))^2}{\sum_{t=1}^{t=T} (Q_{obs}(t) - \overline{Q_{obs}})^2}\]

References

Nash, J. E., and Sutcliffe, J. V.: River flow forecasting through conceptual models part I - A discussion of principles, Journal of Hydrology, 10, 282-290, 10.1016/0022-1694(70)90255-6, 1970.