You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用cdsapi service函数下载ERA5统计数据的两个技术问题

解决ERA5每日统计数据下载的两个问题

1. 自定义下载文件名

cdsapi.Client.download()方法支持通过target参数指定自定义文件名,你可以结合年份、月份等信息构造有辨识度的文件名,避免随机命名带来的查找麻烦。

2. 多变量下载的错误修复

你遇到的TypeError是因为用了**集合({})传递多变量,而JSON序列化不支持集合类型。只需把集合改成列表([])**即可,该C3S每日统计工具本身支持同时下载多个变量。

修改后的完整脚本

import cdsapi
c = cdsapi.Client(timeout=600)

YEARS = range(1950,1951) 
MONTHS = ["01","02","03","04","05","06","07","08","09","10","11","12"]

for year in YEARS:
    for month in MONTHS:
        # 构造自定义文件名,可根据需求调整格式
        filename = f"era5_daily_mean_{year}_{month}.nc"
        
        result = c.service(
            "tool.toolbox.orchestrator.workflow",
            params={
                "realm": "user-apps",
                "project": "app-c3s-daily-era5-statistics",
                "version": "master",
                "kwargs": {
                    "dataset": "reanalysis-era5-single-levels",
                    "product_type": "reanalysis",
                    # 改用列表格式传递多变量
                    "variable": [
                        "2m_temperature", 
                        "2m_dewpoint_temperature", 
                        "10m_u_component_of_wind", 
                        "10m_v_component_of_wind"
                    ],
                    "statistic": "daily_mean",
                    "year": str(year),
                    "month": month,
                    "time_zone": "UTC+00:00",
                    "frequency": "1-hourly",
                    "grid": "0.25/0.25",
                    "area": {"lat": [25.15265, 52.84375], "lon": [-124.59375, -67.03125]}
                },
                "workflow_name": "application"
            }
        )
        # 通过target参数指定自定义文件名
        c.download(result, target=filename)

补充说明

  • 文件名可按需扩展,比如加入统计类型、变量缩写等,进一步提升辨识度。
  • 将year转为字符串格式是为了适配部分CDS服务的参数要求,避免潜在的类型报错。

内容的提问来源于stack exchange,提问作者Gioia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 13:02:20