% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/RPSS.R
\name{RPSS}
\alias{RPSS}
\title{Compute the Ranked Probability Skill Score}
\usage{
RPSS(
  exp,
  obs,
  ref = NULL,
  prob_thresholds = c(1/3, 2/3),
  indices_for_clim = NULL,
  Fair = FALSE,
  time_dim = "year",
  member_dim = "member",
  ncores = NULL
)
}
\arguments{
\item{exp}{A numerical array with the forecast with, at least, time dimension.}

\item{obs}{A numerical array with the observations with, at least, time dimension. 
The length of the time dimension must be the same as for "exp".}

\item{ref}{NULL or a numerical array with the reference forecast with, at least, time dimension. 
The length of the time dimension must be the same as for "exp". If it is NULL, the climatological forecast is
used as reference forecast. The default value is NULL.}

\item{prob_thresholds}{A numeric vector with the relative thresholds (between 0 and 1) between the categories. 
The default value is c(1/3,2/3), which corresponds to tercile equiprobable categories.}

\item{indices_for_clim}{A vector with the indices to be taken along "time_dim" dimension for computing the thresholds
between the probabilistic categories. If NULL, the whole period is used. The default value is NULL.}

\item{Fair}{A logical indicating whether to compute the FairRPSS (the potential RPSS that the forecast would have with 
an infinite ensemble size). The default value is FALSE.}

\item{time_dim}{A character string indicating the name of the time dimension.
The default value is 'year'.}

\item{member_dim}{A character string indicating the name of the member dimension to compute the 
ensemble means of the forecast and reference forecast. If it is NULL, the ensemble means should 
be provided directly to the function. The default value is 'member'.}

\item{ncores}{An integer indicating the number of cores to use for parallel 
computation. The default value is NULL.}
}
\value{
\item{$rpss}{
 A numerical array with the RPSS with the same dimensions as "exp" except the "time_dim" 
 and "member_dim" dimensions.
}
\item{$sign}{
 A logical array with the statistical significance of the RPSS with the same dimensions 
 as "exp" except the "time_dim" and "member_dim" dimensions.
}
}
\description{
The Ranked Probability Skill Score (RPSS; Wilks, 2011; https://doi.org/10.1016/B978-0-12-385022-5.00008-7)
is the skill score based on the Ranked Probability Score (RPS; Wilks, 2011). It can be used to assess whether
a forecast presents an improvement or worsening with respect to a reference forecast. The RPSS ranges between
minus infinite and 1. If the RPSS is positive, it indicates that the forecast has higher skill than the 
reference forecast, while a negative value means that it has a lower skill. Examples of reference forecasts
are the climatological forecast (same probabilities for all categories for all time steps), persistence, a previous model version,
and another model. It is computed as RPSS = 1 - RPS_exp / RPS_ref. The statistical significance is obtained based
on a Random Walk test at the 95% confidence level (DelSole and Tippett, 2016; https://doi.org/10.1175/MWR-D-15-0218.1)
}
\examples{
exp <- array(rnorm(1000), dim = c(lat = 3, lon = 2, member = 10, year = 50))
ref <- array(rnorm(1000), dim = c(lat = 3, lon = 2, member = 10, year = 50))
obs <- array(rnorm(1000), dim = c(lat = 3, lon = 2, year = 50))
RPSS(exp = exp, obs = obs) ## climatology as reference forecast
RPSS(exp = exp, obs = obs, ref = ref) ## ref as reference forecast

}
