我不明白为什么我子集的选择不应该使用python脚本。据我这做工作。下面是一个示例脚本。
进口cdsapi c = cdsapi.Client c ()。检索(reanalysis-era5-single-levels,{“变量”:“total_precipitation”,“product_type”:“重新分析”,“年”:“2010”,“月”:“04”,“天”:“07年”,“区域”:“60/0/0/100”,“时间”:[‘0’,‘01:00’,‘02:00’,‘03:00’,‘内’,“凌晨”、“06:00时”,07:00,喂饲,上午9点,10点,11点,12点,“13”,“已”,“维基”,“点”,17点,18:00,‘点’,20:00,21:00,22:00,'这样'],“格式”:“netcdf”},“precip.nc”)
更新针对提出的一些评论@Nemesi——这个cd Python API没有必要使用CDO或区域的数据子集。API本身负责为您使用关键字区域。一旦你指定边界框的数据得到下载您所指定的边界框的边界。也没有编程构造子集的全球数据。现在CDS web接口不允许你做构造子集(问题是被固定在我写根据哥白尼支持)。但这并不是一个问题。自从OP的要求是一个自动化过程的CDS Python Web API填充的目的。在这种背景下子集是一样的ROI或地区的利益。
这就是我要做得到这个工作。我必须安装对python cdsapi。一个可以使用脉冲(我通常做- python3.6设置。py安装以来我没有conda)。然后创建一个.cdsapirc(在Linux和其他UNIX风格应该是主要的主目录下。创建这个文件无论你有$ HOME变量定义),应该是这样
url: https://cds.climate.copernicus。欧盟/ api / v2键:{UID}: {api密匙}验证:0
UID和API键的值应该会得到当你注册新的cd web界面。
然后运行它。
这里的关键参数区域
和前两个值开始纬度和经度结局纬度和经度紧随其后。当我查看下载使用ncdump netCDF文件那样有正确的边界框的值。现在你可以改变格丽格式如果你希望但我认为脚本的基本格式不会改变。
这是一个阴谋的沉淀为一个特定的子集即时在24小时内。
这是块(我使用的代码matplotlib和cartopy)
从netCDF4导入数据集,num2date cartopy进口。crs cartopy.mpl ccr自己。股票行情自动收录器进口LongitudeFormatter LatitudeFormatter cartopy。util进口add_cyclic_point进口matplotlib mpl mpl.rcParams [' mathtext.default '] =进口matplotlib“常规”。pyplot一样plt进口numpy np文件= "降雨。数控”nc_pvFile =数据集(文件,“r”)背阔肌= nc_pvFile。变量(“纬度”][:]#朗= nc_pvFile提取/复制数据。变量(经度的][:]背阔肌=背阔肌[:].squeeze()朗=朗[:].squeeze () preciPlot = nc_pvFile。变量(tp的][:]页= preciPlot [0::] ax₁= plt.axes(投影= ccrs.PlateCarree (central_longitude = 180) clevs = np.arange (min (pp.flatten()),马克斯(pp.flatten ()) * 1000, 1) shear_fill = ax₁。contourf(经度,背阔肌,页* 1000、clevs变换= ccrs.PlateCarree(),提出= plt.get_cmap (hsv),线宽=(10)= 100水平,延长=‘都’)ax1.coastlines () ax1.gridlines ax₁()。set_xticks([0, 10年,20年,30、40、50、60、70、80、90100],crs = ccrs.PlateCarree ()) ax₁。set_yticks([0, 10年,20年,30、40、50、60),crs = ccrs.PlateCarree ()) lon_formatter = LongitudeFormatter (zero_direction_label = True, number_format = .0f) lat_formatter = LatitudeFormatter () ax1.xaxis.set_major_formatter (lon_formatter) ax1.yaxis.set_major_formatter cbar = plt (lat_formatter)。colorbar (shear_fill取向=“水平”)plt。标题(总降水,字形大小= 16)plt.savefig (“precip_era.png”)