如何使用 CDO 从每小时模型输出创建两组独立的数据(一组用于白天,另一组用于夜间)

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

我有来自 RegCM 模型输出的每小时表面温度数据。它是3D数据,大小为303×185×1176(经度×纬度×时间)。时间维度以小时为单位,因此1176小时意味着总共49天的模拟。模型时间从第一个模拟日的 00:00 UTC 开始,到最后一个模拟日的 00:00 UTC 结束。现在,我想根据现有数据创建两组独立的数据。一个文件仅适用于白天时间(6.30 AM - 6.30 PM),另一个文件仅适用于夜间时间(6.30 PM - 5.30 AM)。请注意,由于模型输出的时间步长采用 UTC,因此我必须在模型小时数中添加 5.30 以获得 IST(印度标准时间)。因此,就我而言,对于第一天,白天时间从时间步长 1 到 13 开始,夜间时间从时间步长 13 到 24 开始,依此类推。那么,谁能指导我如何提取白天和夜间的数据并将其保存到 CDO 中的两个单独的 netcdf 文件(“data_day.nc”和“data_night.nc”)中?我对 CDO 非常陌生,因此我们将非常感谢任何形式的帮助。感谢您的时间和考虑。

致以问候,

安康

model cdo-climate
1个回答
0
投票

一般命令是

cdo selhour,7/19 in.nc day.nc     
cdo selhour,0/6,20/23 in.nc night.nc 

但是您没有指定的唯一问题是您的区域在哪里,即我假设您想要当地时间,而小时是 UTC。如果域很小,那么您可以手动计算出本地时间偏移量是多少。但更好的是通过创建一个新的本地时间变量并使用它来自动执行此操作

如果您的经度是一个称为“lon”的一维向量:

ncap2 -O -s "toff[lat,lon]=lon*24/360" in.nc out.nc 
© www.soinside.com 2019 - 2024. All rights reserved.