首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用恒定阈值子集netcdf变量

如何用恒定阈值子集netcdf变量
EN

Stack Overflow用户
提问于 2022-02-26 08:40:05
回答 2查看 273关注 0票数 0

我有一个netcdf文件与全球温度(tas,degC)数据在1990-2001年期间的每日时间-步骤在一个1x1deg lat-lon网格。

我只对tas >10℃感兴趣。

是否有一种方法可以将CDO作为netcdf文件的子集,并创建一个只有tas day>10 new的新文件?

gtc操作符可以与我的问题相关,但它只创建一个0和1s的掩码,而我需要的是真值>10 need。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-26 10:32:17

我不太确定你想要什么..。如果要将T<10C所在的所有值设置为“缺失”,则可以这样做:

代码语言:javascript
复制
cdo gtc,10 tas.nc mask1.nc 
# set zeros to missing 
cdo setctomiss,0 mask1.nc mask2.nc 
cdo mul tas.nc mask2.nc tas_masked.nc 

这一技术与陆地-海洋面具使用的技术相同--请参阅我在掩蔽制造陆地海面具上的视频以获得更多详细信息。

票数 1
EN

Stack Overflow用户

发布于 2022-02-28 09:40:29

我同意禤浩焯Tompkins的观点,即所提议的工作流程并不是太明智,因为任何子设置都会丢弃网格信息,并且从根本上否定使用netCDF数据的目的。提议的工作流程将更有意义地使用R或Python中的熊猫数据。

但是,如果必须在CDO中这样做,则可以使用还原操作符将netCDF文件还原为网格单元格,而不缺少值,如下所示(根据禤浩焯Tompkins的答案改编):

代码语言:javascript
复制
cdo gtc,10 tas.nc mask1.nc 
# set zeros to missing 
cdo setctomiss,0 mask1.nc mask2.nc 
cdo reducegrid,mask2.nc tas.nc tas_subsetted.nc 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71275209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档