首先可以放一个喜欢的音乐,边听边安装,手边放好零食,保持愉快心情。

说明一下为什么不用官方教程安装,因为个人认为这么安装比官方教程简单,并且官方教程有时在细节上不甚明晰,可能出现许多莫名其妙的错误,到时也需要自己搜索解决,对于新手比较困难(至少在我安装时的那个版本,明明一步一步来,但莫名其妙报很多错)。然后网上的许多教程我尝试运行时,也不能顺利运行,不知道原因,如果非常顺利自然也不会有这个教程,而这里的安装过程理论上应该不会报错了。

官方教程地址:Compiling WRF

第一步,选择并下载ubuntu系统

下载ubuntu-18.04.6-desktop-amd64.iso

下载网址:https://mirrors.aliyun.com/ubuntu-releases/18.04/

不下载最新的ubuntu-22.04.3-desktop-amd64.iso是因为最新的ubuntu-22.04.3,在之后的sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"命令,会报错。

第二步,安装ubuntu系统

安装双系统或虚拟机(本人是在虚拟机上安装,虚拟机设置为10G内存,处理器数量为1,每个处理器的内核数量为2,分配120G硬盘空间),安装后将环境设置为中文(重启后才能生效),方便之后的使用。

注意虚拟机CPU数量不可以大于物理主机CPU的数量,个人电脑一般也就一个CPU。多了可能报错,有几次安装失败不知道是不是我当时填多了引起的。

Ubuntu的虚拟机的安装方式可以在哔哩哔哩上搜索,这里不进行赘述,注意密码最好设置简单一些,甚至一个数就行,因为需要经常输入,没必要难为自己。

第三步,更新软件列表与软件

更新当前软件列表与软件,否则之后可能导致安装错误,安装系统后开机会自动提示,安装后重启即可。

第四步,配置安装环境

打开终端,依次输入这几个命令,最好一个一个复制,如果报错,方便知道是哪个报错了

sudo apt-get install -y gcc g++ gfortran

sudo apt-get install -y csh

sudo apt-get install -y ksh

sudo apt-get install -y m4  

sudo apt-get install -y make

sudo apt-get install -y zlib*

sudo apt-get install -y libpng12*

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

sudo apt update

sudo apt install libjasper1 libjasper-dev

sudo apt-get -y install mpich

第五步,设置环境变量

在终端输入:

nano ~/.bashrc

会打开一个文档,在文档最后加入

export HDF5=your_hdf5_install_path

export NETCDF=your_netcdf_install_path

export PATH=$NETCDF/bin:$HDF5/bin:$PATH

export LD_LIBRARY_PATH=$NETCDF/lib:$HDF5/lib:$LD_LIBRARY_PATH

export JASPERLIB=$DIR/LIBRARIES/grib2/lib

export JASPERINC=$DIR/LIBRARIES/grib2/include

export LDFLAGS=-L$DIR/LIBRARIES/grib2/lib

export CPPFLAGS=-I$DIR/LIBRARIES/grib2/include

最后四行我也不知道是干什么的,只是一开始安装失败,WPS不产生exe文件,然后看了一些别的安装教程,加上就有了,感谢那几个安装教程。

然后注意your_hdf5_install_path是你的安装路径,不要原模原样复制

我当时输入的是

export HDF5=/home/zzz/Build_WRF/LIBRARIES/hdf5

export NETCDF=/home/zzz/Build_WRF/LIBRARIES/netcdf

export PATH=$NETCDF/bin:$HDF5/bin:$PATH

export LD_LIBRARY_PATH=$NETCDF/lib:$HDF5/lib:$LD_LIBRARY_PATH

export DIR=/home/zzz/Build_WRF

export NETCDF2=$DIR/LIBRARIES/netcdf

export JASPERLIB=$DIR/LIBRARIES/grib2/lib

export JASPERINC=$DIR/LIBRARIES/grib2/include

export LDFLAGS=-L$DIR/LIBRARIES/grib2/lib

export CPPFLAGS=-I$DIR/LIBRARIES/grib2/include

之后同时按CTRL与X离开文档,会提示是否保存,再输入Y,回车键确定保存,自动回到终端界面。输入

source ~/.bashrc

使其生效。

第六步,下载与安装HDF5和NetCDF4

HDF5的版本非常重要,这里选用hdf5-1.8.22 .tar.gz

若使用更早的版本如hdf5-1.8.10.tar.gz,则在编译时,.c文件中会出现//这种代码,是符合旧标准的注释代码,但是在新标准里被判定为错误,导致代码无法正常编译。即使依照报错,修改文件中的//,也会有下一个文件继续报这个错,本人改了三个文件后,不知道后边还有多少个,终止,选择其他版本。

若使用较新版本,如hdf5-1.14.3.tar.gz, 则在编译NETCDF4.1.3时,其会用到HDF5旧版的一个东西,但是新版没有这个东西,会导致报错,本人查了很久才知道是这么回事。

综上所述,选用hdf5-1.8.22 .tar.gz

NETCDF版本选用NETCDF4.1.3

因为之后的版本安装方式不同,有两个需要分别安装,也会导致一些莫名其妙的错误,甚至导致其他软件报错,本人亲测。

在主文件夹里建一个Build_WRF

里边再建两个文件夹LIBRARIES与TESTS

将下载好的hdf5-1.8.22 .tar.gz与NETCDF4.1.3扔到LIBRARIES里然后解压缩

进入hdf5-1.8.22文件夹打开终端(注意,是在这里的文件夹里鼠标右键选择打开终端,或者其他地方打开终端后使用cd 位置的方法移动过去也行,不过简便方法是在这个文件夹里打开终端)

在终端依次输入(注意第一块是一个命令,只不过比较长)

./configure --prefix=$HDF5 CC=gcc FC=gfortran CXX=g++ --enable-fortran --enable-fortran2003 --enable-cxx

make

make install

h5dump #若出现h5dump的使用说明,则安装成功

之后进入NETCDF4.1.3文件夹打开终端依次输入(注意第一块是一个命令,只不过比较长)

./configure --prefix=$NETCDF CC=gcc FC=gfortran F77=gfortran CXX=g++ CPPFLAGS="-I$HDF5/include" LIBS="-L$HDF5/lib" --enable-netcdf4

make

make install

ncdump #若显示使用说明,则说明安装成功。

第七步,安装其他库

此时如果直接安装WRF,无法产生exe文件

打开终端输入

cd $DIR/LIBRARIES

wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/jasper-1.900.1.tar.gz

wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/libpng-1.2.50.tar.gz

tar xvf jasper-1.900.1.tar.gz

tar xvf libpng-1.2.50.tar.gz

cd $DIR/LIBRARIES/libpng-1.2.50

./configure --prefix=$DIR/LIBRARIES/grib2

make

make install

cd $DIR/LIBRARIES/jasper-1.900.1

./configure --prefix=$DIR/LIBRARIES/grib2

make

make install

第八步,下载与安装WRF

首先下载,在主文件夹打开终端,依次输入

wget https://www2.mmm.ucar.edu/wrf/src/WRFV4.0.TAR.gz

tar xzvf WRFV4.0.TAR.gz

cd WRF

./configure

会出现一个列表,输入34后回车确定,之后输入1后,按回车确定。

输入

./compile em_real

等待一段时间,完成后,在主文件夹看到四个exe文件

说明安装成功。

第九步,下载与安装WPS

在主文件夹输入

git clone GitHub - wrf-model/WPS: The official repository for the WRF Preprocessing System (WPS)

会提示安装git,安装后再次输入该命令即可下载好WPS

在主文件夹打开终端输入

cd WPS

或者在WPS文件夹下打开终端也行

然后输入

./configure

输入3,回车

接着输入

./compile

WPS文件夹里出现三个exe文件说明安装成功

第十步,大功告成,买瓶肥宅快乐水奖励一下自己吧~

喜欢的话,不妨点个关注支持一下。

附录:可能遇到的错误与解决

        1. 网上下载的虚拟机,最后一步报错

        No git found or not a git repository, git commit version not available.

        解决方法:重新安装虚拟机

        2. 虚拟机断网了,联不上网

        解决方法在终端输入,

        sudo nmcli networking off

        sudo nmcli networking on

        右上显示网络连接情况图标,顺便就能连接了

        3. 输入csh后命令行不显示路径(本教程未涉及到csh, 如果使用官方教程,设置环境变量时需要先在终端输入csh,以此切换到csh才行)

        解决办法:在csh状态输入以下代码可以暂时解决

        alias precommand 'set prompt="${cwd} >"'

        precommand

        alias cd 'chdir \!* && precommand'

        4. 输入./compile 程序文件夹名 后瞬间就结束了,没有编译过程

        解决方法:在WRF文件夹打开终端,输入./clean -a,然后重新./configure 最后再次./compile

参考链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。