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

news2025/1/15 19:40:04

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));     % 插值得到的站点Tm
    pwera = zeros(times,size(station_x,1));  % 插值得到的站点pwv
    ERAT = zeros(times,size(station_x,1));   % 插值得到的站点温度
    ERAPR = zeros(times,size(station_x,1));  % 插值得到的站点气压
    es = zeros(times,size(station_x,1));     % 插值得到的站点水汽压

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1366546.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息安全监管

安全政策 中央办公厅2003的27号文件 《国家信息化领导小组关于加强信息安全保障工作的意见》 方针:积极防御,综合防范 目标、要求:全面提高信息安全防护能力,保护公众利益,维护国家安全 4大原则: 立足…

为什么建筑设计师选择网络渲染“效果图“

网络渲染一般是指:云渲染,建筑设计行业通常需要渲染室内、室内等场景的效果图,一般大型场景渲染时非常消耗电脑算力,并且渲染时长也会通过效果图的场景、尺寸等来决定,本文为用户整理建筑设计师选择网络渲染的原因&…

孪生神经网络MATLAB实战[含源码]

​一、算法原理 孪生神经网络( Siamese neural network)是一种深度学习网络,它使用两个或多个具有相同架构、共享相同参数和权重的相同子网。孪生网络通常用于寻找两个可比较事物之间的关系的任务。孪生网络的一些常见应用包括面部识别、签名…

3.9 EXERCISES

矩阵加法需要两个输入矩阵A和B,并产生一个输出矩阵C。输出矩阵C的每个元素都是输入矩阵A和B的相应元素的总和,即C[i][j] A[i][j] B[i][j]。为了简单起见,我们将只处理元素为单精度浮点数的平方矩阵。编写一个矩阵加法内核和主机stub函数&am…

用红葡萄酿造的白葡萄酒是怎样的?

“由黑变白”这是“黑葡萄”的直译,代表一种由深蓝到黑葡萄制成的白葡萄酒,这种酿酒方式起源于法国,黑皮诺和莫尼尔的红葡萄一直被加工成白葡萄酒,作为香槟的基础。这是可能的,因为红色浆果通常果肉较轻。红色素&#…

TypeScript 从入门到进阶之基础篇(八)函数篇

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…

Java课程设计团队博客 —— 基于网页的时间管理系统

博客目录 1.项目简介2.项目采用的技术3.功能需求分析4.项目亮点5.主要功能截图6.Git地址7.总结 Java团队博客分工 姓名职务负责模块孙岚组长 资源文件路径和tomcat服务器的相关配置。 前端的页面设计与逻辑实现的代码编写。 Servlet前后端数据交互的编写。 用户登录和断开连接…

独立式键盘控制的4级变速流水灯

#include<reg51.h> // 包含51单片机寄存器定义的头文件 unsigned char speed; //储存流水灯的流动速度 sbit S1P1^4; //位定义S1为P1.4 sbit S2P1^5; //位定义S2为P1.5 sbit S3P1^6; //位定义S3为P1.6 sbit S4P1^7; //位…

熟悉HBase常用操作

1. 用Hadoop提供的HBase Shell命令完成以下任务 (1)列出HBase所有表的相关信息,如表名、创建时间等。 启动HBase: cd /usr/local/hbase bin/start-hbase.sh bin/hbase shell列出HBase所有表的信息: hbase(main):001:0> list(2)在终端输出指定表的所有记录数据。 …

鸿蒙原生应用/元服务开发-消息通知整体说明

应用/元服务可以通过通知接口发送通知消息&#xff0c;终端用户可以通过通知栏查看通知内容&#xff0c;也可以点击通知来打开应用。 通知常见的使用场景&#xff1a;显示接收到的短消息、即时消息等。显示应用的推送消息&#xff0c;如广告、版本更新等。显示当前正在进行的事…

CCF模拟题 202309-1 坐标变换(其一)

问题描述 试题编号&#xff1a; 202309-1 试题名称&#xff1a; 坐标变换&#xff08;其一&#xff09; 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 512.0MB 问题描述&#xff1a; 对于平面直角坐标系上的坐标&#xff08;x,y&#xff09;&#xff0c;小P定义了一个包含…

代码随想Day60 | 84.柱状图中最大的矩形

84.柱状图中最大的矩形 这道题和接雨水遥相呼应&#xff0c;接雨水是求外部凹槽&#xff0c;这道题是求内部面积&#xff0c;这道题的整体思路是某一个元素&#xff0c;找到其左边的第一个小于该数的位置&#xff0c;右边的第一个小于该数的位置&#xff0c;然后以当前索引的高…

CodeWave智能开发平台--03--目标:应用创建--07供应商数据表格02

摘要 本文是网易数帆CodeWave智能开发平台系列的第10篇&#xff0c;主要介绍了基于CodeWave平台文档的新手入门进行学习&#xff0c;实现一个完整的应用&#xff0c;本文主要完成07供应商数据表格下 CodeWave智能开发平台的10次接触 CodeWave参考资源 网易数帆CodeWave开发…

202312 青少年软件编程等级考试Scratch一级真题(电子学会)

2023年12月 青少年软件编程等级考试Scratch一级真题&#xff08;电子学会&#xff09; 试卷总分数&#xff1a;100分 试卷及格分&#xff1a;60 分 考试时长&#xff1a;60 分钟 第 1 题 单选题 观察下列每个圆形中的四个数&#xff0c;找出规律&#xff0c;在括…

鸿蒙原生应用/元服务开发-短时任务

概述 应用退至后台一小段时间后&#xff0c;应用进程会被挂起&#xff0c;无法执行对应的任务。如果应用在后台仍需要执行耗时不长的任务&#xff0c;如状态保存等&#xff0c;可以通过本文申请短时任务&#xff0c;扩展应用在后台的运行时间。 约束与限制 申请时机&#xf…

使用Vite创建vue3工程

介绍 使用Vite构建工具&#xff0c;创建Vue3工程 示例 第一步&#xff1a;执行创建项目的命令&#xff0c;study-front-vue3是项目名称 npm init vite-app study-front-vue3第二步&#xff1a;进入项目文件夹&#xff0c;执行命令&#xff0c;安装模块 cd study-front-vue…

如何将ElementUI组件库中的时间控件迁移到帆软报表中

需求:需要将ElementUI组件库中的时间控件迁移到帆软报表中,具体为普通报表的参数面板中,填报报表的组件中,决策报表的组件与参数面板中。 这三个场景中分别需要用到帆软报表二开平台的ParameterWidgetOptionProvider,FormWidgetOptionProvider,CellWidgetOptionProvider开…

文献阅读:Sparse Low-rank Adaptation of Pre-trained Language Models

文献阅读&#xff1a;Sparse Low-rank Adaptation of Pre-trained Language Models 1. 文章简介2. 具体方法介绍 1. SoRA具体结构2. 阈值选取考察 3. 实验 & 结论 1. 基础实验 1. 实验设置2. 结果分析 2. 细节讨论 1. 稀疏度分析2. rank分析3. 参数位置分析4. 效率考察 4.…

什么是检索增强生成 (RAG)

什么是 RAG RAG&#xff0c;即检索增强生成&#xff0c;是一种将预训练的大型语言模型的功能与外部数据源相结合的技术。这种方法将 GPT-3 或 GPT-4 等 LLM 的生成能力与专用数据搜索机制的精确性相结合&#xff0c;从而形成一个可以提供细微响应的系统。 本文更详细地探讨了…

JavaWeb——Spring事务管理

六、Spring事务管理 1. 注解 注解&#xff1a;Transactional 位置&#xff1a;业务&#xff08;service&#xff09;层的方法上、类上、接口上——一般在执行多条增删改方法上加 作用&#xff1a;将当前方法交给spring进行事务管理&#xff0c;方法执行前&#xff0c;开启事…