VIIRS_TOOLSv1.0,包含6s查找表建立、气溶胶反演功能

2023-11-23 10:50

本文主要是介绍VIIRS_TOOLSv1.0,包含6s查找表建立、气溶胶反演功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本产品是在IDL语言的基础上写出来的sav文件,可以直接打开进行操作,界面如下(由于是一代,很多功能还没完全开发好,目前已经支持6s查找表的建立以及气溶胶光学厚度的反演功能):***(本产品在最终完成后能够进行大多数VIIRS传感器的一级产品处理,也能对部分的HDF文件进行处理,如HDF4以及HDF5)***
标注了invalid,是目前还在继续开发的功能,后续会陆续公开
**

功能1:建立6S查找表

**建立查找表(advanced_operation–build LUT)查找表建立的界面如下:
在这里插入图片描述
·第一个输入框是6s.exe的具体输入路径;
·第二个是查找变输出的路径,记住末尾一定要加‘\’.否则后边会报错哈
·第三个是所要建立查找表的波段的波段响应函数,如:选取了10个波段响应大于0.1的(按照波段间隔2.5nm看待只有10个的哈,具体的应该会很多,但是6s表建立的时候需要将波段按照2.5nm分隔开,自己下来可以对他划分一下);
·第四个是波段的范围,就是在第二个里面对应波段选取中的最小最大值;(第三个的输入规范为:0.11,0.12,0.13…中间用英文逗号分隔开,第四个空也是,只需要输入最小最大的波长,中间用英文分开。)
·第五个空为建立查找表途中角度间隔设置大小,包含了太阳天顶角
方位角,卫星天顶角等,只需要输入一个数字,默认为角度间隔一眼。比如,输入4.则表示间隔为4°;
·第六个空为选填项,与第二三个空对应,即:如果你填了第三四个空,第六个空就不用管,第六个空主要是涉及到6s模型中有自带很多传感器的光谱响应,这个具体可以去6s的用户说明查询。你可以直接在这里输入需要传感器光谱响应函数在6s中对应的数字,如22,即可以将第三第四个空下来。
最后一个当然是点击运行啦。运行后的查找表在你输出路径的下面,同时会多一个in.txt和out.txt,这个是正常的,等到查找表建立结束可以删掉,这个是调用6s模型时的中间站点啦~。
下面我们看看输出来的结果吧:
在这里插入图片描述
total sca对应的是上下行总透过率,sph…对应半球反照率,refle。。对应的是程辐射,之后依次是太阳天顶角、卫星天顶角、相对方位角、AOD光学厚度。

功能2:气溶胶光学厚度反演

对应位置在inversion_operation–inversion
对应打开界面如下:
在这里插入图片描述
这个反演程序主要是为了VIIRS准备的,目前未考虑到其他情况,VIIRS反演我们用到了四个波段,M1,M2,M3,M5波段,但是还用到了其他的辅助波段,用于得到地表反射率的。如果需要VIIRS的光谱相应函数可以在下面留言,我发给你们,我的下载资源也有,但是我觉得不值得,资源应该免费共享,况且,那个也是我在官方下载来的。
4个框依次对应的是查找表所在路径注意:只是路径,不需要准确到查找表什么名字什么,所在路径即可,后面也要加**、
四套查找表按照顺序对应的名字(m1\m2\m3\m5)中间用英文逗号分隔。第三个是对应的VIIRS一级数据对应的路径
不管多少个,只需要对应到路径下,这个程序写了for循环,直接可以把该路径下的he5文件一次反演完**,最后一个对应输出路径,输出结果有两个,分别是没有带投影的,后面带有withoutgeo的是无投影的,剩下一个是有投影的。
然后run就行了。

在这里插入图片描述
每个hdf文件反演都会有一个进度条表示进度。目前,反演时间大概在5分钟一张图,相对来说还是比较让人满意的,因为传统的MODIS数据,几百乘几百的栅格大小,反演两个波段,需要用时4分多种(逐项元法反演的哈,结果还会因为查找表间隙较大而产生明显的条带过度),本产品做反演,首先VIIRS数据是3700*3700的大小,在数据上比MODIS大了很多,其次,他需要反演4个波段,并且查找表空隙大的缺点,我利用三次线性插值对其做了插值,保证每个象元对应的反演途中的几何参数对应真实值(工作量可以说不小了),在保证这么多的基础上,时间才5分钟,但是,有利就有弊撒,我使用的是三维数组运算代替了逐项元,因此大大提高了速度,但是对于硬件要求可能偏高(16G运行内存来,8G的我没试过,但是可能挺悬的,里面一堆三维数组上下算,左右乘那种)这个是比较大的缺点吧,但是气溶胶反演确实本来就比较费电脑,对电脑要求也是真的高。
对了,最后来张反演结果图吧

在这里插入图片描述
这个我没有做去云处理,所以有较强的云边缘效果,所以,大家可以考虑下再做个去云处理,后续完善我也会尽量把这些考虑到。(十分感谢洋洋的指导,不然现在可能还在抠脑壳)

百度网盘位置:
链接:https://pan.baidu.com/s/1Elz3G7-8KPD0jp4SYPbjaw
提取码:xzrz

这篇关于VIIRS_TOOLSv1.0,包含6s查找表建立、气溶胶反演功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Java如何用乘号来重复字符串的功能

《Java如何用乘号来重复字符串的功能》:本文主要介绍Java使用乘号来重复字符串的功能,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java乘号来重复字符串的功能1、利用循环2、使用StringBuilder3、采用 Java 11 引入的String.rep