本文是我在自己安装WRF和WPS的时候一边安装一遍撰文写下来的,保证其可行性,且每一步都有截图,小伙伴们跟着步骤一定可以成功。

本文参考了https://developer.aliyun.com/article/634880的博文,由于该博主是17年发的帖子,当时版本是WRF3.9.1,对于4.0以后的版本有一些小变动,因此我对其进行了一个更新完善。感谢该博主对我的帮助!

文中提到的源代码在最后我都会给出百度云链接或者源网址,请放心安装!

  • 系统环境测试

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

which gfortran

which cppwhich gcc

gfortran --version

gcc --versiong++ --version

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

接下来在安装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

显示7个绿色的success就说明测试通过。

  • 安装依赖库

首先在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

这里注意要在你的LIBRARIES目录下进行,并修改第一个export的路径(一定要复制全LIBRARIES的路径,不然会跳很多error,导致安装失败!)

出现这个界面说明安装成功

2.mpich安装

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

tar xzvf mpich-3.0.4.tar.gz

cd mpich-3.0.4

./configure --prefix=$DIR/mpich

make

make installexport PATH=$DIR/mpich/bin:$PATH

这里注意要返回你的LIBRARIES目录下进行

结果没有跳error就可以啦

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

这里注意要返回你的LIBRARIES目录下进行

结果没有跳error就可以啦

4.libpng安装

tar xzvf libpng-1.2.50.tar.gz

cd libpng-1.2.50

./configure --prefix=$DIR/grib2

make

make install

这里注意要返回你的LIBRARIES目录下进行

结果没有跳error就可以啦

5.jasper安装

tar xzvf jasper-1.900.1.tar.gz

cd jasper-1.900.1

./configure --prefix=$DIR/grib2

make

make install

这里注意要返回你的LIBRARIES目录下进行

结果没有跳error就可以啦

  • 依赖库兼容性测试

接下来对安装完的依赖库兼容性做测试。测试文件为Fortran_C_NETCDF_MPI_tests.tar(官网可下载,文末给链接)

  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

结果显示success则通过

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

结果显示success则通过。

  • 编译WRF

从WRF4.0版本之后,源代码集成到了github上,不需要像以往一样下载安装包了,我们可以直接使用命令行拷贝代码。进入LIBRARIES下,

git clone https://github.com/wrf-model/WRF

git clone https://github.com/wrf-model/WPS

这时候就可以发现WRF和WPS已经出现在你的Build_WRF下。如果是学校大型机不能连通Internet的情况下,则自行下载后上传!上传之后进行解压编译。

unzip WRF-master.zip

cd WRF-master

./configure

选择34,后选择1

成功后执行以下命令(需等待大概半小时)

./compile em_real >& log.compile

完成后输入

ls -ls main/*.exe

结果出现4个exe文件,那么恭喜你WRF就安装成功啦!

  • 编译WPS

    同样的回到Build_WRF目录下,进行WPS的解压

    unzip WPS-master.zip

    cd WPS-master

    ./clean

    export JASPERLIB=$DIR/grib2/lib

    export JASPERINC=$DIR/grib2/include

    export WRF_DIR=../WRF-master

    ./configure

    这里我们选择3,然后出现successful说明一切顺利!

    然后运行如下命令进行编译:

    ./compile >& log.compile

    完成后输入以下命令检查:

    ls -ls *.exe

    结果出现3个exe文件,那么恭喜你WPS安装成功啦!

    文中用到的压缩包在这里:https://pan.baidu.com/s/1iLXPJRsqhOtHas--YUYQ_Q 提取码146g

    小伙伴们也可以到WRF官网自行下载:

    https://www2.mmm.ucar.edu/wrf/users/download/get_sources_new.php

WRF4.3和WPS的编译和安装相关推荐

  1. WRF与WPS的编译与安装

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. linux怎么编译并安装busybox,linux下安装busybox

    1.获取busybox源码并解压,这里使用天嵌提供的"busybox-1.16.0.tar.bz2" #tar xvf busybox-1.16..tar.bz2 -C / 解压的 ...

最新文章

  1. 38首经典华语情歌E文版
  2. DOM操作表格的各种属性[z]
  3. 【转载】OmniGraffle (四)化繁为简
  4. c++ static allocator
  5. mysql blob hex_数据库的完整备份与恢复 quot;--hex-blobquot; - - ITeye博客
  6. 实时操作系统与通用计算机操作系统的区别,实时操作系统(RTOS)和通用操作系统(OS)之间的区别...
  7. 三星mega2 android os,GALAXY MEGA2
  8. SQL Server -- SQL NULL值,ISNull(),Oracal NVL(),MYSQL IFNULL(),COALESCE()
  9. BZOJ 4992: [Usaco2017 Feb]Why Did the Cow Cross the Road
  10. 为什么饿着饿着就不饿了
  11. ios 获取沙盒文件名_IOS获取各种文件目录路径的方法
  12. shell中使用if判断时用到的一些参数
  13. 关于触控 ID 的妙控键盘上无法正常使用触控 ID的解决方法
  14. 盘点2009:Office办公软件谁主江湖
  15. spss多元线性回归散点图_SPSS多元线性回归.pdf
  16. 计算机视觉论文-2021-07-21
  17. 科普知识:深网和暗网
  18. [组合数学] NC13611树 (逆元的计算)
  19. 在vue中使用turn.js
  20. 数据链路层 PPP协议工作过程

热门文章

  1. 相机的 高清到底是一个什么东西
  2. 温老师的论坛,欢迎大家踊跃发言!
  3. testng执行参数_TestNG参数化测试
  4. Handler dispatch failed; nested exception is java.lang.NoSuchFieldError: TLS_ECDHE_ECDSA_WITH_CHACHA
  5. 使用Git提交代码到Gitee,上传、修改文件后没有绿色、红色图标提示
  6. SolidWorks如何在圆柱体侧面开槽
  7. 优思学院|西门子精益六西格玛的历程
  8. 使用python爬取猫眼电影、房王、股吧论坛、百度翻译、有道翻译、高德天气、华夏基金、扇贝单词、糗事百科(猫眼电影)
  9. 钢笔墨水能否代替打印机墨水_如何避免打印机墨水偷偷跑掉
  10. Docker下安装zookeeper(单机 集群)