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

博客地址

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

WRF官方在线安装教程

  • 系统环境测试
  • 安装依赖库
    • netcdf安装
    • mpich安装
    • zlib安装
    • libpng安装
    • jasper安装
  • 依赖库兼容性测试
    • FortranCNetCDF
    • FortranCNetCDFMPI
  • 编译WRF
  • 编译WPS

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.outgfortran TEST_2_fortran_only_free.f90
./a.outgcc TEST_3_c_only.c
./a.outgcc -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/includetar 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后面再介绍。

WRF主程序与WPS的编译与安装相关推荐

  1. WRF4.3和WPS的编译和安装

    本文是我在自己安装WRF和WPS的时候一边安装一遍撰文写下来的,保证其可行性,且每一步都有截图,小伙伴们跟着步骤一定可以成功. 本文参考了https://developer.aliyun.com/ar ...

  2. WRF与WPS的编译与安装

    本次安装方式为查阅官方文档,经过自己对linux的兴趣,通过一整天时间研究整理出此文档,希望对大家有所帮助,谢谢. 有不足的地方希望各位指点,本人及时改正. 系统环境:Ubuntu server 18 ...

  3. WRF与WPS的编译与安装(转载)

    本次安装方式为查阅官方文档,经过自己对linux的兴趣,通过一整天时间研究整理出此文档,希望对大家有所帮助,谢谢. 有不足的地方希望各位指点,本人及时改正. 系统环境:Ubuntu server 18 ...

  4. 【Nav2中文网】二、编译和安装

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  5. 【Live555】liveMedia下载、配置、编译、安装、基本概念

    [Live555]live555源码详解系列笔记 一.下载.编译.安装 1.下载 官网地址:http://www.live555.com/ 下载地址:http://www.live555.com/li ...

  6. Linux下boost库的编译、安装详解

    1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...

  7. golang go get命令 一键获取代码、编译并安装

    go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装.整个过程就像安装一个 App 一样简单. 这个命令可以动态获取远程代码包,目前支持的有 BitBucke ...

  8. linux内核单独安装,Linux内核编译与安装

    平台:虚拟机Ubuntu10.04 内核版本:3.0.80 ---------------------------------------------------------------------- ...

  9. CentOS6.9下手动编译并安装Python3.7.0

    CentOS6.9默认安装的python版本为2.6.6,若想安装python3以上版本,只能手工编译安装 下面介绍Python-3.7.0版本的手动编译并安装的步骤 1.下载Python-3.7.0 ...

  10. Apache 2,4版本 编译与安装 RedHat enterprises 6.2

    只针对Apache 2,4版本 ,之前版本不存在这个问题 到http://httpd.apache.org/下载以源码方式安装,我下载的版本是Apache httpd 2.4.3 解压:[root@l ...

最新文章

  1. jsencrypt加密同一值返回不同密文_密码学原语如何应用?解析密文同态性的妙用...
  2. python r语言 数据分析_R vs. Python,数据分析中谁与争锋?
  3. NTFS-3G的安装和配置(Linux下挂载Windows分区必备)
  4. Spring Boot的每个模块包详解
  5. 分立元件封装尺寸及PCB板材工艺与设计实例
  6. Java面向对象的继承
  7. centos ip地址固定
  8. AI创作现状与未来发展浅析
  9. Vin码车架号识别技术已经很成熟了
  10. vue 配置 微信SDK wifi功能
  11. vmware全屏后退出全屏快捷键
  12. 使用约会应用Tinder时没人关注你?花钱就能插队露脸半小时
  13. android 登陆微信一直卡在验证身份,微信登录需要滑块验证的时候,闪退返回至登录界面...
  14. ACL 2020 | 特定风格标题生成《Hooks in the headline》论文阅读笔记
  15. IO Active将工业机器人变为“杀手”,以警示各大机器人公司
  16. PPT文件快速转换成PDF文件
  17. 朝鲜版Windows操作系统“红星”首次曝光(图)
  18. python画图绘制紫荆花_怎么用CAD绘制紫荆花平面图?
  19. 一狼 GHOST 系统_sp3_v2.4.iso
  20. 学会这招躺上荣耀全都不是问题

热门文章

  1. 以CRM系统为案例讲解数据分析(重要性介绍及分析方法)
  2. Android状态栏详解(全网最详)
  3. java坦克大战 需求分析,Java版坦克大战游戏的设计与实现(含录像)_JAVA
  4. A站、B站、C站、D站、E站、F站、G站、H站、I站、J站、K站、L站、M站、N站、T站…Z站 ?
  5. 帝国cms系统使用初级教程二(较全面)
  6. python决策树例题经典案例-决策树python实现小样例
  7. 常微分方程各种类型方程表格汇总
  8. Allatori:代码混淆器的使用
  9. qq西游服务器制作教程,QQ西游服务端文件说明 - 『天命/QQ西游』 - 任逍遥网游交流社区 | 任逍遥网游单机架设论坛 - Powered by Discuz!...
  10. 电脑各个硬件的理论知识 经典