利用ERA5数据集计算GNSS站点上方的PWV(ERA5 PWV)

发布时间:2023年12月29日

0. 码字不易,点赞加关注(公众号:WZZHHH,部分资料在公众号可以下载),使用请注明出处(根据我的研究方向,我会不断更新代码)。

1.计算PWV的方法一般采用有三种,GNSS ERA5ERA5 PWV和探空站PWV(RS PWV)进行相互比较。

2.本博文使用ERA5数据集通过水平和垂直方向的补偿得到GNSS站点垂直方向的ERA5数据集,计算的GNSS站点上方的ERA5 PWV

3.ERA5的下载方法在前面的博文,自行学习下载

4.下面是我的部分代码,具体获取请关注咸鱼:WZZHHH123

% GNSS上方的ERA5数据集的PWV
% 根据ERA5最底层高于或者低于GNSS站点,温度和气压内插或者外推
% 前置数据需要下载ERA5的位势、温度、相对湿度。下载方法在CSDN账号:WZZHHH
% -----------------------------------------------------------------------
% 你也可以把数据下载好打包发我,我来负责处理,不过费用贵
% 需要ERA5、站点经纬度名称海拔的excel表等,具体需要商量

%% --------------------------需要修改的路径-----------------------------
clc;clear;

% 计算的年份以2020年为例
nc_path    = 'D:\paper_write\paper_code\2\ERA5\2020\'; % 原始ERA5的存放地址
Edata_path = 'D:\paper_write\paper_code\2\mat\ERA5';   % ERA5读取后数据存放
[station_x,~] = xlsread('D:\paper_write\paper_code\2\xls\station.xlsx'); % GNSS站点经纬度坐标

% ERA5边界选定的边界
lon_t = 100; lat_t = 40;  % 例如lon_t = 100(经度最小);lat_t = 40(纬度最大)
resolution = 0.25;        % ERA5分辨率0.25;ERAinterm分辨率0.75

%% ----------------------------NC数据读取-------------------------------
% 读取原始ERA5文件夹下所有nc数据
List = dir(fullfile(nc_path,'*.nc'));


pwvera5=[];
for I = 1:size(List,1)

    % nc的具体路径
    filen = [nc_path List(I).name];

    % 用ncinfo读取nc数据里面的元素,找到我们下载数据的缩写
    % aa = ncinfo(filen);

    % 例如:z:位势、t:温度、r:相对湿度、q:比湿度、levels:气压
    z = ncread(filen,'z');
    t = ncread(filen,'t');
    r = ncread(filen,'r');
    levels = ncread(filen,'level');
    Time_num = ncread(filen,'time');
    latitude = ncread(filen,'latitude');
    longitude = ncread(filen,'longitude');

文章来源:https://blog.csdn.net/WZZHHH/article/details/135201975
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。