云计算百科
云计算领域专业知识百科平台

WRF安装---ubuntu22的华为云4cpu8G服务器

概要:本文针对WRF安装和运行的技术教程-CSDN博客博文进行补充说明

我着重说明一下:我们的运行内存至少要有4G,我之前使用了2vCPU2G内存的服务器来跑尽管第三方库安装的都没问题,但是在WPF和WPS进行configure的时候CPU就会占用到100以至于服务器直接kill了进程。(尽管可以去添加虚拟内存来解决这个问题,但是十分不推荐

安装的第三方库的所有代码:

cd $DIR/LIBRARIES
wget https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz
wget https://downloads.unidata.ucar.edu/netcdf-fortran/4.6.1/netcdf-fortran-4.6.1.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.11.tar.gz
wget https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_14_3/src/hdf5-1.14.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://www.mpich.org/static/downloads/4.1.2/mpich-4.1.2.tar.gz
tar zxvf mpich-4.1.2.tar.gz
tar zxvf netcdf-c-4.9.2.tar.gz
tar zxvf netcdf-fortran-4.6.1.tar.gz
tar zxvf zlib-1.2.11.tar.gz
tar zxvf hdf5-1.14.3.tar.gz
tar zxvf jasper-1.900.1.tar.gz
tar zxvf libpng-1.2.50.tar.gz
#先安装zlib
cd $DIR/LIBRARIES/zlib-1.2.11
./configure –prefix=$DIR/LIBRARIES/grib2
make
make install
#安装hdf5
cd $DIR/LIBRARIES/hdf5-1.14.3
./configure –prefix=$DIR/LIBRARIES/hdf5 –enable-fortran –enable-cxx –with-zlib=$DIR/LIBRARIES/grib2
make -j4 #加速编译
make install
# 安装netcdf-c
cd $DIR/LIBRARIES/netcdf-c-4.9.2
./configure –prefix=$DIR/LIBRARIES/netcdf –enable-dap –enable-netcdf4 –enable-shared LDFLAGS="-L$DIR/LIBRARIES/hdf5/lib -L$DIR/LIBRARIES/grib2/lib" CPPFLAGS="-I$DIR/LIBRARIES/hdf5/include -I$DIR/LIBRARIES/grib2/include"
make
make install
# 安装netcdf-fortran
cd $DIR/LIBRARIES/netcdf-fortran-4.6.1
./configure –prefix=$DIR/LIBRARIES/netcdf –enable-shared LIBS="-lnetcdf -lz" LDFLAGS="-L$DIR/LIBRARIES/netcdf/lib -L$DIR/LIBRARIES/grib2/lib" CPPFLAGS="-I$DIR/LIBRARIES/netcdf/include -I$DIR/LIBRARIES/grib2/include"
make
make install
# 安装mpich
cd $DIR/LIBRARIES/mpich-4.1.2
./configure –prefix=$DIR/LIBRARIES/mpich
make -j4 #加速编译
make install

# 安装 libpng
cd $DIR/LIBRARIES/libpng-1.2.50
./configure –prefix=$DIR/LIBRARIES/grib2
make
make install
# 安装jasper
cd $DIR/LIBRARIES/jasper-1.900.1
./configure –prefix=$DIR/LIBRARIES/grib2
make
make install

其中的hdf5和mpich尤其是mpich会花费很长时间。 

所用的环境变量直接复制我以下的即可:

export DIR=/home/public/Build_WRF
export PATH=$DIR/LIBRARIES/netcdf/bin:$PATH
export NETCDF=$DIR/LIBRARIES/netcdf
export LIBRARY_PATH=$DIR/LIBRARIES/netcdf/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$DIR/LIBRARIES/netcdf/lib:$LD_LIBRARY_PATH
export PATH=$DIR/LIBRARIES/mpich/bin:$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
export LIBRARY_PATH=$DIR/LIBRARIES/grib2/lib:$DIR/LIBRARIES/hdf5/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$DIR/LIBRARIES/grib2/lib:$DIR/LIBRARIES/hdf5/lib:$LD_LIBRARY_PATH
export WRF_DIR=$DIR/WRF

然后按照WRF安装和运行的技术教程-CSDN博客走到测试成功之后。我们进行WRF和WPS的安装,我们先安装WRF再安装WPS。我们安装的时候要注意WRF和WPS配置配套,即如果WRF选择了dmpar那么WPS也选dmpar,以此类推。

以下是本文完全原创的部分:

模拟的时候先运行WPS再运行WRF

官方文件夹:https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.4/contents.html

1.文件解析:

geogrid.exe定义模拟区域,将静态数据插值到模式网格中;ungrib.exe解压提取气象场数据转为中间格式;metgrid.exe将气象场数据水平插值到模拟域网络;real.exe进行垂直插值,创建边界和初始条件

2.准备数据集:

地表静态数据(地形、土壤等)和驱动场数据(模式输入场) 提示:我们可以在WRF/run或者WRF/test/em_real的任何一个文件夹下运行WRF

3.要先运行WPS然后再运行WRF。

我们现将GEOG数据下载解压好,然后在WPS的namelist.wps中修改geog_data_path和起始时间(必须),再修改其他我们需要修改的数据(非必须)【如果我们选用的是解压后将近40G的那个高分辨率数据的话就不用改geog_data_res,如果使用的是低分辨率的要将其改为lowres】;然后在WPS文件夹下运行./geogrid.exe >& log.geogrid实现静态数据插值到模式网格,编译结束会生成geo_em.d01/02.nc这样的(geo_em*文件);接下来创建一个DATA文件夹(Build_WRF文件夹之下),里面放输入场的数据(不可以是nc文件,可以是例如gfs.t00z.pgrb2.0p25.f000);之后在WPS文件夹下我们./link_grib.csh ……..(我们放GFS文件的地方,我这里是$DIR/DATA/gfs.tooz.pgrb2.0p25*),再链接变量表ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable,再运行./ungrib.exe生成有"FILE"为前缀的文件,然后运行./metgrid.exe >& log.metgrid之后生成met_em*的文件。到此WPS运行结束。 提示:我们不能把那个日期的随意剪掉一个(就直接输入两遍就行了,暂时不要删除了),除非我们将所有的第二个量从WPS的namelist.wrf到WRF的namelist.input都去掉才行。

4.运行WRF:

(在em_real或者run文件夹下运行wrf都行)     我们cd  WRF/test/em_real中,先要对namelist.input进行更改,然后运行ln -sf ../../../WPS/met_em* ./ , 再运行mpirun -np 1 ./real.exe,再运行tail rsl.error.0000看run是否成功(如果有SUCCESS并且有wrfbdy_d01文件或者其他的wrfbdy_d0*文件就可以)。最后运行mpirun -np 8 ./wrf.exe再在rsl文件中查看是否还是SUCCESS,wrfout*文件就是输出结果。

提示:mpirun -np的参数含义:         mpirun指的是并行运算,需要我们之前安装了mpich库,-np用于指定并行执行的进程数  

如果有任何相关的WRF问题可以上WRF Model | WRF & MPAS-A Support Forum来提问,祝各位顺利!

赞(0)
未经允许不得转载:网硕互联帮助中心 » WRF安装---ubuntu22的华为云4cpu8G服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!