_ ___ ___ ____ ____ ____
/ \ |_ _| / _ \ _ __ ___ / ___|| _ \ / ___|
/ _ \ | | | | | || '_ ` _ \ ____\___ \| | | |\___ \
/ ___ \ | | | |_| || | | | | |_____|__) | |_| | ___) |
/_/ \_\___| \___/ |_| |_| |_| |____/|____/|____/
把“自然语言需求”转换成可执行的 CDS API 下载配置,自动拆分按月下载 ERA5‑Land 日统计数据。
- 你用中文描述需求(时间、变量、区域等)
- 脚本通过 Qwen 对话模型补全缺失信息
- 生成可执行配置并调用
cdsapi开始下载
- 多轮对话补参(不清楚就问)
- 按月拆分下载,失败自动重试
- 下载进度与日志可选
- ZIP 自动解压,可生成最终配置文件
- Python 3.9+(推荐)
- 安装依赖:
pip install cdsapi openai在 CDS 官网注册账号、同意数据集条款后,创建凭据文件:
Windows 路径:%USERPROFILE%\.cdsapirc(例如 C:\Users\你的用户名\.cdsapirc)
内容示例:
url: https://cds.climate.copernicus.eu/api
key: <uid>:<api_key>
没有 .cdsapirc 将导致 cdsapi.Client 无法认证。
3) 配置 Qwen API Key 与下载路径(这个可以通过注册qwen账号免费获取token,https://bailian.console.aliyun.com/cn-beijing/?tab=model#/model-market)
脚本从配置文件读取 Qwen API Key 和下载目录。推荐创建 settings.local.json(不容易误提交)。
脚本按以下顺序查找配置:
- 环境变量
CDS_SETTINGS_PATH或AI_FOR_CDS_SETTINGS settings.local.jsonsettings.jsonsetting.json
{
"output_dir": "D:\\Work\\DataForLhy",
"dataset": "derived-era5-land-daily-statistics",
"qwen": {
"api_key": "你的Qwen API Key",
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"model": "qwen3-max",
"max_retries": 4
},
"defaults": {
"daily_statistic": "daily_mean",
"frequency": "1_hourly",
"time_zone": "utc+00:00",
"format": "netcdf",
"area": null
},
"behavior": {
"split_by": "month",
"skip_if_exists": true,
"cds_progress_bar": true,
"log_progress": false,
"log_interval_sec": 2.0,
"max_retries": 6,
"base_sleep_seconds": 3.0,
"extract_zip": true,
"remove_zip_after_extract": true,
"save_generated_config": true,
"generated_config_name": "download_config.generated.json"
},
"dialog": {
"max_turns": 8
}
}qwen.api_key:你的 Qwen(通义千问)API Keyqwen.base_url:OpenAI 兼容接口地址(DashScope)output_dir:下载数据保存目录
最简单方式(自动找配置)
python .\AIForCDS.py直接给出需求
python .\AIForCDS.py --query "我要下载最近五年的五六月分地表温度数据"显式指定配置文件
python .\AIForCDS.py --settings setting.json下图为真实运行过程:脚本会根据你的自然语言逐步追问关键参数,直到配置完整并确认下载范围。
Q1:提示找不到配置文件
- 创建
settings.local.json - 或设置环境变量
CDS_SETTINGS_PATH - 或用
--settings直接指定
Q2:cdsapi 认证失败
- 检查
.cdsapirc是否存在 key是否正确、是否已同意 CDS 数据集条款
Q3:下载量太大
- 对话中提供
area(bbox)或缩小时间范围
- 文件默认按月拆分保存到
output_dir - ZIP 会自动解压(可在
behavior中关闭) - 可生成最终可执行配置文件:
download_config.generated.json
- 建议不要把
api_key提交到公开仓库 - 如果要切换配置文件,用环境变量更方便:
$env:CDS_SETTINGS_PATH="D:\\path\\my_settings.json"
python .\AIForCDS.py如需扩展功能或修改默认行为,请编辑 settings.local.json 或调整 AIForCDS.py。
作者非气象相关专业学生,做的不好,欢迎指正。
📌 WeChat:18355798603