news 2026/10/15 20:29:47

探索Python融合地学:一文教会你下载ERA5-Land数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探索Python融合地学:一文教会你下载ERA5-Land数据

下载ERA5-Land数据的准备工作

注册并获取CDS API密钥:访问Copernicus Climate Data Store (CDS) 官网(https://cds.climate.copernicus.eu/),完成账号注册。在用户页面找到API密钥,保存为$HOME/.cdsapirc文件,内容格式如下:

url: https://cds.climate.copernicus.eu/api/v2 key: UID:API-key

安装必要Python库:

pip install cdsapi xarray numpy

通过CDS API下载数据

使用cdsapi库直接请求数据,示例代码下载2020年1月的日均2米气温数据:

import cdsapi c = cdsapi.Client() c.retrieve( 'reanalysis-era5-land', { 'variable': '2m_temperature', 'year': '2020', 'month': '01', 'day': list(range(1, 32)), 'time': ['00:00', '12:00'], 'format': 'netcdf', }, 'era5_land_temp.nc' )

https://www.zhihu.com/zvideo/1994564245371756984/
https://www.zhihu.com/zvideo/1994564243933128684/
https://www.zhihu.com/zvideo/1994564244046378913/
https://www.zhihu.com/zvideo/1994564243635327027/
https://www.zhihu.com/zvideo/1994564242402191321/
https://www.zhihu.com/zvideo/1994564241835988775/
https://www.zhihu.com/zvideo/1994564240472831811/
https://www.zhihu.com/zvideo/1994564239864644278/
https://www.zhihu.com/zvideo/1994564238644115391/
https://www.zhihu.com/zvideo/1994564237973021265/
https://www.zhihu.com/zvideo/1994564237306139680/
https://www.zhihu.com/zvideo/1994564236173668797/
https://www.zhihu.com/zvideo/1994564236026872280/
https://www.zhihu.com/zvideo/1994564235682935847/
https://www.zhihu.com/zvideo/1994564235234129467/
https://www.zhihu.com/zvideo/1994564235129287151/
https://www.zhihu.com/zvideo/1994564234152002275/

批量下载多时间范围数据

对于跨年/月的大批量下载,建议分时段请求以避免超时:

years = ['2019', '2020'] months = [f'{m:02d}' for m in range(1,13)] for year in years: for month in months: c.retrieve( 'reanalysis-era5-land', { 'variable': 'soil_temperature_level_1', 'year': year, 'month': month, 'time': '00:00', 'format': 'grib' }, f'era5_land_soil_{year}{month}.grib' )

数据处理与可视化

使用xarray处理下载的NetCDF文件:

import xarray as xr ds = xr.open_dataset('era5_land_temp.nc') # 转换为摄氏温度并计算月平均 ds['t2m'] = ds['t2m'] - 273.15 monthly_mean = ds.groupby('time.month').mean()

绘制空间分布图:

import matplotlib.pyplot as plt monthly_mean['t2m'].isel(month=0).plot() plt.title('January Average Temperature') plt.savefig('temp_map.png')

注意事项

ERA5-Land数据延迟约3个月,实时数据需选择ERA5T临时产品。不同变量可能存储在独立的数据集(如reanalysis-era5-land-monthly-means提供月度统计量)。GRIB格式文件建议用cfgrib引擎读取:

ds = xr.open_dataset('era5_land.grib', engine='cfgrib')
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 16:59:23

【PyTorch】2024保姆级安装教程-Python-(CPU+GPU详细完整版)-

PyTorch 安装指南(CPU/GPU 版本)环境准备确保已安装 Python(推荐 3.8-3.10 版本)和 pip 包管理工具。可通过以下命令验证:python --version pip --version对于 GPU 版本,需提前安装 CUDA 工具包&#xff08…

作者头像 李华
网站建设 2026/10/12 16:40:16

Linux应用与驱动开发:mmap和内存映射

学习笔记:Linux 驱动开发之 mmap 与内存映射 1. 核心概念:什么是 mmap? mmap (Memory Map) 是一种内存映射文件的方法。在嵌入式 Linux 驱动开发中,它主要用于将外设的物理地址(如 GPIO 寄存器)映射到用户进…

作者头像 李华
网站建设 2026/10/13 12:55:42

多FDCAN接口同步配置实战:双通道并行通信实现

多FDCAN接口实战:双通道并行通信如何突破带宽瓶颈你有没有遇到过这样的情况?在开发一个高实时性的车载控制模块时,CAN总线突然“卡顿”——数据延迟飙升、报文丢失频发。排查一圈后发现,并不是硬件故障,而是单条CAN通道…

作者头像 李华