python 赤道温度距平剖面图==赤道海温剖面揭秘 2023/24 厄尔尼诺的强烈信号

python 赤道温度距平剖面图==赤道海温剖面揭秘 2023/24 厄尔尼诺的强烈信号
python 赤道温度距平剖面图==赤道海温剖面揭秘 2023/24 厄尔尼诺的强烈信号
python 赤道温度距平剖面图

图片在这里插入图片描述

2023/24年赤道太平洋的异常变暖情况

赤道太平洋温度距平剖面图,展示了**2023年1–3月(JFM)**期间,赤道海洋从表层到底部(250米)不同深度的温度异常变化。

横轴:经度,从西太平洋的120°E(印尼附近)到东太平洋的80°W(南美附近)

纵轴:海水深度,从表层(5米)到250米

颜色:表示温度异常(单位:°C)

红色 → 比正常年份偏暖

蓝色 → 比正常年份偏冷

图中看点
赤道中东太平洋的异常暖层(红色)十分显著

从160°W 到 100°W,在表层到100米深度之间,普遍温度比往年高出 2–4°C

这是**厄尔尼诺(El Niño)**的典型信号

20°C 等温线上移

灰线:多年平均(气候态)20°C 的深度位置

黑线:2023年的20°C等温线

黑线比灰线更“浅” → 说明暖水层抬升,暖水上浮至浅层海域

海温距平对比显著

白色等值线表示细微的温差梯度,有助于判断热量聚集的位置

图例范围是 -5°C 到 +5°C,说明异常十分剧烈

🤔 为什么重要?
这张图告诉我们:
📈 2023年初,赤道太平洋出现了强烈的暖水异常,预示着一次典型的厄尔尼诺事件正在发展。

厄尔尼诺会带来:

全球气候异常(如中国南方湿冷、北美干旱、非洲降水变化等)

海洋生态系统波动

热带风暴路径改变

code start

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
import cmaps
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
import scipy.io as scio

=====================

1. 读取数据

=====================

mat_contents = scio.loadmat(‘Fig2.mat’)
for var_name, var_value in mat_contents.items():
if not var_name.startswith(“__”):
globals()[var_name] = var_value

构建网格

timemm = np.arange(1, 19.1, 1)
xx3, yy3 = np.meshgrid(loninterp, depthinterp)

=====================

2. 自定义 colormap

=====================

cmap_grey = cmaps.GrayWhiteGray(np.linspace(0, 1, 40))
cmap_main = cmaps.GMT_polar(np.linspace(0, 1, 100))
combined_colors = np.vstack((cmap_main[2:42], cmap_grey[18:24], cmap_main[55:95]))
custom_cmap = ListedColormap(combined_colors)

色阶和归一化

levels = np.arange(-5.0, 5.01, 0.5)
norm = plt.Normalize(vmin=-5.0, vmax=5.0)

=====================

3. 创建图像并绘图

=====================

fig = plt.figure(figsize=(10, 6)) # 可调大小
ax = fig.add_subplot(111)

主图:剖面图 + 等温线

cf = ax.contourf(xx3, yy3, np.transpose(tempeqanom2023JFM), levels=levels,
cmap=custom_cmap, extend=‘both’, norm=norm)
ax.contour(xx3, yy3, np.transpose(tempeqanom2023JFM), levels=levels,
colors=‘white’, linewidths=0.3)

添加 20℃ 等温线(气候平均值和2023)

ax.plot(np.squeeze(loninterp), np.squeeze(isotherm20climeqJFM),
color=‘grey’, linewidth=2.5, label=‘Climatology 20°C’)
ax.plot(np.squeeze(loninterp), np.squeeze(isotherm20eq2023JFM),
color=‘black’, linewidth=2.5, label=‘2023 20°C’)

=====================

4. 图形格式设置

=====================

ax.set_title(‘Eq Temp (JFM)’, loc=‘left’, fontsize=16)
ax.set_title(‘2023/24 El Niño’, loc=‘right’, fontsize=16)

坐标轴范围与标签

ax.set_xlim(120, 280)
ax.set_ylim(250, 5)
ax.set_xticks(np.arange(120, 291, 40))
ax.set_xticklabels([“120E”, “160E”, “160W”, “120W”, “80W”])
ax.set_yticks(np.arange(0, 251, 50))
ax.set_ylabel(‘Depth (m)’, fontsize=16)
ax.tick_params(length=5, width=1.5, labelsize=14)

坐标刻度格式

ax.xaxis.set_minor_locator(MultipleLocator(10))
ax.yaxis.set_minor_locator(MultipleLocator(10))

添加 colorbar

cbar = fig.colorbar(cf, ax=ax, orientation=‘vertical’, shrink=0.85, pad=0.02,
ticks=[-5, 0, 5], extend=‘both’)
cbar.ax.tick_params(labelsize=14)
cbar.set_label(“Temperature Anomaly (°C)”, fontsize=14)

plt.tight_layout()
fig.savefig(r’Fig21.png’,dpi=500, bbox_inches = ‘tight’, pad_inches = 0.03)
plt.show()

参考文献:

Tao Lian, Jie Wang, Dake Chen, Ting Liu, Dazhi Wang.

A Strong 2023/24 El Niño is Staged by Tropical Pacific Ocean Heat Content Buildup. Ocean-Land-Atmos Res. 2023;2:0011.DOI:10.34133/olar.0011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海洋与大气科学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值