使用CDO计算ERA5每日总降水量

问题描述 投票:1回答:1

基本上,这是该问题的转发:https://confluence.ecmwf.int/pages/viewpage.action?pageId=149341027

我已经从CDS下载了ERA5。从每个所考虑年份的1月1日到12月31日,每个日历日的输入文件都有24小时步长(0、1、2、3、4,..,23)。

此处的ECMWF状态https://confluence.ecmwf.int/display/CKB/ERA5%3A+How+to+calculate+daily+total+precipitation,必须通过累积例如1979年1月1日,将1月1日的步骤1、2,...,23和1月2日的步骤0相加。这意味着1979年1月1日的步骤0不包括在当天的总降水量中。为了计算1979年1月2日的总降水量,我们还使用了当天的步骤1、2、3,...,23和1月3日的步骤0,依此类推。]

似乎在python中有这样的选项:

import xarray as xr                                                    # import xarray library
ds_nc = xr.open_dataset('name_of_your_file.nc')                        # read the file
daily_precipitation = ds_nc.tp.resample(time='24H').sum('time')*1000   # calculate sum with frequency of 24h and multiply by 1000
daily_precipitation.to_netcdf('daily_prec.nc')                         # save as netCDF

现在,我想知道使用气候数据操作员(CDO)是否也可以轻松实现这一目标。通常,我会使用CDO中的daysum命令进行任何此类计算,但是我不确定这是正确的。

有人建议使用:

cdo -f nc copy  out.nc aux.nc
cdo -delete,timestep=1, aux.nc aux1.nc
cdo -b 32 timselsum,24 aux1.nc aux2.nc
cdo -expr,'ppt=tp*1000' -setmissval,-9999.9 -remapbil,r240x120 aux2.nc era5_ppt_prev-0_1979-2018.nc

但是我不确定这是正确的-有什么建议吗?

基本上,这是该问题的转贴:https://confluence.ecmwf.int/pages/viewpage.action?pageId=149341027我已经从CDS下载了ERA5。输入文件具有24小时的步骤(0、1、2、3,...

python unix netcdf cdo-climate
1个回答
1
投票

对于这类问题,CDO中有用的命令是shifttime

© www.soinside.com 2019 - 2024. All rights reserved.