利用ERA5解算出GNSS站点位置处温度、气压(matlab,附代码)

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

1.使用GNSS反演PWV是缺少温度气压,我使用ERA5数据集获得这些气象数据。

2.由于GNSS站点和ERA5格网位置不并址,因此需要水平和垂直方向的补偿

    2.1使用反距离加权水平内插方式获得GNSS站点的垂直方向的ERA5数据集。

    2.2垂直方向进行相应的补偿即可得到GNSS站点位置的温度和气压。

3.ERA5数据的下载方法在前面博文ERA5数据下载单层和气压层数据(温度、相对湿度、位势等)-CSDN博客

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

% 利用ERA5解算出GNSS站点位置出温度、气压
% 根据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:gnss站点积分得到的PWV
ERA_P=[];ERA_T=[];
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');
    levels = ncread(filen,'level');
    Time_num = ncread(filen,'time');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WZZHHH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值