mNSE {hydroGOF} R Documentation

## Modified Nash-Sutcliffe efficiency

### Description

Modified Nash-Sutcliffe efficiency between `sim` and `obs`, with treatment of missing values.

### Usage

```mNSE(sim, obs, ...)

## Default S3 method:
mNSE(sim, obs, j=1, na.rm=TRUE, ...)

## S3 method for class 'data.frame'
mNSE(sim, obs, j=1, na.rm=TRUE, ...)

## S3 method for class 'matrix'
mNSE(sim, obs, j=1, na.rm=TRUE, ...)

## S3 method for class 'zoo'
mNSE(sim, obs, j=1, na.rm=TRUE, ...)
```

### Arguments

 `sim` numeric, zoo, matrix or data.frame with simulated values `obs` numeric, zoo, matrix or data.frame with observed values `j` numeric, with the exponent to be used in the computation of the modified Nash-Sutcliffe efficiency. The default value is `j=1`. `na.rm` a logical value indicating whether 'NA' should be stripped before the computation proceeds. When an 'NA' value is found at the i-th position in `obs` OR `sim`, the i-th value of `obs` AND `sim` are removed before the computation. `...` further arguments passed to or from other methods.

### Details

mNSE = 1 - ( sum( abs(obs - sim)^j ) / sum( abs(obs - mean(obs))^j )

When `j=1`, the modified NSeff is not inflated by the squared values of the differences, because the squares are replaced by absolute values.

### Value

Modified Nash-Sutcliffe efficiency between `sim` and `obs`.

If `sim` and `obs` are matrixes, the returned value is a vector, with the modified Nash-Sutcliffe efficiency between each column of `sim` and `obs`.

### Note

`obs` and `sim` has to have the same length/dimension

The missing values in `obs` and `sim` are removed before the computation proceeds, and only those positions with non-missing values in `obs` and `sim` are considered in the computation

### Author(s)

Mauricio Zambrano Bigiarini <mzb.devel@gmail.com>

### References

Krause, P., Boyle, D. P., and Base, F.: Comparison of different efficiency criteria for hydrological model assessment, Adv. Geosci., 5, 89-97, 2005

Legates, D. R., and G. J. McCabe Jr. (1999), Evaluating the Use of "Goodness-of-Fit" Measures in Hydrologic and Hydroclimatic Model Validation, Water Resour. Res., 35(1), 233-241

`NSE`, `rNSE`, `gof`, `ggof`

### Examples

```sim <- 1:10
obs <- 1:10
mNSE(sim, obs)

sim <- 2:11
obs <- 1:10
mNSE(sim, obs)

##################
# Loading daily streamflows of the Ega River (Spain), from 1961 to 1970
data(EgaEnEstellaQts)
obs <- EgaEnEstellaQts

# Generating a simulated daily time series, initially equal to the observed series
sim <- obs

# Computing the 'mNSE' for the "best" (unattainable) case
mNSE(sim=sim, obs=obs)

# Randomly changing the first 2000 elements of 'sim', by using a normal distribution
# with mean 10 and standard deviation equal to 1 (default of 'rnorm').
sim[1:2000] <- obs[1:2000] + rnorm(2000, mean=10)

# Computing the new 'mNSE'
mNSE(sim=sim, obs=obs)
```

[Package hydroGOF version 0.3-10 Index]