验证通过ERA5-Land获取逐日总降水量的方法是否正确
ERA5-Land逐日总降水量计算步骤验证
我在梳理ERA5-Land逐小时降水与ERA5再分析逐小时降水的差异时,参考了ECMWF官方文档,其中明确了总降水量的计算逻辑:tp [mm]=tpd+1 00UTC [m]⋅1000
这里的d为通量平均对应的日期,d+1 00UTC的时间步长必须纳入计算,因为该时段包含了d日00:00到23:00的24小时累积通量。
我需要确认以下获取逐日总降水量的操作步骤是否正确:
1. 通过CDS API下载指定时段数据
使用Python脚本仅下载每日00:00和23:00的总降水数据:
import cdsapi c = cdsapi.Client() years = list(range(1950, 2021)) for year in years: c.retrieve( 'reanalysis-era5-land', { 'variable': [ 'total_precipitation', ], 'year': str(year), 'month': [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', ], 'day': [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', ], 'time': [ '00:00', '23:00', ], 'area': [ 11, 90, -13, 145, ], 'format': 'netcdf', }, 'era5land_' + str(year) + '.nc') print('era5land_' + str(year) + '.nc' + ' downloaded.')
2. 使用CDO工具计算逐日总量
通过时间偏移调整时段后,执行日求和命令得到逐日总降水量:
cdo daysum -shifttime,-1hour era5land_precip.nc4 temp.nc4 cdo -shifttime,1hour temp.nc4 era5land_precip.nc4
内容的提问来源于stack exchange,提问作者user97103
相关产品推荐
相关产品推荐

