centos 安装 FLEXPART(转载)

原文链接

用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

原文链接:https://www.cnblogs.com/marszhw/p/9185319.html


用的是Intel编译器,GNU、PGI也可以,需要安装netcdf库。

需要下载的软件包:

下载地址:http://www.flexpart.eu/downloads

主程序包: src_flexwrf_v3.1.tar.gz

测试案例和需要的数据: flexwrf_v31_testcases.tar.gz、Wrfdata.tar.gz

下面开始安装:

$ tar -zxvf src_flexwrf_v3.1.tar.gz 并进入文件

打开 makefile.mom ,并修改

需要修改的地方:

- 1 \. NETCDF library path

#NETCDF=../../netcdf

 NETCDF_INCDIR=../../netcdf/include

 NETCDF_LIBDIR=../../netcdf/lib
- 2、COMPILER options --- gnu, pgi, intel

COMPILER = intel  编译器选择,我用的intel,所以COMPILER=intel

然后INTEL_LDFLAGS = -mcmodel=medium -shared-intel -lnetcdf  -debug all

修改好了就可以变编译了,有3个版本的编译:serial version、OPENMP parallel version、hybrid parallel version。

serial version:我单机用的这个,比较简单,有netcdf就可以了

$ make -f makefile.mom serial

生成flexwrf31_intel_serial可执行程序即是安装完成。

OPENMP parallel version:OPENMP并行版本,此版本应用于拥有多核中央处理器的个人计算机,并要求编译器库支持多线程共享内存。(应该是服务器吧,不太懂,见谅)

$ make -f makefile.mom omp 有flexwrf31_intel_omp生成, 即安装完成。

hybrid parallel version 混合并行版本,适用大型机和多核CPU单机集群,需要MPI和OPENMP。

$ make -f makefile.mom mpi 等待完成即可,挺快。

编译完成后把 src_flexwrf_v3.1/data/ 里面的4个文件复制到src_flexwrf_v3.1下,安装完成。

测试:

安装完成后,解压flexwrf_v31_testcases.tar.gz、Wrfdata.tar.gz,

flexwrf_v31_testcases包里有前向和后向的例子,譬如向前的例子,修改下flexwrf.input.forward1的pathnames file,其它files以后按自己需要修改。

=====================FORMER PATHNAMES FILE===================

././                          运行结果路径

./Wrfdata/                  导入数据路径

././AVAILABLE               AVAILABLE1文件路径   (补充完整路径)

./Wrfdata/                  导入数据路径

././AVAILABLE               AVAILABLE2文件路径   (补充完整路径)

./Wrfdata/                  导入数据路径

././AVAILABLE               AVAILABLE3文件路径   (补充完整路径)

=============================================================

这里注意下,flexwrf.input.backward/ flexwrf.input.forward这些文件要和flexwrf31_intel_serial在一个文件夹下。

$./flexwrf31_intel_serial flexwrf.input.forward1

模式即开始运行。

你可能感兴趣的:(centos 安装 FLEXPART(转载))