era5批量下载2015-2019年每天数据的python 代码
时间: 2023-10-08 22:11:39 浏览: 178
以下是一个使用 Python 代码批量下载 2015-2019 年每天 ERA5 数据的示例:
```python
import cdsapi
c = cdsapi.Client()
# 设置下载参数
variables = [
"2m_temperature",
"mean_sea_level_pressure",
"total_precipitation",
] # 指定要下载的变量
output_dir = "/path/to/output/dir"
# 循环下载每天的数据
for year in range(2015, 2020):
for month in range(1, 13):
days = [f"{day:02d}" for day in range(1, 32)]
for day in days:
date = f"{year}{month:02d}{day}"
try:
c.retrieve(
"reanalysis-era5-single-levels",
{
"product_type": "reanalysis",
"format": "netcdf",
"variable": variables,
"year": str(year),
"month": f"{month:02d}",
"day": f"{day:02d}",
"time": ["00:00", "01:00", "02:00", "03:00", "04:00", "05:00", "06:00",
"07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00",
"14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00",
"21:00", "22:00", "23:00"],
},
f"{output_dir}/era5_{date}.nc",
)
except:
print(f"Failed to retrieve data for {date}")
```
这个代码会下载 2015-2019 年每天的 2 米温度、海平面气压和总降水量数据,每小时一个时间步长。你可以根据需要修改下载参数。注意,你需要先安装 `cdsapi` 模块,可以使用 `pip install cdsapi` 命令来安装。此外,由于 ERA5 数据集中存在一些缺失值和错误值,因此可能会出现下载失败的情况,你需要自行处理这些情况。
阅读全文