師哥做了個課題,用FLEXPART分析大氣伴飛軌跡,提前先安裝這個軟件吧。我使用的環境是centos7,看官慢慢看,結尾有彩蛋~
准備工作,flexpart是用Fortran語言寫的,以.90結尾的文件就是他的源文件,因此編譯需要使用gcc和gcc-c++編譯器
yum install gcc
yum install gcc-c++
yum install gcc-gfortran
就行了,gcc編譯器可以編譯fortran語言的源碼
1:安裝jasper
cd /usr/local/
wget http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip
unzip jasper-1.900.1.zip
mkdir jasper
cd jasper-1.900.1
CFLAGS="-fPIC" ./configure --prefix=/usr/local/jasper
上面需要加上-fPIC這個選項,不然會后面make grib的時候會報錯
make
make check
make install
2:安裝grib_api
cd /usr/local/
wget https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-1.26.1-Source.tar.gz
tar -zxvf grib_api-1.26.1-Source.tar.gz
mkdir grib_api
cd grib_api-1.26.1-Source
./configure --prefix=/usr/local/grib_api --with-jasper="/usr/local/jasper"
這里要帶上--with-jasper="/usr/local/jasper",不然編譯也會報錯
make
make check
make install
3:安裝flexpart
cd /usr/local/
wget http://archive.ubuntu.com/ubuntu/pool/universe/f/flexpart/flexpart_9.02.orig.tar.gz
tar -zxvf flexpart_9.02.orig.tar.gz
cd flexpart_9.02
vi makefile.gfs_gfortran
修改
INCPATH = /usr/local/grib_api/include
LIBPATH1 = /usr/local/grib_api/lib
LIBPATH2 = /usr/local/jasper/lib
改完:wq保存喏,改錯了記得:q!退出再接着改喏。
make -f makefile.gfs_gfortran
生成FLEXPART_GFS_GFORTRAN
------------------------------------------------彩蛋------------------------------------------------
你以為這么簡單么?其實有個坑,因為在我這個版本的gcc下編譯貌似會出錯
報錯提示在erf.f90 文件的44行有個錯,沒接觸過fortran,但猜測可能是位數不對,於是這么改了一下源代碼,編譯通過
real(kind=dp) :: x,tmp,ser,xx,gammln
⇒
real :: gammln
real(kind=dp) :: x,tmp,ser,xx