Windows7 WIN 7 64位 环境编译6sv2.1版本的大气传输模型

时间:2023-12-22 08:29:14

从来没见过Fortran。。。这次为了添加国产卫星光谱响应的支持,只能从零开始肯了。

6S模型主页:http://6s.ltdri.org/index.html

下载最新的2015年更新的6SV2.1源码。

下载windows 64位版本的gfortran,我直接下载的gcc编译器,里面包含了Fortran编译器。

mingw-w64

GCC for Windows 64 & 32 bits

网址:https://gcc.gnu.org/wiki/GFortranBinaries

下载完毕后是一个很小的网络安装包,选择x86-64版本下载。

Windows7  WIN 7  64位 环境编译6sv2.1版本的大气传输模型

安装后在目录里可以找到bin文件夹,比如我的位置是:C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev0\mingw64\bin

这里面linux下的编译器全都有了。

因为之后需要对makefile文件进行编译,这里需要下载make工具网址:http://gnuwin32.sourceforge.net/packages.html

我下载的安装包,在安装目录里找到以下三个文件:

Windows7  WIN 7  64位 环境编译6sv2.1版本的大气传输模型

下面可以开始编译了。一般的方式是先设置gcc编译的环境变量PATH。我为了省事,直接将6sv2.1的所有文件与make工具的三个文件全都放到C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev0\mingw64\bin里面。

编写一个bat文件,内容两行:

make.exe

pause

双击bat文件就能编译成功了。

编译前修改6sv里的Makefile文件第7行的

FC      = gfortran $(FFLAGS)

为:

FC      = gfortran –m64 $(FFLAGS)

就能保证编译出64位的程序了。在最后几行编译结果生成里在sixsV2.1后面添加.exe:

sixsV2.1.exe

这样就不用人工修改编译结果的扩展名了。

编译后生成的文件与依赖dll如下:

Windows7  WIN 7  64位 环境编译6sv2.1版本的大气传输模型

手写一个输入文件input.txt,内容如下:

0

69.51 145.72 0 0 1 12

3

1

23

-0.01

-1000

26

0

0

0

0.5

1

-0.1

4

编写一个bat文件双击运行测试一下:

sixsV2.1.exe <input.txt >output.txt

pause

木问题!