使用Matlab计算IGRAv2探空站的Tm和PWV

news2024/10/22 19:45:06

1. 探空站IGRAv2数据

探空站的Tm常作为真值,去检验Tm线性公式或者ERA5 Tm等的精度 。

探空站PWV常作为真值,去检验GNSS PWV等的精度

2. Tm 的计算方法

Tm 的计算方法有两种在前面的文章有讲,这里用
使用水汽压和温度计算Tm。

ei和 Ti 表示第 i 层大气的水汽压和温度,Zi是第 i 层的厚度。这种方法使用探空站数据计算得到的 Tm 一般为真值与其他数据进行比较。


2.1. 水汽压(WVP)计算公式

根据饱和水汽压(es)和相对湿度(RH)求得,公式如下

2.2. es 为饱和水汽压(hPa),用下式求得

式中,T 为温度(K)。es 采用 ECMWF IFS 报告(IFS Documentation CY31R1 Part II )给出的模型,对水的不同状态做了区别 (ECMWF, 2007) :  
   (1)温度大于 0℃, R2 = 611.21 hPa,R3 = 17.502 K 和 R4 = 32.19 K;  
   (2)温度小于-23℃,R2 = 611.21 hPa,R3 = 22.587 K 和 R4 = -0.7 K;  

    (3)温度介于-23℃ 和 0℃ 之间,则用下式计算:


                                         式中,T0 = 273.16 K,Ti = 250.16 K。

3. PWV 的计算方法

3.1. 计算比湿度q

e是水气压,计算方法在上面得Tm计算里面有。

3.2. 重力加速度g考虑了纬度和高程变化。


4.Matlab 获取代码关注公众号WZZHHH,或者咸鱼关注:WZZHHH123,部分代码展示,总共337行代码
 

% 读取IGRA的文件
% 基于matlab2022写的
% 微信公众号和CSDN:WZZHHH
% IGRA源数据下载地址https://www1.ncdc.noaa.gov/pub/data/igra/derived/derived-por/
% 里面有很多站点已经弃用,并且该网址包括建站以后的所有数据集,
% 因此我们需要提取对应年份的数据,然后计算得到探空站得PWV

% 提取数据存到"v2data",按照时间进行排列,最后存到mat文件中
% 每个站点的每年存一个mat文件,名称为:站点名字-年份.mat
% --------------数据的含义如下所示---------------
%    V2data.pwv:大气可降水量;
%    V2data.lon:经度;
%    V2data.lat:纬度;
%    V2data.Tm :加权平均温度;
%    V2data.ID :站点名称;
%    V2data.pwv有6列:第1列是pwv,第2-6列是时间和时间数字

% ------------------------------------------
clc,clear;

%% -----------------------------需要修改的参数--------------------------
% 列 参数           文本位置           含义
%  1  PRESS           1-  7   Integer 压力(Pa或mb*100)
%  2  REPGPH          9- 15   Integer 报告的位势高度(米)。这个值在重要级别上是不可用。
%  3  CALCGPH        17- 23   Integer 计算出的位势高度(米)
%  4  TEMP           25- 31   Integer 报告的温度(K*10)。
%  5  TEMPGRAD       33- 39   Integer 当前高度与下一高度之间的温度梯度[(K/km)*10,如果温度随高度增加,则为正]。
%  6  PTEMP          41- 47   Integer 位势温度(K*10)
%  7  PTEMPGRAD      49- 55   Integer 当前高度和下一高度之间的位势温度梯度[(K/km)*10,如果潜在温度随高度增加,则为正]。
%  8  VTEMP          57- 63   Integer 虚温(K*10)
%  9  VPTEMP         65- 71   Integer 虚势温度(K*10)
%  10 VAPPRESS       73- 79   Integer 同一水平的温度、压力和露点下降计算得出的水气压
%  11 SATVAP         81- 87   Integer 饱和水汽压
%  12 REPRH          89- 95   Integer 为原始探测时报告的相对湿度(百分比*10)
%  13 CALCRH         97-103   Integer 为相对湿度(百分数* 10),由蒸汽压、饱和蒸汽压和同一水平面的压力计算得到。
%  14 RHGRAD        105-111   Integer 当前高度和下一高度之间的相对湿度梯度[(%/km)*10,如果相对湿度随高度增加,则为正]。
%  15 UWND          113-119   Integer 纬向风分量[(m/s)*10],由报告的风速和风向计算得到。
%  16 UWDGRAD       121-127   Integer 当前高度和下一高度之间纬向风的垂直梯度[(m/s/km)*10,纬向风随高度增大而增大时为正]。
%  17 VWND          129-135   Integer 经向风分量[(m/s)*10],由报道的风速和风向计算得到。
%  18 VWNDGRAD      137-143   Integer 当前高度与下一高度之间经向风的垂直梯度[(m/s/km)*10,经向风随高度增大而增大则为正]。
%  19 N             145-151   Integer 折射率(无单位)

% igra_num:需要提取数据所在的列
% 计算PWV所需要得数据为[温度 气压 计算位势 计算相对湿度]
% 改对应第4 1 3 13 列;
igra_num = [4 1 3 13];

% IGRA路径
path_igra = 'D:\DATA\IGRA2\drvd\';

% 数据存放路径
save_igra = 'D:\DATA\IGRAv2PWV\';

% IGRA官网下载的站点清单(igra2-station-list)存放路径
% 清单下载地址:https://www1.ncdc.noaa.gov/pub/data/igra/igra2-station-list.txt
list_path = 'D:\paper_write\paper_code\2\IGRA\igra2-station-list.txt';

% IGRA数据包含了建站以来数据,挑选所需年份
year = [2020 2021]; % 以2020-2021年为例

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

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

相关文章

python-分享篇-股票收盘走势分析(折线图)

文章目录 代码效果 代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt aa r../data/000001.xlsx #设置数据显示的列数和宽度 pd.set_option(display.max_columns,500) pd.set_option(display.width,1000) #解决数据输出时列名不对齐的问题 pd.set…

谷粒学院--在线教育实战项目【一】

谷粒学院--在线教育实战项目【一】 一、项目概述1.1.项目来源1.2.功能简介1.3.技术架构 二、Mybatis-Plus概述2.1.简介2.2.特性 三、Mybatis-Plus入门3.1.创建数据库3.2.创建 User 表3.3.初始化一个SpringBoot工程3.4.在Pom文件中引入SpringBoot和Mybatis-Plus相关依赖3.5.第一…

vcruntime140.dll丢失的修复办法详细介绍以及详细步骤

当电脑丢失vcruntime140.dll文件时,电脑会出现关于vcruntime140.dll丢失的错误提示,vcruntime140.dll文件包含许多重要的函数和资源,若缺少或丢失该文件,可能会导致电脑出现异常状况。今天就来和大家说说如果电脑出现关于vcruntim…

经验分享:水牛社怎么做?

本人也就是通过他慢慢学习成长起来的。还是一个网友推荐的,现在他对我来说算是大佬了,已经单飞了,好久都没有联系了,呵呵,真是人往高处走,水往低处流啊。 做网赚会经常和一些网络小白聊天,聊着…

Android视角看鸿蒙第三课(module.json中的各字段含义之nametype)

Android视角看鸿蒙第三课(module.json中的各字段含义) 前言 上篇文章我们试图找到鸿蒙app的程序入口,确定了在鸿蒙工程中,由AppScope下的app.json5负责应用程序的图标及名称,由entry->src->main-module.json5负责桌面图标及名称的展示。 AppScope下的app.js…

IAR全面支持小华全系芯片,强化工控及汽车MCU生态圈

IAR Embedded Workbench for Arm已全面支持小华半导体系列芯片,加速高端工控MCU和车用MCU应用的安全开发 嵌入式开发软件和服务的全球领导者IAR与小华半导体有限公司(以下简称“小华半导体”)联合宣布,IAR Embedded Workbench fo…

HTML超详细简介

HTML是什么 超文本标记语言(HyperText Mark-up Language )用来设计网页的标记语言用该语言编写的文件,以 .html或 .htm为后缀由浏览器解释执行不区分大小写,建议小写 HTML标签 HTML用于描述功能的符号成为“标签”标签都封装在…

如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?

原文链接:如何用ChatGPTGEEENVIPython进行高光谱,多光谱成像遥感数据处理? 第一:遥感科学 从摄影侦察到卫星图像 遥感的基本原理 遥感的典型应用 第二:ChatGPT ChatGPT可以做什么? ChatGPT演示使用 …

专访|云安全攻防:从理论到应用的全面探索

2023年11月,美国核研究实验室(INL)遭遇数据泄露。同年10月,索尼的员工数据在MOVEit攻击事件中被泄露。2024年2月,某知名制造商因云存储服务器的配置错误导致了敏感数据泄露。 这些事件表示企业必须重视云安全建设&…

校园小情书微信小程序,社区小程序前后端开源,校园表白墙交友小程序

功能 表白墙卖舍友步数旅行步数排行榜情侣脸漫画脸个人主页私信站内消息今日话题评论点赞收藏 效果图

[OpenCv]频域处理

目录 前言 一、频域变换 1.傅里叶变换 2.代码实现 二、频域中图像处理 1.理解数字图片的频谱 2.频域图像处理步骤 3.使用低通滤波器实现图像平滑 4.使用高通滤波器实现图像锐化 三、总结 前言 数字图像处理的方法有两大类:一种是空间域处理法,…

Pytorch学习 day06(torchvision中的datasets、dataloader)

torchvision的datasets 使用torchvision提供的数据集API,比较方便,如果在pycharm中下载很慢,可以URL链接到迅雷中进行下载(有些URL链接在源码里)代码如下: import torchvision # 导入 torchvision 库 # …

Mac版2024 CleanMyMac X 4.14.6 核心功能详解以及永久下载和激活入口

CleanMyMac 是 macOS 上久负盛名的系统清理工具,2018 年,里程碑式版本 CleanMyMac X 正式发布。不仅仅是命名上的变化,焕然一新的 UI、流畅的动画也让它显得更加精致。新增的系统优化、软件更新等功能,使得在日常使用 macOS 时有了…

C# Mel-Spectrogram 梅尔频谱

目录 介绍 Main features Philosophy of NWaves 效果 项目 代码 下载 C# Mel-Spectrogram 梅尔频谱 介绍 利用NWaves实现Mel-Spectrogram 梅尔频谱 NWaves github 地址:https://github.com/ar1st0crat/NWaves NWaves is a .NET DSP library with a lot …

Springboot 的几种配置文件形式

方式一:多个yml文件 步骤1:创建多个配置文件 application.yml #主配置文件 application-dev.yml #开发环境的配置 application-prod.yml #生产环境的配置 application-test.yml #测试环境的配置步骤2:applicaiton.yml中指定配置 在a…

H3C BGP 基本配置实验

H3C BGP 基本配置实验 实验拓扑 ​​ 实验需求 按照图示配置 IP 地址,R1 和 R5 上使用环回口模拟业务网段,R2,R3,R4 的环回口用于配置 Router-id 和建立 IBGP 邻居AS 200 运行 OSPF 实现内部网络互通R1,R2&#xf…

Python 中实现 CDF 累积分布图的两种方法

什么是累积分布 累积分布函数,又叫分布函数,是概率密度函数的积分,能完整描述一个实随机变量X的概率分布。一般以大写“CDF”(Cumulative Distribution Function)标记。 《百度百科》 累积分布函数,又叫分…

LeetCode 刷题 [C++] 第300题.最长递增子序列

题目描述 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 题目…

【Linux】Linux原生异步IO(一):libaio-介绍

1、IO模型 1.1 简述 相信大家在搜索的时候,都会看到下面这张图,IO的使用场景:同步、异步、阻塞、非阻塞,可以组合成四种情况: 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可…

什么样的项目适合Web自动化测试

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…