# Author: Arthur Prigent
# Email: aprigent@ictp.it
#### DATA ####
# https://downloads.psl.noaa.gov/Datasets/
from functions import *
import warnings
warnings.filterwarnings("ignore")
from IPython.display import Image
2024-11-20 12:26:03.187945
Image(filename='fig_boxes_map.png')
print(str(now)[:16])
2024-11-20 12:26
path_data = 'http://psl.noaa.gov/thredds/dodsC/Datasets/COBE2/sst.mon.mean.nc'
(ssta_atl3_norm_cobe,ssta_aba_norm_cobe,
ssta_nino34_norm_cobe,ssta_dni_norm_cobe,
ssta_cni_norm_cobe,ssta_nni_norm_cobe,iod_cobe) = read_data_compute_anomalies(path_data)
#path_oi = 'https://psl.noaa.gov/thredds/dodsC/Datasets/noaa.oisst.v2/'
#path_oi = 'http://psl.noaa.gov/thredds/dodsC/Datasets/noaa.oisst.v2.highres/'
#(ssta_atl3_norm_oi,ssta_aba_norm_oi,
# ssta_nino34_norm_oi,ssta_dni_norm_oi,
# ssta_cni_norm_oi,ssta_nni_norm_oi,iod_index) = read_data_compute_anomalies_oi(path_oi)
path_ersstv5 = 'https://psl.noaa.gov/thredds/dodsC/Datasets/noaa.ersst.v5/sst.mnmean.nc'
(ssta_atl3_norm_ersst,ssta_aba_norm_ersst,
ssta_nino34_norm_ersst,ssta_dni_norm_ersst,
ssta_cni_norm_ersst,ssta_nni_norm_ersst,iod_ersst) = read_data_compute_anomalies_ersstv5(path_ersstv5)
plot_anomalies(ssta_atl3_norm_cobe,
ssta_aba_norm_cobe,
ssta_nino34_norm_cobe,
ssta_dni_norm_cobe,
ssta_cni_norm_cobe,
ssta_nni_norm_cobe)
#plot_anomalies(ssta_atl3_norm_oi,
# ssta_aba_norm_oi,
# ssta_nino34_norm_oi,
# ssta_dni_norm_oi,
# ssta_cni_norm_oi,
# ssta_nni_norm_oi)
plot_anomalies(ssta_atl3_norm_ersst,
ssta_aba_norm_ersst,
ssta_nino34_norm_ersst,
ssta_dni_norm_ersst,
ssta_cni_norm_ersst,
ssta_nni_norm_ersst)
ncep_data = 'https://psl.noaa.gov/thredds/dodsC/Datasets/ncep.reanalysis.derived/surface/uwnd.mon.mean.nc'
uwnda_atl4_norm = read_compute_anomalies_uwind_plot(ncep_data)
Methodology from : Fontaine and Louvet (2006)
and with SI the precipitation averaged over 0$^\circ$N-7.5$^\circ$N; 10$^\circ$W-10$^\circ$E
--> NI and SI are then standardized i.e. NI$_{std}$ = NI/(std(NI))
!! to do apply a butterwoth time filter <15 days !!
path_cmap = 'http://psl.noaa.gov/thredds/dodsC/Datasets/cmap/rt/precip.pentad.mean.rt.nc'
plot_wamoi(path_cmap)
Sact = $\int_{A(x)} He(25^{\circ}C-SST(x))dA$
where He is the Heaviside function (He = 1 when SST < 25$^{\circ}$C and 0 otherwise). The SST index expresses the intensity of the cooling in the ACT and is defined point by point by subtracting the SST for each grid point from a SST of 25$^{\circ}$C (so that SSTs below 25$^{\circ}$C imply a positive index) inside the domain A, 30$^{\circ}$W–12$^{\circ}$E and 5$^{\circ}$S–5$^{\circ}$N.
path_ersstv5 = 'https://psl.noaa.gov/thredds/dodsC/Datasets/noaa.ersst.v5/'
sst = read_data_ACT_week_plot_ersstv5(path_ersstv5)
The realtime AMM index is defined following the method of Chiang and Vimont (2004). The AMM spatial structure is defined via applying Maximum Covariance Analysis (MCA; Bretherton et al. 1992) is to tropical Atlantic SST and 10m winds over ocean regions between 75E and 15W, 21S to 32N. Data are obtained from the NCEP-NCAR Reanalysis (Kalnay et al. 1996), from NOAA ESRL. The spatial resolution is reduced by averaging three points in the zonal direction, and two points in the latitudinal direction, resulting in approximately 3.8deg latitude by 5.6deg longitude resolution over the region. Next, the seasonal cycle is removed, data are detrended, a three month running mean is applied to the data, and the equatorial Pacific Cold Tongue Index (SST averaged over 180-90W, 6S-6N) is removed (via linear regression) from all points. Finally, the data are weighted by the square root of the cosine of latitude, and the covariance matrix is formed between SST and winds (note the wind fields are appended to each other so the wind state vector has twice as many points as the SST state vector). The covariance matrix is decomposed via Singular Value Decomposition, and the leading statistical mode form the AMM SST and Wind patterns. The time period over which the patterns are computed is frozen as the 1950-2005 time period so that the patterns do not change as the index is being updated.
data_amm = 'https://psl.noaa.gov/data/timeseries/monthly/AMM/ammsst.data'
amm_plot_new(data_amm)
#data_amo= 'https://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v5/index/ersst.v5.amo.dat'
#plot_amo_new(data_amo)
ncep_data_slp = 'https://psl.noaa.gov/thredds/dodsC/Datasets/ncep.reanalysis.derived/surface/slp.mon.mean.nc'
plot_slp(ncep_data_slp)
plot_IOD(iod_cobe)
plot_IOD(iod_ersst)
_,_,table_atl3_w,table_atl3_c = create_table_event(ssta_atl3_norm_ersst)
table_atl3_w
Start date | End date | Duration | Mean SSTa | Cumul SSTa | Max SSTa | Date max SSTa | |
---|---|---|---|---|---|---|---|
0 | 1984-06 | 1984-10 | 4 | 1.54 | 6.15 | 2.11 | 1984-09-01 |
1 | 1987-06 | 1987-10 | 4 | 1.91 | 7.64 | 2.75 | 1987-07-01 |
2 | 1988-03 | 1988-09 | 6 | 2.14 | 12.83 | 3.04 | 1988-07-01 |
3 | 1989-06 | 1989-10 | 4 | 1.14 | 4.55 | 1.27 | 1989-08-01 |
4 | 1993-09 | 1994-01 | 4 | 1.39 | 5.57 | 2.06 | 1993-11-01 |
5 | 1995-05 | 1995-08 | 3 | 1.40 | 4.21 | 1.51 | 1995-06-01 |
6 | 1996-05 | 1996-08 | 3 | 1.73 | 5.19 | 2.47 | 1996-06-01 |
7 | 1997-12 | 1998-03 | 3 | 1.50 | 4.50 | 1.58 | 1998-01-01 |
8 | 1998-06 | 1998-09 | 3 | 1.26 | 3.78 | 1.55 | 1998-06-01 |
9 | 2016-10 | 2017-01 | 3 | 1.26 | 3.78 | 1.46 | 2016-11-01 |
10 | 2019-11 | 2020-03 | 4 | 2.20 | 8.80 | 2.45 | 2020-01-01 |
11 | 2021-06 | 2021-10 | 4 | 2.08 | 8.33 | 2.50 | 2021-07-01 |
12 | 2024-02 | 2024-05 | 3 | 2.24 | 6.72 | 2.84 | 2024-03-01 |
table_atl3_c
Start date | End date | Duration | Mean SSTa | Cumul SSTa | Max SSTa | Date max SSTa | |
---|---|---|---|---|---|---|---|
0 | 1982-06 | 1982-10 | 4 | -1.48 | -5.93 | -1.89 | 1982-07-01T00:00:00.000000000 |
1 | 1991-11 | 1992-02 | 3 | -1.62 | -4.85 | -1.89 | 1991-11-01T00:00:00.000000000 |
2 | 1992-04 | 1992-10 | 6 | -1.76 | -10.58 | -2.47 | 1992-05-01T00:00:00.000000000 |
3 | 1996-11 | 1997-08 | 9 | -1.64 | -14.78 | -2.65 | 1997-06-01T00:00:00.000000000 |
4 | 2000-06 | 2000-12 | 6 | -1.26 | -7.58 | -1.34 | 2000-07-01T00:00:00.000000000 |
5 | 2001-11 | 2002-02 | 3 | -1.85 | -5.55 | -2.37 | 2001-12-01T00:00:00.000000000 |
6 | 2004-04 | 2004-07 | 3 | -1.37 | -4.10 | -1.53 | 2004-04-01T00:00:00.000000000 |
7 | 2005-05 | 2005-08 | 3 | -2.58 | -7.75 | -3.24 | 2005-06-01T00:00:00.000000000 |
8 | 2009-07 | 2009-12 | 5 | -1.32 | -6.62 | -1.68 | 2009-08-01T00:00:00.000000000 |
9 | 2011-12 | 2012-08 | 8 | -1.62 | -12.96 | -1.95 | 2012-02-01T00:00:00.000000000 |
10 | 2013-07 | 2014-01 | 6 | -1.26 | -7.56 | -1.49 | 2013-09-01T00:00:00.000000000 |
11 | 2015-06 | 2015-09 | 3 | -1.20 | -3.59 | -1.39 | 2015-08-01T00:00:00.000000000 |
_,_,table_aba_w,table_aba_c = create_table_event(ssta_aba_norm_ersst)
table_aba_w
Start date | End date | Duration | Mean SSTa | Cumul SSTa | Max SSTa | Date max SSTa | |
---|---|---|---|---|---|---|---|
0 | 1984-02 | 1984-10 | 8 | 2.27 | 18.15 | 3.00 | 1984-03-01 |
1 | 1991-05 | 1991-08 | 3 | 1.75 | 5.26 | 2.46 | 1991-05-01 |
2 | 1994-10 | 1995-01 | 3 | 1.38 | 4.13 | 1.53 | 1994-10-01 |
3 | 1995-02 | 1995-06 | 4 | 2.57 | 10.28 | 3.34 | 1995-04-01 |
4 | 1996-03 | 1996-07 | 4 | 1.59 | 6.38 | 2.28 | 1996-04-01 |
5 | 1997-10 | 1998-02 | 4 | 1.56 | 6.22 | 1.75 | 1997-12-01 |
6 | 2011-01 | 2011-05 | 4 | 1.79 | 7.15 | 1.93 | 2011-03-01 |
7 | 2019-11 | 2020-02 | 3 | 1.82 | 5.47 | 2.24 | 2019-11-01 |
8 | 2021-05 | 2021-09 | 4 | 1.82 | 7.30 | 2.25 | 2021-06-01 |
9 | 2023-11 | 2024-03 | 4 | 1.46 | 5.82 | 1.97 | 2023-12-01 |
table_aba_c
Start date | End date | Duration | Mean SSTa | Cumul SSTa | Max SSTa | Date max SSTa | |
---|---|---|---|---|---|---|---|
0 | 1983-03 | 1983-08 | 5 | -1.42 | -7.10 | -1.86 | 1983-04-01T00:00:00.000000000 |
1 | 1991-11 | 1992-02 | 3 | -1.07 | -3.20 | -1.14 | 1991-11-01T00:00:00.000000000 |
2 | 1992-03 | 1992-09 | 6 | -1.51 | -9.06 | -1.81 | 1992-03-01T00:00:00.000000000 |
3 | 1996-11 | 1997-07 | 8 | -1.96 | -15.70 | -3.04 | 1997-03-01T00:00:00.000000000 |
4 | 2001-12 | 2002-03 | 3 | -1.39 | -4.18 | -1.84 | 2002-01-01T00:00:00.000000000 |
5 | 2004-03 | 2004-06 | 3 | -2.23 | -6.70 | -3.10 | 2004-04-01T00:00:00.000000000 |
6 | 2005-04 | 2005-09 | 5 | -1.66 | -8.28 | -2.60 | 2005-05-01T00:00:00.000000000 |
7 | 2010-02 | 2010-05 | 3 | -1.45 | -4.36 | -1.82 | 2010-04-01T00:00:00.000000000 |
8 | 2011-06 | 2011-09 | 3 | -1.10 | -3.31 | -1.18 | 2011-08-01T00:00:00.000000000 |
9 | 2011-11 | 2012-04 | 5 | -1.71 | -8.55 | -2.35 | 2012-01-01T00:00:00.000000000 |
Figure inspired by the Richter et al., (2013), in which they identify some warm events that can not be explained by previously identify equatorial wind stress forcing.
--> A warm SST event is categorized as a canonical (non-canonical) event when it is preceded by a positive (negative) surface wind anomaly. Hence, canonical events lie in the upper right (in red) and lower left (in blue), and non-canonical events lie in the upper left and lower right (in black) quadrants.
plot_canonical_atlantic_ninos(uwnda_atl4_norm,ssta_atl3_norm_ersst)
Image(url='https://www.cpc.ncep.noaa.gov/products/CFSv2/imagesInd3/glbSSTMonInd2.gif')
Image(url='https://www.cpc.ncep.noaa.gov/products/CFSv2/imagesInd3/glbSSTMonInd3.gif')
Image(url='https://www.cpc.ncep.noaa.gov/products/CFSv2/imagesInd3/glbSSTMonInd4.gif')
Image(url='https://climatereanalyzer.org/wx/todays-weather/maps/gfs_world-wt_sstanom_d1.png')
Image(url='https://climatereanalyzer.org/wx/todays-weather/maps/gfs_world-wt_sst_d1.png')
Image(url='https://www.cpc.ncep.noaa.gov/products/GODAS/pent_gif/xz/movie.temp.0n.gif',width=800)
Image(url='https://www.cpc.ncep.noaa.gov/products/GODAS/pent_gif/xy/movie.d20.gif',width=800)