intFun.crmse: Centralized root mean square error (CRMSE)

Description Usage Arguments Value Examples

View source: R/intFun.R

Description

This function computes the centralized root mean square error, which is defined as:

$crmse(λ, φ) = √{\frac{1}{t_{f}-t_{0}}\int_{t_{0}}^{t_{f}}[(v_{mod}(t,λ, φ)-\overline{v_{mod}}(λ, φ))-(v_{ref}(t,λ, φ)-\overline{v_{ref}}(λ, φ))]^{2}dt}$

where λ is the longitude, φ is the latitude, t is the time, t_0 is the initial time step, t_f is the final time time step, v_{mod} is a modelled variable, v_{ref} is the corresponding reference variable, \overline{v_{mod}} is the time-mean modelled variable, and \overline{v_{ref}} is the time-mean reference variable.

Usage

1
intFun.crmse(mod.anom, ref.anom)

Arguments

mod.anom

An R object (e.g. monthly anomalies from model output)

ref.anom

An R object (e.g. monthly anomalies from reference data)

Value

An R object that shows the centralized root mean square error

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
library(raster)
# create two raster stacks
for(i in 1:100)
{
 mod <- raster::raster(matrix(runif(100,0,10), ncol=10))
 ref <- raster::raster(matrix(runif(100,0,10), ncol=10))
 assign(paste('mod', i , sep='_'), mod)
 assign(paste('ref', i , sep='_'), ref)
}
my.list.mod <- lapply(ls(pattern='mod_'), get)
my.list.ref <- lapply(ls(pattern='ref_'), get)
mod <- do.call(stack, my.list.mod)
ref <- do.call(stack, my.list.ref)
# compute anomalies
mod.anom <- intFun.anom(mod)
ref.anom <- intFun.anom(ref)
# compute CRMSE
crmse <- intFun.crmse(mod.anom, ref.anom)
plot(crmse); text(crmse, digits=2)

amber documentation built on Aug. 28, 2020, 5:08 p.m.