笔者作为一只游走在生态、遥感、GIS与计算机的学生狗,最近终于因缘际会各种巧合下开始学习Fortran。还记得遥感物理课上牛柳两位老师(真是一个折磨萌萌哒*腔南方银口音的老师组合)的辐射传输方程、几何光学模型时时出现Fortran的身影。
好了,扯淡完毕,首先先来简介下Fortran语言。
Fortran源自于“公式翻译”(英语:FormulaTranslation)的缩写,是一种编程语言。它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。Fortran 90之前的版本是人们所知晓的FORTRAN(全部字母大写),从Fortran 90以及以后的版本都写成Fortran(仅有第一个字母大写)(ps,来自度娘百科)。
可以说Fortran是属于计算机编程语言中的老古董了,但是另一个重要特点就是在科学和工程计算领域应用广泛,主要是其编程语言本身在数组计算上的一些优点决定的。从TIOBE 2017年1月的编程语言排行榜来看
Fortran排在第28位,仍居前30之列,说明该语言仍旧具有广泛适用人群。
那么Fortran在地理学、生态学与遥感方面的应用典型有哪些呢?
事实上,在地理学、生态学与遥感领域,Fortran可以说有大量的学者使用并建立开发了大量的模型。比如遥感方面,大气辐射传输6S模型、MODTRAN辐射传输模型;生态学方面,WOFOST作物生长模型、DSSAT作物生长模型、景观中性模型模拟软件RULE等。
同时Fortran对数组处理的优势使得它能在遥感数据的处理方面担当举足轻重的角色(类比语言IDL、Matlab、Python的numpy),这也是笔者学习的初衷。
当然,正如前面提到了,Fortran是个典型的老古董语言,应用广泛的相关模型基于的Fortran版本的编译器在Win 7及以上系统中基本无法正常安装,故Win 7 64位系统如何配置Fortran开发环境是Fortran语言学习的第一步。
由于传统的Visual Fortran 6.6.0及以下版本在Win 7 64位无法兼容,网上虽有帖子提出了相关解决法方法,但笔者亲自尝试的结果是hello world无法运行,故这边介绍其他方法。
这里有两种配置方法是可以的:
第一种,安装Visual Studio。作为微软主推的IDE,VS在诸多IDE中确实功能突出,优点颇多,作为商业软件,简单的开发环境配置方法也是一大优势。只需勾选Fortran相关编译器安装,即可配置成功。
第二种,安装其他IDE,由于VS的简便性导致将其分为一类,其他IDE只需有Fortran编译器即可。VS在简便性上确实很优秀,但是相对而言,VS是个典型的重量级IDE。相对而言,笔者最近喜欢轻量级IDE,故搜索了其他IDE,以Code::Blocks为例,偏爱它的另一个原因就是因为它是免费开源软件(开源大法好)。
1.首先下载带有Fortran编译器的Code::Blocks软件。
选择最后一个
2.直接安装即可,确认安装所有部分
3.安装完毕后,打开IDE
在菜单栏中找到“Setting”→“Compiler”
复制一个编译器,自定义名字
接着点“Toolchain executables”
将画框部分的文件全部改成gfortran.exe
点击ok即可。
4.Hello World 编写
在菜单栏找到”File”→”New”→”Project”,建立一个Fortran工程文件。
工程命名
选择自定义的编译器
添加hello world项目的Fortran文件
编写如下的hello world进行测试。
program helloworld
implicit none
write(*,*) 'Hello world'
end program
5.生成exe文件无法打开的处理方法
某些时候生成的exe文件打开会报错。类似“找不到*.dll”“这个应用程序安装/配置不正确,重新安装…”这样的错误。
这样的情况下,只需在系统变量里面PATH加上对应的路径即可。