海洋占地球面积的71%,为地球提供很多服务,从缓解极端天气到产生我们呼吸的氧气,从生产人类的食物到储存产生的过量二氧化碳,海洋发挥了非常重要的作用。然而,全球海洋已经在经历气候变化及其伴随效应的重大影响。它们包括空气和海水变暖、物种的季节性变化、珊瑚白化、海平面上升、沿海洪水、海岸侵蚀、海水酸化、有害藻类大量繁殖、缺氧(或死亡)区、新的海洋疾病、海洋哺乳动物的消失、降水,渔业减少以及近几年频繁发生的极端天气事件(干旱、洪水、风暴)。
西太平洋热带气旋发生历史情况
通过海洋观测,可以实时监测海洋温度、盐度、酸度等关键参数,从而更好地理解气候变化的影响及其趋势。Argo是一个全球性的海洋观测系统,通过部署数千个自主漂流浮标,实时收集全球海洋温度和盐度等关键参数数据。Argo计划于2000年启动,目前全球30多个国家部署了Argo浮标并处理其数据,并向全球科学家提供。Argo计划已成为海洋观测史上最成功的国际合作项目之一。2018年9月,Argo观测网已收集到200万个剖面。2024年7月,Argo观测网收集到了300万个观测剖面。


Argo观测系统的组成
Argo观测系统主要由以下几部分组成:
- 自主漂流浮标:Argo浮标能够自动下潜到2000米深度,测量温度和盐度,并将数据通过卫星传回地面。目前已有超过3000个浮标部署在全球海洋。
- 数据中心:收集和处理Argo浮标传回的数据,并在24小时内免费开放给全球用户。主要包括美国和法国的全球数据中心以及各国的区域数据中心。
- 国际合作:Argo计划由30多个国家共同参与,承担浮标部署、数据处理和共享等责任。这种国际合作确保了Argo系统的持续运行和数据的广泛应用。


Argo数据应用
Argo浮标每10天从2000米的深度进行一次垂直剖面测量。Argo采集的数据使得全球海洋空间覆盖达到了前所未有的水平,在深度超过2000米的全球海洋中,约每3度经纬度就有一个浮标。这些宝贵的数据在海洋和气候研究中发挥着关键作用。监测气候变化:Argo数据可用于分析海洋热含量变化、海平面上升等气候变化指标。改善天气预报:Argo数据有助于改善海洋模式,从而提高天气和气候预报的准确性。支持海洋管理:Argo数据为渔业、海事等领域提供重要的海洋环境信息。促进科学研究:Argo数据已被用于发表超过5000篇学术论文,推动了海洋学、气候学等多个学科的发展。下图显示了自2004年以来通过Argo观测的全球海洋温度异常,深度达到1900米。虽然上层约600米的温度会因厄尔尼诺-南方涛动等短期气候事件而波动,但更深的水域显示出持续的变暖趋势。这种深层信号表明地球气候总体上正在变暖。
除了观测海水温度,Argo盐度数据还可以用于量化与气候变化相关的水文循环变化。温暖的空气能够容纳和运输更多的水分,这意味着随着全球平均温度的上升,现有的蒸发和降水模式将会加剧。这将导致干旱地区干旱风险增加,而湿润地区则面临洪水风险。海洋表面是观察水文循环加剧的一个良好场所,因为海表盐度反映了蒸发(增加盐度)与降水(降低盐度)之间的局部平衡。以下动画展示了自2004年起的每月Argo盐度数据,以及每月的年际异常(当前月份盐度与该月份历史平均盐度之间的差异)。与历史数据相比,Argo观测显示咸水区域的盐度明显增加,而淡水区域的盐度则有所下降。

处理分析Argo数据的python库:argopy
本文介绍一个支持Argo数据访问、操作和可视化功能的Python库:argopy。argopy可以简化从任何来源获取Argo数据的流程,并为用户提供数据可视化和操作工具。


argopy可以通过conda安装:
conda install -c conda-forge argopy
或者通过pip安装:
pip install argopy
安装最新版本:
pip install git+http://github.com/euroargodev/argopy.git@maste
1. Argo数据获取argopy通过三种方式提供简单的Argo数据获取API:通过空间/时间域(使用区域访问点);针对一个或多个特定浮标(通过浮标访问点提供其唯一的WMO编号);针对一个或多个浮标剖面(使用剖面访问点)。
import argopy
ds = argopy.DataFetcher().region([-75, -45, 20, 30, 0, 10, ‘2011-01’, ‘2011-06’])
ds.plot(‘trajectory’, add_legend=False

2. Argo数据处理
argopy提供丰富的数据过滤和选择功能,可以满足普通用户和专业用户的不同需求,支持对数据进行点、剖面、插值、分箱等操作。
例如,针对剖面观测数据集,可以使用Dataset.argo.interp_std_levels()在标准层上进行插值。

3. Argo数据可视化
argopy提供丰富的可视化功能,支持绘制如轨迹图、地形图、直方图、散点图、剖面图以及创建argo数据仪表板(Dashboard)应用。
- 浮标轨迹图
from argopy import DataFetcher
from argopy import ArgoIndex
from argopy import ArgoNVSReferenceTables
from argopy import ArgoColors
from argopy.plot import scatter_map, scatter_plot
WMO = 6901773
f = DataFetcher(ds=‘bgc’, mode=‘expert’, params=‘all’).float(WMO).load()
scatter_map(f.index, set_global=False)

- 时间序列图
ds=f.data
fig, ax = scatter_plot(ds, ‘TEMP’, this_x=‘CYCLE_NUMBER’)
ax.set_title(“%s from Float %i (‘%s’ mission)” % (‘TEMP’, WMO, f.mission), fontdict={‘weight’: ‘bold’, ‘size’: 14})

ds=f.data
fig, ax = scatter_plot(ds, ‘PSAL’, cmap=cmocean.cm.haline, vmin=38.75, vmax=39.5)
ax.set_title(“%s from Float %i (‘%s’ mission)” % (‘PSAL’, WMO, f.mission), fontdict={‘weight’: ‘bold’, ‘size’: 14})

- 数据应用DashBoard
argopy.dashboard()

传入指定浮标的WMO编号,展示该浮标的数据情况:
argopy.dashboard(5904797)

传入指定浮标的WMO编号和下潜顺序号,展示该浮标获取的剖面数据情况:
argopy.dashboard(6902746, 12)

可视化生物地球化学Argo浮标参数剖面数据情况:
argopy.dashboard(5903248, 3, type=‘bgc’)

argopy使用手册(Cheat Sheet)



本公众号相关内容推荐
- 在Jupyter环境中创建交互式可视化地图
- 处理和可视化地理空间数据的Python库:EarthPy
- 地理空间深度学习python库:TorchGeo
- 遥感数据分析python库scikit-eo
- 图网络的应用场景及图分析python库
- 使用Python和NetworkX创建并可视化图网络(Graph Network)
- OpenResearcher:一个开源科学研究AI助理
- NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法
- Transformer Explainer:文本生成模型交互式可视化工具
- 用于探索性数据分析(EDA)的开源python库
- 分享一个构建交互式D3js可视化的Python库
- 推荐15个图网络可视化python软件包
- 9个提升科研效率的软件工具
- 生成式人工智能模型颠覆传统天气预报
- 分享5个python可视化图表工具
- 分享17个网络(Network)数据可视化工具
- Napari:一个支持分析大型多维图像数据集的python工具
- 地理空间数据分析可视化R软件包汇总
- 大气海洋科学数据可视化案例集#2
- 一个快速检索和下载NASA地球科学数据的Python软件包
- 可视化呈现海洋洋流-墨西哥湾流
- 探索NOAA提供的数据产品资源
- 全球海洋船舶定位数据交互式可视化(附数据)
- 地球科学领域开源python包#1
- 地球科学领域开源python包#2
- 大规模空间矢量数据可视化Python库-lonboard
- 可视化呈现2023年是有气象记录以来最热的一年
- 大气海洋科学数据可视化案例集#1
- 地球科学领域计算分析开源Julia软件包
- 地球观测数据可视化工具
- 地球科学领域计算分析开源Julia软件包