我有很多.nc文件名为' MERRA2_100.tavg1_2d_rad_Nx。 19800101 .SUB.nc'从 19800101 到 20180330 (yyyymmdd)包含变量CLDHGH,CLDLOW,CLDMID,CLDTOT,尺寸为65 * 80 * 24。
如何制作一个变量的时间序列图' CLDHGH'使用这些文件的完整时间段(1980-01-01至2018-03-30)?????
我使用此代码为CLDHGH制作了一天(24小时)的时间序列图:
cldhigh = ncread('D:\cloudnc\MERRA2_100.tavg1_2d_rad_Nx.19800101.SUB.nc','CLDHGH');
cldhigh(cldhigh==0)=NaN;
cldhighmean=nanmean(cldhigh);
cldhighmean2=nanmean(cldhighmean,2);
CLDHGH=reshape(cldhighmean2,[24 1]);
ts1=timeseries(CLDHGH,1:24);
ts1.Name= 'High Cloud';
ts1.TimeInfo.Units = 'hours';
plot(ts1);
答案 0 :(得分:0)
您可以阅读所有文件,提取日期,按正确顺序排列
d = dir('*.nc');
for ct = 1:length(d)
n=d(ct).name;
date = datetime(n(28:35),'Format','yyyyMMdd');
times = date+hours(0:23);
end
此代码首先创建一个结构,其中包含.nc
作为扩展名的所有文件的属性。然后它for循环遍历它们并提取名称,将其放入n
。从n开始,您可以使用datetime
获取数据,因为您的日期似乎总是在28 to 35
字符中。如果不是,请使用regexpr
查找。最后一行将24小时添加到找到的日期,因此您可以使用时间向量与绘图一起使用。
从这一点开始,您应该能够输入自己的代码并使其发挥作用。