ERA5和GNSS站点不并址的处理方法二:垂直补偿(获得GNSS站点高度的PWV、温度和气压,基于matlab)

本文主要是介绍ERA5和GNSS站点不并址的处理方法二:垂直补偿(获得GNSS站点高度的PWV、温度和气压,基于matlab),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 码字不易,点赞加关注(公众号:WZZHHH,部分资料在公众号可以下载)

Part1 垂直补偿的原因

我们在获取GNSS站点位置的PWV有很多方法,其中一个是利用ERA5数据进行积分得到。由于ERA5格网位置和GNSS不并址,需要进行水平方向和垂直方向的补偿的补偿获得。这里讲的是垂直方向补偿,水平方向补偿已经写过反距离加权水平内插,附matlab代码(ERA5和GNSS站点不并址的处理方法之水平补偿)-CSDN博客,这里介绍垂直方向的补偿。

水平方向补偿方法

Part2 ERA5下载方法

ERA5多层温度、位势、相对湿度的下载方法在这面

Part3 具体方法

其中相对湿度取最接近层数据即可,温度和气压用下面方法

1. GNSS 站点高于最底层

使用内插估计站点参数即可。

2. GNSS 站点低于最底层

假定温度递减率为-6.5 K/km,外推获得温度。

ERA5数据中的气压所在的高度和测站高度通常不一致,这时候就需要对气压进行高程改正,用下面方法得到测站高度上的气压:

式中, Ps表示测站气压;P为最接近层的ERA5气压;g是重力加速度;Rd为干燥气体的气体常数;对于HM如下:

式中,hs表示测站高度; h为最接近层的 ERA5高度;T是最接近层的温度;Г为温度递减率-6.5 K/km。

Part4 ERA5 PWV的计算

插值得到测站处的气象参数温度、气压相对湿度后,利用公式求得PWV即可:

g是重力加速度,我考虑了纬度和高程变化。

a1=5.2885×10^-3;a2=-5.9×10^-6;

Re=6378.1km;Rp=Re-21.5km

Part5 Matlab部分代码如下(代码输出GNSS站点位置的ERA5 PWV)

这个代码包括了水平方向和垂直方向的补偿,获取方式在

详细代码在公众号WZZHHH获取

% 利用ERA5解算出GNSS站点位置出温度、气压、Tm以及PWV
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\使用站点的经纬度高程.xlsx');       % GNSS站点经纬度坐标%% ----------------------------NC数据读取-------------------------------
% 读取原始ERA5文件夹下所有nc数据
List = dir(fullfile(nc_path,'*.nc'));% pwvera5:gnss站点积分得到的PWV
ERA_P=[];ERA_T=[];tmm_all=[];pwvera5=[];esat=[];
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');q = ncread(filen,'q');levels = ncread(filen,'level');Time_num = ncread(filen,'time');latitude = ncread(filen,'latitude');longitude = ncread(filen,'longitude');% 提前根据时间长度分配空间times = length(Time_num);Tm = zeros(times,size(station_x,1));     % 插值得到的站点Tmpwera = zeros(times,size(station_x,1));  % 插值得到的站点pwvERAT = zeros(times,size(station_x,1));   % 插值得到的站点温度ERAPR = zeros(times,size(station_x,1));  % 插值得到的站点气压es = zeros(times,size(station_x,1));     % 插值得到的站点水汽压

这篇关于ERA5和GNSS站点不并址的处理方法二:垂直补偿(获得GNSS站点高度的PWV、温度和气压,基于matlab)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584902

相关文章

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st