SPOD {s2dv}R Documentation

Compute the South Pacific Ocean Dipole (SPOD) index

Description

The South Pacific Ocean Dipole (SPOD) index is related to the El Nino-Southern Oscillation (ENSO) and the Inderdecadal Pacific Oscillation (IPO). The SPOD index is computed as the difference of weighted-averaged SST anomalies over 20ºS-48ºS, 165ºE-190ºE (NW pole) and the weighted-averaged SST anomalies over 44ºS-65ºS, 220ºE-260ºE (SE pole) (Saurral et al., 2020). If different members and/or datasets are provided, the climatology (used to calculate the anomalies) is computed individually for all of them.

Usage

SPOD(
  data,
  data_lats,
  data_lons,
  type,
  lat_dim = "lat",
  lon_dim = "lon",
  mask = NULL,
  monini = 11,
  fmonth_dim = "fmonth",
  sdate_dim = "sdate",
  indices_for_clim = NULL,
  year_dim = "year",
  month_dim = "month",
  na.rm = TRUE,
  ncores = NULL
)

Arguments

data

A numerical array to be used for the index computation with, at least, the dimensions: 1) latitude, longitude, start date and forecast month (in case of decadal predictions), 2) latitude, longitude, year and month (in case of historical simulations or observations). This data has to be provided, at least, over the whole region needed to compute the index.

data_lats

A numeric vector indicating the latitudes of the data.

data_lons

A numeric vector indicating the longitudes of the data.

type

A character string indicating the type of data ('dcpp' for decadal predictions, 'hist' for historical simulations, or 'obs' for observations or reanalyses).

lat_dim

A character string of the name of the latitude dimension. The default value is 'lat'.

lon_dim

A character string of the name of the longitude dimension. The default value is 'lon'.

mask

An array of a mask (with 0's in the grid points that have to be masked) or NULL (i.e., no mask is used). This parameter allows to remove the values over land in case the dataset is a combination of surface air temperature over land and sea surface temperature over the ocean. Also, it can be used to mask those grid points that are missing in the observational dataset for a fair comparison between the forecast system and the reference dataset. The default value is NULL.

monini

An integer indicating the month in which the forecast system is initialized. Only used when parameter 'type' is 'dcpp'. The default value is 11, i.e., initialized in November.

fmonth_dim

A character string indicating the name of the forecast month dimension. Only used if parameter 'type' is 'dcpp'. The default value is 'fmonth'.

sdate_dim

A character string indicating the name of the start date dimension. Only used if parameter 'type' is 'dcpp'. The default value is 'sdate'.

indices_for_clim

A numeric vector of the indices of the years to compute the climatology for calculating the anomalies, or NULL so the climatology is calculated over the whole period. If the data are already anomalies, set it to FALSE. The default value is NULL.
In case of parameter 'type' is 'dcpp', 'indices_for_clim' must be relative to the first forecast year, and the climatology is automatically computed over the common calendar period for the different forecast years.

year_dim

A character string indicating the name of the year dimension The default value is 'year'. Only used if parameter 'type' is 'hist' or 'obs'.

month_dim

A character string indicating the name of the month dimension. The default value is 'month'. Only used if parameter 'type' is 'hist' or 'obs'.

na.rm

A logical value indicanting whether to remove NA values. The default value is TRUE.

ncores

An integer indicating the number of cores to use for parallel computation. The default value is NULL.

Value

A numerical array with the SPOD index with the same dimensions as data except the lat_dim, lon_dim and fmonth_dim (month_dim) in case of decadal predictions (historical simulations or observations). In case of decadal predictions, a new dimension 'fyear' is added.

Examples

## Observations or reanalyses
obs <- array(1:100, dim = c(year = 5, lat = 19, lon = 37, month = 12))
lat <- seq(-90, 90, 10)
lon <- seq(0, 360, 10)
index_obs <- SPOD(data = obs, data_lats = lat, data_lons = lon, type = 'obs')

## Historical simulations
hist <- array(1:100, dim = c(year = 5, lat = 19, lon = 37, month = 12, member = 5))
lat <- seq(-90, 90, 10)
lon <- seq(0, 360, 10)
index_hist <- SPOD(data = hist, data_lats = lat, data_lons = lon, type = 'hist')

## Decadal predictions
dcpp <- array(1:100, dim = c(sdate = 5, lat = 19, lon = 37, fmonth = 24, member = 5))
lat <- seq(-90, 90, 10)
lon <- seq(0, 360, 10)
index_dcpp <- SPOD(data = dcpp, data_lats = lat, data_lons = lon, type = 'dcpp', monini = 1)


[Package s2dv version 2.0.0 Index]