【WRF】初步配置WRF(基于Windows系统下的ubuntu)

一、基本系统

首先,我们必须保证已下载gfrotran、cpp和gcc。若无法确定,使用如下语句:

which gfortran
which cpp
which gcc

如果已下载,那么你会看到它们所在的路径

二、配置环境变量(重要!)

2.1 参考官网教程,新建文件夹,方便处理:

mkdir Build_WRF

进入Build_WRF中,新建文件夹:

mkdir LIBRARIES

打开bashrc进行编辑:

sudo nano ~/.bashrc

2.2 配置环境变量:

export DIR=/home/个人用户文件名/Build_WRF/LIBRARIES
export CC=gcc
export CXX=g++
export FC=gfortran
export CFLAGS='-m64'
export F77=gfortran
export FFLAGS='-m64'
export PATH=$DIR/mpich/bin:$PATH
export PATH=$DIR/netcdf/bin:$PATH

在后面配置netcdf过程中,若写成省略式路径,经常遇见问题,因此建议写成完整路径:

export  NETCDF=/home/个人用户名/Build_WRF/LIBRARIES/netcdf

接下来是三个库的路径配置,一定要完整,否则后面会报错

#ZLIB
export ZLIB=/home/个人用户名/Build_WRF/LIBRARIES/zlib
export ZLIBLIB=/home/个人用户名/Build_WRF/LIBRARIES/zlib/lib
export ZLIBINC=/home/个人用户名/Build_WRF/LIBRARIES/zlib/include
#LIBPNG
export LIBPNG=/home/个人用户名/Build_WRF/LIBRARIES/libpng
export LIBPNGLIB=/home/个人用户名/Build_WRF/LIBRARIES/libpng/lib
export LIBPNGINC=/home/个人用户名/Build_WRF/LIBRARIES/libpng/include
#JASPER
export JASPER=/home/个人用户名/Build_WRF/LIBRARIES/jasper
export JASPERLIB=/home/个人用户名/Build_WRF/LIBRARIES/jasper/lib
export JASPERINC=/home/个人用户名/Build_WRF/LIBRARIES/jasper/include

接下来配置最后必要的部分:

export LDFLAGS=-L/home/个人用户名/Build_WRF/LIBRARIES/netcdf/lib
export CPPFLAGS=-I/home/个人用户名/Build_WRF/LIBRARIES/netcdf/include
export HDF5=$DIR/hdf5
export CURL=$DIR/curl
export PATH=$NETCDF/bin:$PATH
export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH

最终成果图如下:

环境变量细节1
环境变量细节2

修改完后,ctrl+x退出,在最下方会问是否保存,输入y,再按回车

执行如下命令,确保环境变量生效:

source ~/.bashrc

三、配置第三方库

注:本文配置的netcdf为4.1.3版本,其余库均与其匹配。4.1.3版本后netcdf分为netcdf-c和netcdf-fortran两部分下载,若下载的是更新版本的netcdf,其余库的版本也要相应更改

进入LIBRARIES下,执行如下命令,下载第三方库:

wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.7.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/mpich-3.0.4.tar.gz
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.22/src/hdf5-1.8.22.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/netcdf-4.1.3.tar.gz
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
wget https://curl.se/download/curl-7.83.1.tar.gz

准备解压以上文件:

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

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

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

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

tar xzvf curl-7.83.1.tar.gz
cd curl-7.83.1
./configure--prefix=${CURL} --with-amissl
make
make install
cd ..

tar zxvf hdf5-1.8.22.tar.gz
cd hdf5-1.8.22
./configure--with-zlib=${ZLIB} --prefix=${HDF5} --enable-fortran --enable-fortran2003
make
make install
cd ..

注:这里写enable语句是因为若按照官网语句运行,之后安装WRF会报错

tar xzvf netcdf-4.1.3.tar.gz        
cd netcdf-4.1.3  
CPPFLAGS=-I${HDF5}/includeLDFLAGS=-L${HDF5}/lib ./configure --prefix=${NETCDF}
make
make install
cd ..

NETCDF如果配置成功,最后会跳出一个方框,第一句为:Congratulations! You have successfully installed netCDF!
如果没有这个大方框,说明没有配置成功,返回上方看看报错

四、安装WRF

返回Build_WRF下,准备下载WRFV4.0

wget https://www2.mmm.ucar.edu/wrf/src/WRFV4.0.TAR.gz
tar xzvfWRFV4.0.TAR.gz
cd WRF
./configure

选择32,回车后再选择1
配置成功图如下:

WRF初步配置成功

接下来运行compile:

./compile em_real

若运行成功,Build_WRF/WRF/main下应当有四个exe文件,结果如下:

WRF main文件

五、配置WPS

在Build_WRF下,准备下载WPSV4.0。注意,WRF与WPS的版本必须保持一致

wget https://www2.mmm.ucar.edu/wrf/src/WPSV4.0.TAR.gz
tar xzvfWPSV4.0.TAR.gz
./configure

选择3
我在运行的时候出现了netcdf与fortran未很好的配置,但并不影响接下来的操作,所以这个问题暂时搁置

若现在继续执行compile,则会出现无法生成ungrib.exe的情况,因此,要先对一个文件做必要处理:

5.1 修改intmath.f(必须)

进入WPS/ungrib/src/ngl/g2文件夹,打开intmath.f文件:

vi intmath.f

将第172行if语句中改为iand(i,i-1_2)
将第207行if语句中改为iand(i,i-1_1)

5.2 安装WPS

进入WPS文件夹,再次运行configure

./configure

选择3
修改configure.wps(重要)

vi configure.wps

找到这两个语句并改成如下形式:

COMPRESSION_LIBS   	= -L /home/个人用户名/Build_WRF/LIBRARIES/jasper/lib -L /home/个人用户名/Build_WRF/LIBRARIES/libpng/lib -L /home/个人用户名/Build_WRF/LIBRARIES/zlib/lib -ljasper -lpng -lz

COMPRESSION_INC 	= -I /home个人用户名/Build_WRF/LIBRARIES/jasper/include

准备运行compile

./ compile

查看是否正常生成三个可执行文件:

ls -las *.exe

结果如下图:
WPS配置成功

到此为止,最基本的WRF和WPS就配置完成了。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_SEKIRO_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值