****
哥白尼海洋环境监测服务 (CMEMS) 数据存储平台 Copernicus Marine Data Store (CMDS),是欧盟哥白尼计划中专门负责海洋环境监测数据分发的核心组件。它是一个庞大而全面的在线海洋数据档案库和分发系统,旨在为全球用户提供免费、开放且高质量的海洋环境数据。
该平台提供的数据主要包括:
- 卫星观测数据: 涵盖海面温度、海平面高度、海色、海冰、风场、海浪等多种海洋要素的卫星遥感数据。
- 现场观测数据: 包括浮标、锚系潜标、船只、剖面仪等现场观测设备获取的海洋温度、盐度、海流、溶解氧、营养盐等数据。
- 数值模式数据: 提供基于物理海洋学、生物地球化学模型的海洋环流、海浪、海冰、生态系统等模拟数据,包括分析场、预报场和再分析场。
- 再分析数据: 结合观测数据和数值模式结果,通过数据同化生成的长期、一致的海洋环境数据集,用于气候研究和趋势分析。

用户可以免费注册账号并访问平台上的所有数据。 主要的数据访问方式包括:
- Web Portal (网页门户): 用户可以通过官方网站 (marine.copernicus.eu) 浏览数据目录、检索数据产品、可视化数据,并通过网页界面直接下载数据。
- Data Download Toolbox (数据下载工具箱): 例如本文介绍的 copernicusmarine 工具箱,它提供命令行界面 (CLI) 和 Python 接口 (API),方便用户自动化、批量地访问和下载数据,并进行数据子集化、格式转换等操作。
- Web Services (网络服务): 平台提供 OPeNDAP、WMS、WCS 等Webservice接口,允许用户通过程序代码直接访问数据,并将其集成到自己的应用程序或系统中。

本文介绍使用copernicusmarine工具下载哥白尼海洋数据的方法,并通过几个实际用例,展示使用这款全新工具下载哥白尼海洋数据的快捷与便利!
哥白尼海洋数据下载工具-Copernicus Marine Toolbox
该软件提供检索和下载哥白尼海洋数据存储平台的数值模式产品、卫星遥感和现场观测数据的功能,支持检索元数据信息,下载完整数据集或者特定子集。

该软件同时提供命令行界面 (CLI) 和 Python 接口 (API),具备以下核心功能:
- 元数据信息: 快速列出所有产品、数据集和变量的元数据信息,方便用户了解数据概况。
- 子集数据集: 允许用户根据需求提取数据集的子集,仅下载感兴趣的部分,并支持导出为多种常用格式,如分析就绪的云优化 (ARCO) Zarr 或 NetCDF 文件格式。
- 高级过滤器: 用户可灵活应用简单或高级过滤器,批量获取多个文件,并保持数据原始格式,例如 NetCDF/GeoTIFF。所有操作均通过直连海洋数据存储平台完成。
- 无额度限制: 用户可以尽情搜索和下载数据,工具对数据量大小和带宽均不设额度限制。
安装
推荐使用mamba或者conda安装该软件:
1mamba install conda-forge::copernicusmarine
或者使用pip安装:
1pip install copernicusmarine
使用方法
在当前版本中,copernicusmarine 工具共包含四个核心命令:
- Login (登录): 用于设置配置文件,让用户无需反复管理繁琐的身份验证凭据。
- Describe (描述): 用于解析产品目录,检索与特定产品和数据集相关的详细元数据信息。
- Subset (子集): 支持远程数据子集化操作,用户可按需提取 NetCDF 文件或 Zarr 存储格式的数据子集,且不受数据量额度限制。
- Get (获取): 用于下载由数据生产者原始发布的完整文件,同样不受数据量额度限制。
1. Login
login 命令的核心功能是帮助用户验证哥白尼海洋账号凭据,并创建配置文件。创建后的配置文件将自动被工具箱读取,方便用户在使用需要身份验证的服务时,无需重复输入账号密码。
只需运行以下命令,并根据提示输入您的哥白尼海洋用户名和密码即可。
命令行(CLI):
1copernicusmarine login
Python库 (API):
1import copernicusmarine.login()
默认情况下,配置文件将保存在用户的主目录中。用户也可以通过 --configuration-file-directory 选项,自定义配置文件的保存路径。
2. Describe
describe 命令的核心作用是帮助用户浏览哥白尼海洋数据存储平台,并检索所有数据产品或数据集的元数据信息。
用户可以输入关键词进行结果过滤,软件将智能搜索产品目录,并返回最相关的匹配结果。
针对每个产品或数据集条目,该工具都会提供详尽的元数据信息,包括空间和时间覆盖范围、数据来源、日期、格式、版本、平台、数据提供商、要素参数等关键信息,并附带背景文档的参考链接,方便用户深入了解数据。
以下示例展示如何在命令行和API中使用describe命令,搜索元数据中包含海水温度 (thetao) 的产品和数据集:
命令行(CLI):
1copernicusmarine describe —include-datasets -c thetao
Python(API):
1import copernicusmarine
2copernicusmarine.describe(
3 include_datasets = True,
4 contains = [‘thetao’]
5)
3. Subset
subset 命令提供下载数据集子集的功能。用户可以精确指定所需的变量、空间区域、时间范围和深度范围,实现数据的按需获取。此功能在用户仅需部分数据时尤为实用,避免了下载完整数据集的冗余和耗时。
subset 命令的默认输出格式为NetCDF (.nc) 文件。用户也可以通过 --file-format zarr 选项,或在 -f/--output-filename 参数中指定 .zarr 扩展名,将结果导出为Zarr格式。
subset 命令支持多种参数,用于精细化数据子集操作:
命令行(CLI):
1copernicusmarine subset —dataset-id
其中,[OPTION] 代表用于数据子集化的参数选项。
Python(API):
1import copernicusmarine
2copernicusmarine.subset(
3 dataset_id = <dataset_id>,
4 [OPTION] =
5)
其中,[OPTION] 同样代表用于数据子集化的参数选项。
假设用户需要下载以下数据,该数据代表佛得角群岛海域,从海面至水下5米深度范围内的海水温度,时间跨度为两周:
- 产品:
GLOBAL_ANALYSISFORECAST_PHY_001_024 - 数据集:
cmems_mod_glo_phy-thetao_anfc_0.083deg_P1D-m - 变量:
thetao(海水温度) - 经度范围:
[-26, -22] - 纬度范围:
[14, 18] - 深度范围:
[0, 5] - 时间范围:
2023-08-07至2023-08-21
用户可以使用以下命令来完成数据下载:
命令行(CLI):
1copernicusmarine subset —dataset-id cmems_mod_glo_phy-thetao_anfc_0.083deg_P1D-m —variable thetao —start-datetime 2023-08-07T00:00:00 —end-datetime 2023-08-21T23:59:59 —minimum-longitude -26 —maximum-longitude -22 —minimum-latitude 14 —maximum-latitude 18 —minimum-depth 0 —maximum-depth 5
Python(API):
1import copernicusmarine
2copernicusmarine.subset (
3 dataset_id = “cmems_mod_glo_phy-thetao_anfc_0.083deg_P1D-m”,
4 variables = [“thetao”],
5 start_datetime = “2023-08-07T00:00:00”,
6 end_datetime = “2023-08-21T23:59:59”,
7 minimum_longitude = -26,
8 maximum_longitude = -22,
9 minimum_latitude = 14,
10 maximum_latitude = 18,
11 minimum_depth = 0,
12 maximum_depth = 5
13)
当然,用户也可以先使用 describe 命令获取目标数据集的元数据信息,再根据元数据构建 subset 请求,以更精准地提取所需数据。
4. Get
get命令允许用户下载由数据生产者在哥白尼海洋数据存储平台上打包和存储的原始文件。当用户需要获取一个或多个完整文件,甚至是整个数据集的原始格式时,get 命令将是理想选择。
只需简单运行 get 命令,即可轻松获取数据集中所有可用的文件:
命令行(CLI):
1copernicusmarine get —dataset-id
Python(API):
1import copernicusmarine.get(
2 dataset_id =
3)
下面我们来看几个具体的应用示例:
Get命令示例1:下载完整数据集
假设用户需要下载Iberian Biscay Irish海域海洋物理状态的年平均数据,并希望获取完整的时间序列数据(即下载所有文件,构成完整数据集)。
- 产品:
IBI_MULTIYEAR_PHY_005_002 - 数据集:
cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m
可以使用以下命令来下载完整数据集:
命令行(CLI):
1copernicusmarine get —dataset-id cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m
Python(API):
1import copernicusmarine.get(
2 dataset_id = “cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m”
3)
Get命令示例2:下载特定文件
假设用户需要下载Iberian Biscay Irish海域海洋物理状态的年平均数据,但仅需下载2000年、2001年和2002年的数据。
可以使用以下命令来下载特定文件:
命令行(CLI):
1copernicusmarine get —dataset-id cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m —filter ”*_200[0-2]R”
Python(API):
1import copernicusmarine.get(
2 dataset_id = “cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m”,
3 filter = ”*_200[0-2]R”
4)
**PS:**Copernicus Marine Toolbox于2025年1月8日发布了2.0版本。这是一个重要的版本更新,带来了诸多新功能和性能提升。 此外,新版本还显著提升了易用性和可访问性,并移除了已弃用的选项,旨在为用户提供更高效的数据访问体验,强烈建议进行版本升级。
References:
本公众号相关内容推荐
- 6个用于清洗地理空间数据的Python工具库
- AllClear:用于卫星影像云去除的综合数据集
- 深度学习技术在地理空间人工智能(GeoAI)中的应用
- xgcm-通用环流模式后处理Python工具包
- GeoAI:地理信息与人工智能的交叉融合
- 深度学习提升全球海洋涡旋动力学卫星观测能力
- 基于xarray扩展的开源地图可视化Python库
- NOAA 发布世界磁场模型 WMM2025
- 推荐10个用于处理GIS和遥感数据的Python库
- AI行业的2024年
- ECMWF的AI天气预报系统AIFS开放模型权重参数
- The Well:可用于机器学习研究的15TB 物理模拟数据集
- 推荐6个美化Matplotlib可视化样式的python库
- AI天气模型的现状与未来
- 流式传输和渲染可视化三维地理空间数据
- GIS领域常用的24种数据格式
- 一种基于图神经网络的三维建筑模型重建方法
- WebGIS技术栈推荐
- 使用Python工具可视化大型图网络
- 使用NetworkX提取图网络特征
- Argo海洋观测数据处理分析python库:ArgoPy
- 在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)数据可视化工具