您的位置:首页 > 新闻 > 热点要闻 > 自建网上商城_nx二次开发_在线看seo网站_产品推广策划

自建网上商城_nx二次开发_在线看seo网站_产品推广策划

2025/2/23 15:09:49 来源:https://blog.csdn.net/weixin_39282491/article/details/143213726  浏览:    关键词:自建网上商城_nx二次开发_在线看seo网站_产品推广策划
自建网上商城_nx二次开发_在线看seo网站_产品推广策划

主要参考博客

感谢爱记录的科研伙伴们

Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持 - 吴长明 - 博客园

6S大气传输模型修改源码添加、自定义卫星光谱响应(以HJ-1B CCD为例)_hj卫星的光谱响应函数-CSDN博客

遥感影像大气校正一:6S模型使用_6s模型大气校正-CSDN博客

https://py6s.readthedocs.io/en/latest/installation.html

6S大气传输模型修改源码添加、自定义CASI传感器光谱响应_6s模型大气校正matlab代码-CSDN博客

写在前面的话

6SV模型目前网上已有版本6SV1.1和6SV2.1。因为6SV2.1没有提供python接口,个人比较喜欢python编程,所以我使用的是6SV1.1。2.1版本的同学同样可以参考,方法是一样的。

操作步骤

下载源码

6SV2.1网址S.A.L.S.A.

6SV1.1网址https://rtwilson.com/downloads/6SV-1.1.tar

需要安装的软件参考“主要参考博客”里的最后一个网址。和我一样是windows 64位,不想自己下载可以去我主页找资源列表,我这里打包了一下,免费下载https://download.csdn.net/download/weixin_39282491/89919782

Step 1 修改main.f文件

解压6SV-1.1.tar,找到找到main.f文件,修改以下一些内容:以下涉及的所有修改,注意和原来格式保持一致,尤其是缩进和字符。


大概在410行左右,添加自定义传感器名称+对应的波段号

可以在源码中ctrl+F搜索“data nsat/”,定位到这一步骤该修改的地方如图所示,我这里模拟添加MODIS 1km的12个波段。  

在文件的280几行,修改nsat的size

可以在源码中ctrl+F搜索“nsat(”,定位到这一步骤该修改的地方源码中是166,那么新的应该是166+12=178     修改为nsat(178)*17

代码大约1100行,补充新增波段的spectral conditions说明

可以在源码中ctrl+F搜索“spectral conditions”,定位到这一步骤该修改的地方加入波段名和(wavelength-min, wavelength-max)。

在文件中找到大约1325行左右,给每个传感器的和编号对应起来。

可以在源码中ctrl+F搜索"c       159     VIIRS   band",定位到这一步骤该修改的地方。刚才加入的是spectral conditions波段编号是166-177,这一步的操作就是告诉代码,用户后面输入的166-177都属于MODIS1KM,并且给这个语句赋值了一个编号。也就是上图中的“162”。这一步要注意,赋值的编号要在整个代码中是唯一的。比如后面有一个语句是166的编号,也就意味的自己起编号的时候就不能用166了。可以ctrl+F搜索一下,再使用编号。

goto语句中,加入新的标号行

 可以在源码中ctrl+F搜索"18 goto",定位到这一步骤该修改的地方。加入新的标号行,这部分输入的含义是,告诉代码,如果用户输入是166-177,则goto 到162编号的行。因为新增了15个波段,所以加入15个162的编号。

增加调用新的光谱响应函数的指令

可以在源码中ctrl+F搜索"call viirs",定位到这一步骤该修改的地方。照猫画虎,写编号为162的代码行了,在编号159的下方,稍微修改一下函数名就好。减去的数据表示波段号。spectral conditions步骤中,165以及之前的波段是其他卫星数据的,从166才开始是你定义的,所以要减去前面的波段号。

 至此,对mian.f的修改完成!

Step 2 制作传感器文件

下面是重头戏,制作自定义传感器文件。

新建一个文件,取名为xxxx.f,注意文件名和上一步call的函数名一致。

首先可以打开一个6s自带的传感器文件,全部复制粘贴过来,看看他们的格式。

因为自己编辑比较麻烦,再加上有的时候要做好多波段的,我就索性写了代码用来将光谱响应函数插值到6s要求的2.5nm间隔,读取光谱响应函数,自动生成传感器.f文件。

Step 3编译写好的传感器文件.f

cmd命令中输入g77 –c xxxx.f编译刚写好的传感器参数文件

 Step 4 修改makefile

上一步编译的结果是一个同文件名的.o文件。所以这一步要修改一下makefile,很简单。

打开makefile,在那一长串的字符最后加上xxxx.f对应的xxxx.o。

Step 5 生成exe文件

执行make命令,生成exe

 Step 6 对编译好的exe进行测试

这一步我之前做的时候忘记截图记录了。现在补一个新的测试。

运行生成的exe程序   像我图中所示,输入6s参数

这里的287是我自定义的 VIIRS-JPSS band 14编号。

输入完,换行得到运行结果。

编译成功。记录到此为止。

有疑问的,或者编译出错的宝子们可以在评论区留言,我一般没有看私信的习惯。留言大家都可以看到,互相帮助探讨一下,辐射定标拯救全人类!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com