终于接触辐射传输模型了,开始定量遥感之旅~
不过万事开头难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。
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文件。
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
,会看到如下输出结果。
在文件夹下会生成输出文件testflx.des,可用记事本打开看一下内容。
测试成功~
安装成功,该研究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