2023.7.17。遥感菜鸡,近期因工作需要,学习6S辐射传输模型。在配置Py6s的过程中参考了众多大神的帖子,但是发现仍旧有坑要踩。为了方便大家,特此记录一下自己配置Py6s的过程。
前言
要注意Py6s仅仅是python的包库,它的使用必须要有6S编译成功后的可执行文件。
有了这个前提我们就可以分两步实现我们的目的:
1.获取6S的可执行文件
2.安装Py6s包库,实现python调用
1.获取6S的可执行文件
这一步需要三项:1.MinGW-win64(当作GNU工具使用) 2.Fortran(编译) 3.6S源码
1.1 MinGW-win64安装
下载连接:https://sourceforge.net/projects/mingw-w64/files/
目前的sourceforge容易出问题,因此这里选择离线安装办法,下载压缩包。解压后配置环境变量,配置环境变量请参考博客。
1.2 Fortran
下载连接:http://www.cse.yorku.ca/~roumani/fortran/ftn.htm
这里选择推荐安装版本Fortran99,解压后将其中的G77文件夹里的bin所在路径更新到环境变量。
1.3 6S源码
下载连接:https://rtwilson.com/downloads/6SV-1.1.tar
目前Py6s仅支持6S1.1版本代码,将压缩包解压后,打开Makefile文件,做如下修改:
1.将第八行的FC = g77 $(FFLAGS)修改为:
FC = gfortran -std=legacy -ffixed-line-length-none -ffpe-summary=none $(FFLAGS)
2.将35行的 -lm删去,并将sixsV1.1添加.exe。以下为35行代码
$(FC) $(OBJECTS1) $(OBJECTS0) -o sixsV1.1.exe
最后,通过cmd打开6SV1.1文件夹,输入make命令即可得到sixsV1.1.exe,最后输入sixsV1.1.exe < ..\Examples\Example_In_1.txt测试是否生成成功。
若成功,就将编译成功的sixsV1.1重命名为sixs.exe放在 C:\Windows\System32 路径下
2.安装Py6s包库,实现python调用
这一步相对简单,可在python环境终端处通过pip install Py6S 即可安装。
若失败可考虑离线安装Py6S · PyPI
最后通过以下代码测试Py6s是否配置成功:
from Py6S import *
SixS.test()
参考博客: