乐于分享
好东西不私藏

海洋与大气指数下载和计算代码

海洋与大气指数下载和计算代码

ENSO (El Niño-Southern Oscillation) 指数

 1. Oceanic Niño Index (ONI) 

        链接: https://psl.noaa.gov/data/correlation/oni.data

        时间范围: 1950 - 至今(持续更新到2025-2026年)

        来源: NOAA/CPC,基于ERSST V5Niño 3.4区域海温异常 

        描述: 3个月滑动平均的Niño 3.4区海温异常,最常用的ENSO官方指数

  2. Niño 3.4 Index 

        链接: https://psl.noaa.gov/data/correlation/nina34.data

        时间范围: 1948 - 至今

        来源: NOAA PSL,基于ERSST V5

        描述: Niño 3.4(5°N-5°S,170°W-120°W)的海温异常

  3. MEI V2 (Multivariate ENSO Index) 

        链接: https://psl.noaa.gov/enso/mei/data/meiv2.data

        时间范围: 1979 - 至今

        来源: NOAA PSL

        描述综合SST、风场、海平面气压和云量的多变量指数

  4. Southern Oscillation Index (SOI)

        链接: https://www.cpc.ncep.noaa.gov/data/indices/soi

        时间范围: 1951 - 至今

        来源: NOAA/CPC

        描述塔希提岛和达尔文港气压差,代表ENSO的大气分量


Indian Ocean Dipole (IOD) 指数

1. Dipole Mode Index (DMI)

链接:  https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data

        时间范围: 1870 - 至今

        来源: NOAA PSL,基于HadISST

        描述热带印度洋西部(50°E-70°E,10°S-10°N)与东南部(90°E-110°E,10°S-0°S)海温梯度差

2. ERSSTv5 IOD数据

链接: http://kmddl.meteo.go.ke:8081/SOURCES/.NOAA/.NCDC/.ERSST/.version5/IOD

        时间范围: 1854 - 202512月 

        来源: NOAA/NCEI

        描述基于ERSSTv5计算的IOD指数

3. NASA-SSH IOD卫星数据

链接: https://podaac.jpl.nasa.gov/dataset/NASA_SSH_REF_SIMPLE_GRID_V1

        时间范围: 1993 - 至今

        来源: NASA JPL

        描述基于卫星海面高度观测的IOD指数


Pacific Decadal Oscillation (PDO) 指数

    1. NOAA ERSST V5 PDO

链接: https://www.ncei.noaa.gov/pub/data/cmb/ersst/v5/index/ersst.v5.pdo.dat

时间范围: 1854 - 至今

来源: NOAA/NCEI

描述基于ERSST V5PDO指数,目前NOAA官方更新的版本(原JISAO已停止更新)

    2. NOAA PSL PDO数据

链接: https://psl.noaa.gov/data/correlation/pdo.data

时间范围: 1948 - 至今

来源: NOAA PSL

描述基于ERSSTV5COBE SSTHadISST1.1计算的PDO


North Atlantic Oscillation (NAO) 指数

1. NOAA CPC NAO

链接: https://www.cpc.ncep.noaa.gov/products/precip/CWlink/pna/nao.shtml

时间范围: 1950 - 至今

来源: NOAA/CPC

描述基于500mb位势高度的NAO指数

2. NOAA PSL NAO

链接: https://psl.noaa.gov/data/correlation/nao.data

时间范围: 1948 - 至今

来源: NOAA PSL

描述基于海平面气压计算的NAO指数


上述可手动下载和matlab 代码下载:

% 运行下载download_all_climate_indices();
function download_all_climate_indices()    % 下载所有气候指数到当前文件夹    %% 1. 下载SOI数据    fprintf('下载SOI数据...\n');    url_soi = 'https://psl.noaa.gov/data/correlation/soi.data';    try        data_soi = webread(url_soi);        fid = fopen('soi_noaa.txt''w');        fprintf(fid, '%s', data_soi);        fclose(fid);        fprintf('SOI数据已保存为 soi_noaa.txt\n');    catch        fprintf('SOI下载失败\n');    end    %% 2. 下载Nino3.4数据    fprintf('下载Nino3.4数据...\n');    url_nino = 'https://psl.noaa.gov/data/correlation/nina34.data';    try        data_nino = webread(url_nino);        fid = fopen('nino34_noaa.txt''w');        fprintf(fid, '%s', data_nino);        fclose(fid);        fprintf('Nino3.4数据已保存为 nino34_noaa.txt\n');    catch        fprintf('Nino3.4下载失败\n');    end    %% 3. 下载ONI数据    fprintf('下载ONI数据...\n');    url_oni = 'https://psl.noaa.gov/data/correlation/oni.data';    try        data_oni = webread(url_oni);        fid = fopen('oni_noaa.txt''w');        fprintf(fid, '%s', data_oni);        fclose(fid);        fprintf('ONI数据已保存为 oni_noaa.txt\n');    catch        fprintf('ONI下载失败\n');    end    %% 4. 下载PDO数据    fprintf('下载PDO数据...\n');    url_pdo = 'https://psl.noaa.gov/data/correlation/pdo.data';    try        data_pdo = webread(url_pdo);        fid = fopen('pdo_noaa.txt''w');        fprintf(fid, '%s', data_pdo);        fclose(fid);        fprintf('PDO数据已保存为 pdo_noaa.txt\n');    catch        fprintf('PDO下载失败\n');    end    %% 5. 下载NAO数据    fprintf('下载NAO数据...\n');    url_nao = 'https://psl.noaa.gov/data/correlation/nao.data';    try        data_nao = webread(url_nao);        fid = fopen('nao_noaa.txt''w');        fprintf(fid, '%s', data_nao);        fclose(fid);        fprintf('NAO数据已保存为 nao_noaa.txt\n');    catch        fprintf('NAO下载失败\n');    end    %% 6. 下载IOD(DMI)数据    fprintf('下载IOD数据...\n');    url_iod = 'https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data';    try        data_iod = webread(url_iod);        fid = fopen('iod_dmi.txt''w');        fprintf(fid, '%s', data_iod);        fclose(fid);        fprintf('IOD数据已保存为 iod_dmi.txt\n');    catch        fprintf('IOD下载失败\n');    end    fprintf('所有数据下载完成!\n');end

自行计算:

温度数据下载:ERSSTv5 完整数据 

链接: http://kmddl.meteo.go.ke:8081/SOURCES/.NOAA/.NCDC/.ERSST/.version5/

时间范围: 1854 - 202512月 

来源: NOAA/NCEI

描述可直接下载格点数据,自行计算Niño指数

工具包:

https://github.com/ZijieZhaoMMHW/Cal_CM

Data description

Here we have HADISST during 1950 to 2018 (828 time points), and ENSO ONI index, AMO index, PDO index derived from long - term ERISST, which are used to evaluate if our calculation is correct. The code used here to generate Nino3.4, AMO, and PDO and the EOF code is written .