Streamer辐射传输模型在Win10 64bit系统上编译使用

终于接触辐射传输模型了,开始定量遥感之旅~

不过万事开头难o(╥﹏╥)o,首先解决软件的运行问题:

简介

Streamer是用来计算在各种大气和表面条件下辐射率(辐射强度)和辐照度(辐射通量)的辐射传输模型。通过与其他辐射传输模式的比较[1] ,Streamer 对云有较好的模拟能力,能更好地满足云雾辐射模拟工作。软件由威斯康星大学麦迪逊分校(University of Wisconsin-Madison)-空间科学和工程中心(Space Science and Engineering Center ,SSEC)-气象卫星合作研究所(Cooperative Institute for Meteorological Satellite Studies,CIMSS)的极地遥感和气候学小组维护,最新版本为2013年2月13日发布的3.1版本。

下载Streamer

下载地址:https://stratus.ssec.wisc.edu/

进入网页后,打开streamer介绍页面,找Download,点FTP site链接,接受协议,进入FTP服务器文件页面,里面有bin/,docs/,gui/三个文件夹和README文件,还有一个压缩包Streamer.tar。

FTP截图.jpg

bin/文件夹下有编译好的各平台的执行文件,包括Mac、Linux、Windows平台,但Windows的执行文件在我电脑上不能运行,是32位的; docs/文件夹下有帮助文档; gui/里是html文件和辅助文件,是用来生成输入文件的web接口;

压缩包里是streamer的源文件。

为了编译能在本机器(Windows10-64bit)上使用的可执行文件,选择下载Streamer.tar压缩包。

编译Streamer

解压下载的压缩包后有三个文件夹,bandweights/,progs/,testio/。其中bandweights/是预设的波段文件,包括AVHRR、MODIS、GEOS、HIRS等等,testio/里是测试文件,包含一些输入文件、输出文件和输出模板。

progs/是Streamer的源文件,里面是Fortran编写的.f文件,接下来我们需要将f文件编译成object文件,然后再生成可执行文件。帮助文档里用的gfortran来编译的,因此我们需要先下载编译器。

1.下载GCC

GCC的在线安装有点慢,我们选择它的离线包来安装[2]

下载地址:https://sourceforge.net/projects/mingw-w64/files/?source=navbar

针对win10 64bit选择 MinGW-W64 GCC-8.1.0 的 x86_64-posix-seh 版本下载,下载之后解压到自定义文件夹下,比如x:\mingw64。

2.设置GCC环境变量

这一步很重要,把刚刚自定义文件夹下的lib、include、bin路径都添加到系统环境变量path中,打开命令行测试一下gcc -v命令,如果输出gcc版本信息就说明设置好咯。

3.编译object文件

接下来进入刚刚streamer-progs文件夹下,利用gfortran -c xxx.f命令来将f文件编译成object文件,不过需要将文件夹下所有f文件都编译成Object文件,一个个转太麻烦,又不会写makefile文件,只好用Python的os模块来获取文件夹下所有f文件,然后通过os.system()运行命令,将所有f文件编译成o文件。

o文件.jpg

4.makefile

Streamer已经写好了针对各个平台的makefile文件[3],现在我们在progs文件夹下找到Makefile.win文件,将后缀名删除,这样我们就得到了现成的makefile文件。在progs文件夹下打开cmd,运行make all命令,等运行结束可以得到streamer.exe、getalb.exe、getband.exe、getcloud.exe、gethaze.exe五个可执行文件。

5.设置Streamer环境变量

把刚刚得到的五个exe文件拷贝到你自定义的文件夹下,比如x:\streamer\bin。将路径也添加到环境变量path中。

这样Streamer就算是编译完了。

测试Streamer

设置好了,我们来测试一下。在testio里找到testflx.inp以及模板文件streamer.def,将两个文件拷到相同文件夹下,然后在文件夹下运行 streamer s testflx.inp,会看到如下输出结果。

test.jpg

在文件夹下会生成输出文件testflx.des,可用记事本打开看一下内容。

flx.jpg

测试成功~


安装成功,该研究Streamer复杂的输入去了。


[1]: Comparison with Other Models https://stratus.ssec.wisc.edu/streamer/modeltable.html

[2]: 如何用mingw-w64离线安装包来安装mingw https://blog.csdn.net/qq_27854685/article/details/80752078

[3]:Streamer: Documentation-User’s Guide https://stratus.ssec.wisc.edu/streamer/documentation.html


  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
使用webrtc-streamer实现rtsp在公网访问视频的步骤如下: 1. 首先,确保你的服务端已经安装了webrtc-streamer。如果没有安装,你可以请服务端同事帮忙安装,或者自己尝试安装。你可以从webrtc-streamer的git仓库下载压缩包,并解压提取出libs/adapter.min.js和webrtcstreamer.js两个文件。 2. 将adapter.min.js和webrtcstreamer.js文件拷贝到你的项目中。你可以将它们放在public文件夹下,并在index.html中引入这两个文件。 3. 在前端代码中,你需要使用webrtc-streamer提供的API来实现rtsp在公网访问视频。具体的实现步骤如下: - 首先,创建一个video元素,用于显示视频流。你可以在HTML中添加一个video标签,并为其指定一个id,例如: ```html <video id="videoElement" autoplay></video> ``` - 在JavaScript代码中,使用webrtc-streamer的API来获取视频流并将其显示在video元素中。你可以使用webrtcstreamer.js中提供的`WebRTCStreamer`对象来实现这一功能。具体的代码如下: ```javascript const videoElement = document.getElementById('videoElement'); const streamer = new WebRTCStreamer(); // 设置视频流的URL,替换成你的rtsp流的URL const streamUrl = 'your_rtsp_stream_url'; streamer.setStreamUrl(streamUrl); // 将视频流绑定到video元素 streamer.attachToElement(videoElement); // 开始播放视频流 streamer.play(); ``` - 替换`your_rtsp_stream_url`为你的rtsp流的URL。确保URL的格式正确,并且可以在公网中访问到。 4. 保存并运行你的前端代码。视频流应该会在video元素中显示出来,并可以在公网中访问到。 请注意,使用webrtc-streamer实现rtsp在公网访问视频需要在服务端和前端都进行相应的配置和代码编写。以上步骤仅涉及前端部分的实现,你还需要确保服务端的配置和网络环境的支持。 #### 引用[.reference_title] - *1* *2* *3* [记浏览器使用webrtc-streamer 播放rtsp 流](https://blog.csdn.net/weixin_41838201/article/details/125783057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值