开发者社区> 胖胖雕> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

WRF主程序与WPS的编译与安装

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/78228678 最近重新把WRF学习提上事宜,所以开始重新鼓捣WRF。
+关注继续查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/78228678

最近重新把WRF学习提上事宜,所以开始重新鼓捣WRF。
由于WRF-DA的运行需要依赖WPS程序,这里就填下之前两篇WRF-DA模块编译中挖的坑。即WRF主程序的编译与安装。如果不太清楚的WRF与WRF-DA相关的可以去翻下前两篇博客。

博客地址

最近本来准备换VitualBox来玩虚拟机,结果不小心玩脱了,把之前编译安装好WRF-DA模块的Ubuntu系统删除了,所以只好重头再来了。所以这回我是从WRF主程序等一一安装完,最后再来安装WRF-DA模块。不过这一次按照网上原来的教程装了好多次都失败了,不得已之下,我去请教了WRF官方邮箱。他们给我提供了一份官方安装教程,结果一次成功。这里介绍下这份教程的过程。

WRF官方在线安装教程

1 系统环境测试

首先对编译需要的gfortran,cpp,gcc检查是否安装,版本是否匹配。

which gfortran
which cpp
which gcc
gfortran --version
gcc --version
g++ --version

能显示路径说明已安装,版本检查也未出现。
可以发现gfortran并未安装。

apt install gfortran

接下来在安装WRF的文件夹下创建两个文件夹。一个是Build_WRF,一个是TESTS。
然后下载Fortran and C Tests Tar File文件,并放入TESTS文件夹下,对编译器做测试。
解压完毕。

一共有7个测试。
首先是对Fortran和C的编译器做测试。

gfortran TEST_1_fortran_only_fixed.f
./a.out

gfortran TEST_2_fortran_only_free.f90
./a.out

gcc TEST_3_c_only.c
./a.out

gcc -c -m64 TEST_4_fortran+c_c.c
gfortran -c -m64 TEST_4_fortran+c_f.f90
gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o
./a.out

接下来测试下csh,perl,sh是否可行。

./TEST_csh.csh
./TEST_perl.pl
./TEST_sh.sh

可以发现csh测试不通过。解决方案为安装tcsh。

apt install tcsh

安装完,测试通过。

2 安装依赖库

首先在Build_WRF文件夹下面创建一个LIBRARIES的文件夹。然后下载所需的依赖库。

mpich-3.0.4
netcdf-4.1.3
Jasper-1.900.1
libpng-1.2.50
zlib-1.2.7

把这些压缩包全部放到LIBRARIES下面。

接着设置环境变量开始安装。

1 netcdf安装

这里用的是4.1.3版本的netcdf,这个版本还没有把netcdf-fortran和netcdf-c拆开。比较新的版本已经把二者拆开了,新版本则必须两个都安装。

exprot DIR=/home/Build_WRF/LIBRARIES
export CC=gcc
export CXX=g++
export FC=gfortran
export FCFLAGS=-m64
export F77=gfortran
export FFLAGS=-m64
tar zxvf netcdf-4.1.3.tar.gz
cd netcdf-4.1.3
./configure --prefix=$DIR/netcdf --disable-dap \
 --disable-netcdf-4 --disable-shared
make
make install
export PATH=$DIR/netcdf/bin:$PATH
export NETCDF=$DIR/netcdf

虽然网上有很多教程要求先安装zllib和hdf5后安装netcdf,但是我决定按官方教程走走看。

2 mpich安装

如果不需要并行运算,可以不安装这个库。这里还是安装一下。

tar xzvf mpich-3.0.4.tar.gz
cd mpich-3.0.4
./configure --prefix=$DIR/mpich
make
make install
export PATH=$DIR/mpich/bin:$PATH

3 zlib安装

export LDFLAGS=-L$DIR/grib2/lib
export CPPFLAGS=-I$DIR/grib2/include

tar xzvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure --prefix=$DIR/grib2
make
make install

4 libpng安装

tar xzvf libpng-1.2.50.tar.gz
cd libpng-1.2.50
./configure --prefix=$DIR/grib2
make
make install

5 jasper安装

tar xzvf jasper-1.900.1.tar.gz
cd jasper-1.900.1
./configure --prefix=$DIR/grib2
make
make install

3 依赖库兼容性测试

接下来对安装完的依赖库兼容性做测试。
测试文件

1 Fortran+C+NetCDF

tar -xf Fortran_C_NETCDF_MPI_tests.tar
cp ${NETCDF}/include/netcdf.inc .
gfortran -c 01_fortran+c+netcdf_f.f
gcc -c 01_fortran+c+netcdf_c.c
gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o \
     -L${NETCDF}/lib -lnetcdff -lnetcdf
./a.out

2 Fortran+C+NetCDF+MPI

cp ${NETCDF}/include/netcdf.inc .
mpif90 -c 02_fortran+c+netcdf+mpi_f.f
mpicc -c 02_fortran+c+netcdf+mpi_c.c
mpif90 02_fortran+c+netcdf+mpi_f.o \
02_fortran+c+netcdf+mpi_c.o \
     -L${NETCDF}/lib -lnetcdff -lnetcdf
mpirun ./a.out

4 编译WRF

下载WRF的源码,放在Build_WRF里面。
WRF3.9.1

gunzip WRFV3.9.1.1.TAR.gz
tar -xf WRFV3.9.1.1.TAR
cd WRFV3
./configure

需要安装m4。

apt-get install m4

接着configure一下,出现如下界面。

选择34和1。

./compile em_real >& log.compile

接下来只要等待编译完成了。
用下面的语句检查是否生成exe。

ls -ls main/*.exe

5 编译WPS

接下来就是编译WPS。

gunzip WPSV3.9.1.TAR.gz
tar -xf WPSV3.9.1.TAR
cd WPS
./clean
export JASPERLIB=$DIR/grib2/lib
export JASPERINC=$DIR/grib2/include
./configure

出现如下界面

选择3,然后运行如下命令编译。

WRF_DIR = ../WRFV3
./compile >& log.compile

上述的exe出现且不为红色可以初步认为编译安装成功。如何运行WRF后面再介绍。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python打包exe可执行文件
这篇文章详细介绍了Python项目程序打包成exe可执行文件的方法!(只能用于Windows系统)exe可执行文件可在任何Windows系统上通用,希望对在学Python的师傅有一定的帮助!
0 0
Python编程:pyinstaller打包成exe可执行文件
Python编程:pyinstaller打包成exe可执行文件
0 0
python打包exe——pyinstaller遇到的那些坑及解决办法
pyinstaller的那些坑 问题一:failed to create process. 问题二:pyinstaller相关参数
0 0
python + uiautomator2编译平板语言工具并切换打包exe可执行文件(下)
python + uiautomator2编译平板语言工具并切换打包exe可执行文件(下)
0 0
QT5的程序打包发布(打包成exe可执行程序)
QT5的程序打包发布(打包成exe可执行程序)
0 0
小工具随手记:使用Pyinstaller将Python程序打包成exe
小工具随手记:使用Pyinstaller将Python程序打包成exe
0 0
将编写的python程序打包成exe可执行文件
如何将编写的python文件打包成exe可执行文件呢。很简单,这里我们用控制台来进行打包。 下图是我在pycharm中利用网络爬虫编写的词典。现在我们要把它打包成可执行文件。 我们先查看需要打包程序所在的目录,并在控制台下操作进入所在目录,应用指令pyinstaller -F reptiles_dict03.py,具体操作如下:
0 0
C#如何打包EXE程序生成setup安装文件
项目结束之后,有需要将winForm程序打包成.exe文件提供给用户。这里记录一下打包过程。
0 0
只要三步,把python文件打包成exe可执行程序
主要有三种方式进行打包py2exe,PyInstaller和cx_Freeze, py2exe和PyInstaller会出现dll打包不完整和没有最新对应的python版本,所以使用cx_freeze
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载