免费的气象数据(GLDAS、ERA5)下载步骤及数据处理的详细过程

需要气象数据的小伙伴们看过来呦!首先声明,能够免费下载的气象数据一般分辨率比较低哟!
一、GLDAS数据
1.下载地址:(GLADS下载地址)GLADS数据分有3h、一天、一个月的产品,大家可以根据自己的需求进行下载。

2.下载步骤:选择完数据产品、研究区范围、日期,将其生成下载的链接,网址会直接将链接放在文本里,用户可以进行下载。
(1)首先,比较容易地下载步骤是将文本导入火狐浏览器中下载管理器中,具体可以参考——参考文章,此方法的缺点是一般不能链接到网址,下载总是出错。
(2)采用wegt进行下载,下载的步骤特别推荐参考文章——wegt下载GLDAS数据,但是此篇文章的最后输入命令那点,可能说的有些含糊,所以我在此将其命令说一下:
wget --load-cookies D\.urs_cookies --save-cookies D:\.urs_cookies --auth-no-challenge=on --keep-session-cookies --user=<*****> --ask-password --content-disposition <你的文本名称>
大家要注意,直接将用户名和密码输入进去即可,不需要如参考文章中的命令步骤。还有最重要的是不能将用户名的<>也作为命令输入进去(不要犯低级错误)。还有,要将所有生成的文件都放在一个盘下面,不需要单独建立文件夹了。

3.数据处理:由于下载的数据都是NC格式,要将其进行NC到TIF的转换。我采用的matlab软件操作的,代码如下:

clc;
clear;

%% 批读取NC文件的准备工作
datadir = 'E:\yz\YZ-Date\ERA\tenperature\2013\'; %指定批量数据所在的文件夹
filelist = dir([datadir,'*.nc']);       %列出所有满足指定类型的文件

k = length(filelist);

for i = 1:k  %依次读取并处理
    %% 批量读取NC文件
    ncFilePath = ['E:\yz\YZ-Date\ERA\tenperature\2013\',filelist(i).name]; %设定NC路径
    outFileName = filelist(i).name(1:7); %输出文件名,(1:33)即为第1-33个字符
      
    %% 读取变量值
     ncinf = ncinfo(ncFilePath);
    lon = ncread(ncFilePath,'longitude');          %读取经度信息(范围、精度)
    lat = ncread(ncFilePath,'latitude');          %读取维度信息
    time = ncread(ncFilePath,'time');        %读取时间序列
     pre = ncread(ncFilePath,'t2m');     %获取“温度”数据
    % pre = ncread(ncFilePath,'Rainf_f_tavg');
    %% 存为tif格式
    b = flipud(pre');
    bb = rot90(b,2);
   % data = fliplr(bb); %镜像反转,否则栅格的南北朝向颠倒
    
  %  R = georasterref('RasterSize', size(data),'Latlim', [double(min(lat)) double(max(lat))], 'Lonlim', [double(min(lon)) double(max(lon))]);
    R = georasterref('RasterSize', size(b),'Latlim', [double(min(lat)) double(max(lat))], 'Lonlim', [double(min(lon)) double(max(lon))]);
    geotiffwrite(['E:\yz\YZ-Date\ERA\tenperature\2013\',outFileName,'_temperature.tif'], b, R);   % 输出路径
    disp([outFileName,'done'])
    
end
disp('finish!')

程序中涉及到镜像翻转的问题,我给出以下的代码,供大家可以根据不同的影像情况进行修正:

% 逆时针旋转90°
MonthData = rot90(MonthData);
% 上下翻转
MonthData = flipud(MonthData)
% 左右翻转
MonthData = fliplr(MonthData)

最重要的是,你需要哪个变量(温度、降水等),要知道其属性名称,每个变量对应的属性名称如下
免费的气象数据(GLDAS、ERA5)下载步骤及数据处理的详细过程_第1张图片
二、ERA5数据
1.下载地址:ERA5下载(ERAS下载地址),此数据下载起来比较方便,进入网站就会下载了。但是注意一点,一定要一个月份或者一天的提交订单,否则同时选中好几个月的提交订单,所有的NC文件就会合成一个NC文件,目前这个问题我还没有解决。

2.数据的处理:与GLDAS数据处理的方法一样(NC-TIF),以上代码可用。那么每个变量的属性名称怎么知道呢?教大家一个方法,就是将下载的NC数据在ArcGIS中显示,看影像的名称即为属性名称!

三、总结
气象产品就是拿来用着方便,但是分辨率太低了,限制了研究的深度。所以要想获取高分辨率的气象数据,就要学会插值法,获得想要的分辨率的气象数据,但是缺点数值可能不太准确。希望以上对大家有所帮助!

长路漫漫
唯有坚持…

你可能感兴趣的:(matlab,Arcgis,matlab,arcgis)