1. 程式人生 > >6SV2.1模型編譯心得(WINDOWS7)

6SV2.1模型編譯心得(WINDOWS7)

網易部落格完蛋了,文章大家看不見,很多人給我發郵件要這篇文章,轉發到這裡。

 

補充1(20181122): envi的FLAASH已經可以批量使用了,大家有需要也可以朝這方面努力。

 

按:最近需要做批量大氣校正,但是envi的FLAASH不能批量執行,最佳的LEDAPS要用LINUX執行,手頭也沒有合適的電腦裝上LINUX系統,配置起來也比較困難,最終敲定了6S模型。在網上搜索的6S模型的過程中,發現以第一版6SV1.1編譯生成的模型居多,沒有找到2015年更新的6SV2.1,於是自己動手進行編譯。

參考網站:

1.6S模型主頁:http://6s.ltdri.org/index.html。(下載、獲取使用者手冊)

2.http://py6s.readthedocs.io/en/latest/installation.html(py6S是面向python呼叫6S模型的介面,安裝成功全靠這,英文)

 

首先可以明確,6SV2.1模型也是通過FORTRAN77編寫的,變動不是很大,選用它進行校正,看重的是其對ETM資料的支援。我們常見的用IDL呼叫6S模型,都是呼叫的.exe,而下載下來的是6S的FORTRAN原始碼,從原始碼到.exe我們需要經歷一道編譯的工作。雖然看似簡單的編譯,但是也耗費了一天。

 

安裝過程,過程內容主要翻譯自:http://py6s.readthedocs.io/en/latest/installation.html。感謝Robin Wilson及其團隊。

PS:為了保證安裝和執行的順利,儘量保證在C盤,最淺目錄進行。

 

1.WINDOWS系統需要下載UNIX工具,因為之後需要對makefile檔案進行編譯,這裡需要下載make和tar兩個工具(http://gnuwin32.sourceforge.net/packages.html)並用預設值安裝。

2.安裝FORTRAN編譯器,根據文章的解釋,FORTRAN77是有悠久歷史的語言,新的FORTRAN編譯器未必能起到很好的支援,因此下載FORT99.zip(http://www.cse.yorku.ca/~roumani/fortran/ftn.htm)。

*解壓以後,將資料夾下的G77複製到C盤根目錄。

3.環境變數配置,右鍵“我的電腦”-》“更改設定”-》“高階”-》“環境變數”,在環境變數中新增cmd.exe所在的路徑,一般為C:\Windows\System32,在系統變數中,找到path,新增上C:\Program Files\GNUWin32\bin;C:\G77\bin

4.下載6SV2.1並解壓。

5.編輯makefile檔案,用文字文件開啟makefile,找到結尾附近的-lm進行刪除。

6.編譯6S模型。以管理員身份開啟cmd.exe,開啟6S模型所在的目錄(即解壓後.f檔案所在的資料夾),在命令提示行輸入 make 命令進行編譯。編譯成功後得到6SV2.1檔案就是6SV2.1.exe


補充,發現沒有安裝minGW的包導致可能不能使用6S.exe和沒有make命令,不能進行makefile的問題,參照下面的文章進行補充
http://blog.csdn.net/pdcxs007/article/details/8582559