GeoEco.DataProducts.NOAA.ClimateIndices.PSLClimateIndices.ClassifyONIEpisodesInTimeSeriesList
- classmethod PSLClimateIndices.ClassifyONIEpisodesInTimeSeriesList(oniTable)
Given a time series table of monthly Oceanic Niño Index (ONI) numerical values, classifies each month as part of a normal, El Niño (warm), or La Niña (cold) episode.
At the time of this writing (in 2024), the NOAA Climate Prediction Center (CPC) maintained a table of ONI values at https://www.cpc.ncep.noaa.gov/products/analysis_monitoring/ensostuff/ensoyears.shtml. A copy of these values were provided by the NOAA Physical Sciences Laboratory (PSL) at https://psl.noaa.gov/data/correlation/oni.data. The CPC provided the following definition of ONI and ONI episodes:
“Warm and cold episodes based on a threshold of +/- 0.5 deg C for the Oceanic Niño Index (ONI) [3 month running mean of ERSST.v5 SST anomalies in the Niño 3.4 region (5N-5S, 120-170W)], based on centered 30-year base periods updated every 5 years. For historical purposes cold and warm episodes are defined when the threshold is met for a minimum of 5 consecutive overlapping seasons.”
This tool accepts as input a table of monthly ONI values and classifies each month as a normal, El Niño (warm), or La Niña (cold) episode, according to CPC’s definition. To reproduce CPC’s table using data from PSL with this tool, you can:
Use the Create Table from PSL Climate Index Time Series at URL tool to create a table from https://psl.noaa.gov/data/correlation/oni.data.
Add a field called
ONIEpisodeto the table, with an integer data type.Use this tool to populate that field. The episodes will be coded for each month as normal (0), La Niña (-1), or El Niño (1).
- Parameters:
oniTable (
listoflistofobject) –Table of ONI values represented as a list of lists. The outer list contains the rows of the table. Each inner list contains the field values for a row.
There are two fields:
Date(datetime) - the date of the first day of the month and year of the climate index value (e.g. 1-Mar-1960). The date represents the middle month of the 3-month ONI averaging “season”. For example, for the year 2000, the December-January-February (DJF) season must have the date 1-Jan-2000, while the January-February-March (JFM) season must have the date 1-Feb-2000. A given date must only appear once. The ONI records must be in ascending date order. There must be no skipped months (i.e. the records cannot proceed from 1-Mar-1960 to 1-May-1960, skipping 1-Apr-1960).Value(float) - the climate index value.
For example:
[[datetime.datetime(1950, 1, 1, 0, 0), -1.7], [datetime.datetime(1950, 2, 1, 0, 0), -1.5], [datetime.datetime(1950, 3, 1, 0, 0), -1.4], ...]
Minimum length꞉ 1.
- Returns:
Copy of the input table with an extra value appended to the end, e.g.:
[[datetime.datetime(1950, 1, 1, 0, 0), -1.7, -1], [datetime.datetime(1950, 2, 1, 0, 0), -1.5, -1], [datetime.datetime(1950, 3, 1, 0, 0), -1.4, -1], ...]
The extra value is an integer and can be:
-1- this month is a La Niña (cold) episode.0- this month is a normal episode.1- this month is an El Niño (warm) episode.
- Return type: