ERA5数据的一下变化
ERA5网站更新之后,数据提取有些许改变
上图中红线画出的地方就是两个通用变量名称的改变:
-
level 变为 pressure_level
-
time 变为 valid_time
提取变为下面方式
levels = ncread(filen,'pressure_level');
Time_num = double(ncread(filen,'valid_time'));
其中时间变化需要另外说明
ERA5时间变化
老版的ERA5是1900年以小时为单位;新版的ERA5的起始时间从1970年开始,以秒为单位。在进行计算时候,需要进行相应的改变。
代码如下所示,压缩包在最后
% 利用ERA5计算时间
clc;clear;
% 计算的年份以2020年为例
nc_path = 'ERA5\'; % 原始ERA5的存放地址
%% ----------------------------NC数据读取-------------------------------
List = dir(fullfile([nc_path ,'\'],'*.nc'));
for I = 1:size(List,1)
filen = [nc_path List(I).name];
levels = ncread(filen,'pressure_level');
Time_num = double(ncread(filen,'valid_time'));
initial_time = datetime(1970, 1, 1, 0, 0, 0);
Time_num = Time_num/3600;
% 计算每个结果时间
result_times = initial_time + hours(Time_num);
disp(result_times);
end
压缩包在下面链接
https://cloud.189.cn/t/Frqaq2imum63 (访问码:aw1k)