返回顶部
首页 > 资讯 > 服务器 >WRF安装和运行的技术教程
  • 876
分享到

WRF安装和运行的技术教程

linux服务器 2023-09-08 20:09:24 876人浏览 薄情痞子
摘要

声明1 本教程完全免费,请勿进行商业化 声明2 时间仓促,如果有错误或不足之处,欢迎批评指正 快速导航 1. WRF的安装1.1 检验和安装基础包1.2 WRF安装的目录结构1.3 测试编译器

声明1 本教程完全免费,请勿进行商业化
声明2 时间仓促,如果有错误或不足之处,欢迎批评指正

快速导航

1. WRF的安装

官方安装教程:https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php
官方安装教程十分详细,但有一些细节对于初学者而言相对棘手,本文将进一步讨论WRF安装过程中需要注意的问题。

1.1 检验和安装基础包

检验指令:

which gfortranwhich cppwhich GCc

which指令用于查找并显示给定命令软件(二进制文件)的绝对路径,这个指令非常实用,当一个命令有多个安装路径时,这个指令可以确定命令调用的路径。如果发现which没有返回结果,即PATH中缺失某个路径,则需要安装相应软件。当调用的路径不是你希望的路径时,需要在PATH左侧添加重新添加路径以调整路径优先级。

安装指令:

sudo apt-get install gfortran cpp gcc m4 g++

sudo是系统管理指令,可以暂时性地让普通用户获得一些超级权限。在个人你的计算机上,执行sudo命令需要当前linux账户的密码,所以在注册时请务必记清账户密码;如果你已经是root超级用户,则你已经拥有了Linux系统全部的权限,不需要sudo便可以执行所有的命令;如果你在服务器上没有超级权限,无法执行安装命令,又缺少一些必要基础包,请联系你的管理员询问解决办法。

其他基础指令:ar head sed awk hostname sleep cat ln sort cd ls tar cp make touch cut mkdir tr expr mv uname file nm wc grep printf which gzip rm
这些指令一般Linux系统自带,如果没有则使用apt-get自行安装

1.2 WRF安装的目录结构

Build_WRF
  |-- TESTS
  |-- LIBRARIES
  |-- WPS
  |-- WRF
  |-- DATA(输入场数据,位置可自选)
  |-- GEOG(地表静态数据,位置可自选)

创建各目录

mkdir Build_WRFcd Build_WRFmkdir TESTSmkdir LIBRARIES

添加目录位置变量,以简化指令的输入,这里的xxx由你自己服务器的情况而定

export DIR=/home/xxx/Build_WRF

1.3 测试编译器,进入测试目录,下载测试包并解压

cd $DIR/TESTSwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tartar xvf Fortran_C_tests.tar

进行测试

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.cgfortran -c -m64 TEST_4_fortran+c_f.f90gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o./a.out./TEST_csh.csh./TEST_perl.pl./TEST_sh.sh

一共有七项测试,均显示SUCCESS则表示成功。值得注意的是本文使用的编译器是GUN编译器,相应的C和Fortran编译器为gcc和gfortran。除此之外,还有一种Intel编译器,相应的C和Fortran编译器为icc和ifort。
基础测试成功

1.4 进入依赖包目录,下载依赖包并解压

cd $DIR/LIBRARIESwget Https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/netcdf-4.1.3.tar.gzwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/mpich-3.0.4.tar.gzwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/jasper-1.900.1.tar.gzwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/libpng-1.2.50.tar.gzwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.7.tar.gztar xvf netcdf-4.1.3.tar.gztar xvf mpich-3.0.4.tar.gztar xvf jasper-1.900.1.tar.gztar xvf libpng-1.2.50.tar.gztar xvf zlib-1.2.7.tar.gz

注意tar为Linux下的压缩打包工具,参数-x表示解压文件,参数-f指定文件名,参数-v表示显示处理过程,有时还有参数-z,表示调用gzip执行压缩或解压缩。所以有时该指令还写作tar xzvf或tar -xzvf,效果都是一样的。

1.5 安装各个依赖包

安装netcdf:

cd $DIR/LIBRARIES/netcdf-4.1.3./configure --prefix=$DIR/LIBRARIES/netcdf --disable-dap --disable-netcdf-4 --disable-sharedmakemake install

注意,./configure->make->make install是安装软件包的通用方法, --prefix参数指定安装路径,make进行源代码编译,make install将将编译好的代码移动到安装路径中,即进行安装
netcdf安装成功
netcdf的make install的成功提示

添加路径:

export PATH=$DIR/LIBRARIES/netcdf/bin:$PATHexport NETCDF=$DIR/LIBRARIES/netcdf

这里 PATH=二进制文件路径:$PATH 就将相应软件的路径添加到PATH变量的左侧,从而可以让系统找到相应的指令。如果只是在命令行里使用export添加路径,这个路径只会生效一次,下次登陆时会失效。因此,这些export指令往往需要写在.bashrc中,这个文件会储存用户的个性化设置,并在Linux启动时自动加载所有指令。为了使路径永久生效,你可以将本文所有的export指令添加到.bashrc中。

输入 vi ~/.bashrc 就可以编辑该文件。这里的“.”表示隐藏文件,因此你在家目录(即/home/xxx,前面的波浪线就代表这个目录)下使用ls指令不会显示该文件,必须输入 ls -a 才可以看见。

vi是Linux下的文本编辑器,按i键可以进入编辑模式,这时你可以自由地进行编辑;按esc退出编辑模式,之后输入:q可退出,如果你已经修改了文件内容则需要输入:wq保存并退出或输入:q!强制退出不保存。修改后的.bashrc不会立即生效,还需要输入 source ~/.bashrc 使其生效,或者重启Linux。

安装mpich:

cd $DIR/LIBRARIES/mpich-3.0.4./configure --prefix=$DIR/LIBRARIES/mpichmakemake install

添加路径:

export PATH=$DIR/LIBRARIES/mpich/bin:$PATH

安装zlib:

cd $DIR/LIBRARIES/zlib-1.2.7./configure --prefix=$DIR/LIBRARIES/grib2makemake install

安装libpng:

cd $DIR/LIBRARIES/libpng-1.2.50./configure --prefix=$DIR/LIBRARIES/grib2makemake install

安装jasper:

cd $DIR/LIBRARIES/jasper-1.900.1./configure --prefix=$DIR/LIBRARIES/grib2makemake install

添加路径:

export JASPERLIB=$DIR/LIBRARIES/grib2/libexport JASPERINC=$DIR/LIBRARIES/grib2/includeexport LDFLAGS=-L$DIR/LIBRARIES/grib2/libexport CPPFLAGS=-I$DIR/LIBRARIES/grib2/include

1.6 兼容性测试,下载测试包并解压

cd $DIR/TESTSwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_NETCDF_MPI_tests.tartar xvf Fortran_C_NETCDF_MPI_tests.tar

进行测试:

cp ${NETCDF}/include/netcdf.inc .gfortran -c 01_fortran+c+netcdf_f.fgcc -c 01_fortran+c+netcdf_c.cgfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf./a.outcp ${NETCDF}/include/netcdf.inc .mpif90 -c 02_fortran+c+netcdf+mpi_f.fmpicc -c 02_fortran+c+netcdf+mpi_c.cmpif90 02_fortran+c+netcdf+mpi_f.o 02_fortran+c+netcdf+mpi_c.o -L${NETCDF}/lib -lnetcdff -lnetcdfmpirun ./a.out

一共有两项测试,分别测试刚刚安装的netcdf和mpich,均显示SUCCESS则表示成功
兼容性测试成功

1.7 下载WPS和WRF

cd $DIRgit clone --recurse-submodules https://GitHub.com/wrf-model/WRF#或者较旧的版本(不推荐)#git clone https://github.com/wrf-model/WRF#或者更老的版本(不推荐)#wget https://www2.mmm.ucar.edu/wrf/src/WRFV4.0.TAR.gzgit clone https://github.com/wrf-model/WPS

编译WRF

cd $DIR/WRF./configure./compile em_real

如果在$DIR/WRF/run 或 $DIR/WRF/test/em_real下成功生成四个exe文件,则表示安装成功
WRF成功

编译WPS

cd $DIR/WPS./configure./compile

如果在$DIR/WPS下成功生成三个exe文件,则表示安装成功。一定要注意,必须先成功编译WRF,才能编译WPS,顺序不能颠倒。
WPS成功

在WRF和WPS的./configure时会让你选择编译器和并行方式。最右侧一列为编译器,一般而言Intel编译器的效率比较高,但如果你没有,就只能选GUN了。并行方式有四种:serial(串行,即非并行)、smpar(内存共享并行)、dmpar(分布式并行)、dm+sm(同时使用dmpar和smpar),请根据你自己服务器的情况进行选择。
WRF配置
WRF的./configure,我的服务器上选择34

WPS配置
WPS的./configure,我的服务器上选择3

1.8 其他的需要的数据

要运行WPS和WRF,你还需要下载地表静态数据和驱动场数据,地表静态数据包含了地形、土壤类型等信息,分为Mandatory Static Data、Static Data for Specific Applications和Optional Static Data,如果没有特殊需要只下载Mandatory的即可,根据你的需求选择低分辨率或高分辨率;驱动场数据提供了模式的输入场,它本质上是一类再分析数据,因此有时也可以当作观测数据。不同机构提供了不同的输入场,可能会有一些细微的差别。你可以从WRF官网上下载,也可以去相应机构的官网上下载(比如本文就给出了ECMWF的ERA5数据,这也是公认的做得比较好的再分析数据)。

地表静态数据:
http://www2.mmm.ucar.edu/wrf/users/download/get_sources_wps_geog.html

输入场:
https://www2.mmm.ucar.edu/wrf/users/download/free_data.html
https://cds.climate.copernicus.eu/cdsapp

netcdf-c和netcdf-fortran的安装(可选)

为了简便,上面使用的netcdf版本为4.1.3版。4.2版本以后netcdf-c和netcdf-fortran开始分开,需要分别进行安装。如果你想安装高版本的netcdf,则参考以下教程:

cd $DIR/LIBRARIESwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/netcdf-c-4.7.2.tar.gzwget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/netcdf-fortran-4.5.2.tar.gztar xvf netcdf-c-4.7.2.tar.gztar xvf netcdf-fortran-4.5.2.tar.gz

安装netcdf-c:

cd $DIR/LIBRARIES/netcdf-c-4.7.2./configure --prefix=$DIR/LIBRARIES/netcdf --disable-dap --disable-netcdf-4 --disable-sharedmakemake install

添加路径:

export PATH=$DIR/LIBRARIES/netcdf/bin:$PATHexport NETCDF=$DIR/LIBRARIES/netcdf

安装netcdf-fortran:

cd $DIR/LIBRARIES/netcdf-fortran-4.5.2./configure --prefix=$DIR/LIBRARIES/netcdf --disable-shared LIBS="-lnetcdf -lz" LDFLAGS="-L$DIR/LIBRARIES/netcdf/lib" CPPFLAGS="-I$DIR/LIBRARIES/netcdf/include"makemake install

注意,必须先成功安装netcdf-c,才能安装netcdf-fortran,顺序不能颠倒。netcdf安装成功后,其他的mpich、zlib、libpng、jasper依赖包参照之前的教程安装。
如果你没有设定上述的一些参数,却依然可以正常安装,也不必担心,这说明你的软件包可以找到正确的路径。或者,你通过其他的一些教程安装成功,也是可以的。重点是能成功地进行安装,而不是用何种方法进行安装。

安装过程中可能遇到的问题

你在上面的安装过程中,可能遇到各种各样的问题,这里我们列举几个常见的问题以及它们的解决方法。
问题1 ./configure时权限不足 Permission denied
解决 用sudo,如:

sudo ./configure

问题2 mpich安装不成功The selected Fortran 90 compiler gfortran does not work with the selected Fortran 77 compiler gfortran.
解决 mpich的版本过低,考虑安装最新版mpich或降级gfortran(10以下)

问题3 netcdf在./configure时报错curl configure: error: curl required for byte range support. Install curl or build without --enable-byterange.
解决 根据提示,安装curl库

sudo apt-get install libcurl-dev

或者使用–disable-byterange参数

./configure --prefix=$DIR/LIBRARIES/netcdf --disable-byterange

问题4 netcdf、mpich等在./configure时使用了错误的编译器,比如你在配置过程中频繁出现conda的gcc_linux-64
解决 请设置CC、FC等:

./configure --prefix=$DIR/LIBRARIES/netcdf --disable-dap --disable-netcdf-4 --disable-shared CC=gcc CXX=g++ FC=gfortran FCFLAGS=-m64 F77=gfortran F90=gfortran FFLAGS=-m64

比如,这里的CC=gcc就指定了C编译器为默认的gcc,如果希望使用其他路径的gcc就要写为CC=xxx/gcc或调整PATH的优先顺序。所有这一些参数要和./configure写在同一行,后面安装netcdf-fortran时的CPPFLAGS、LDFLAGS也是同理,不要分行写

问题5.1 netcdf-fortran在./configure时报错configure: error: C compiler cannot create executables
问题5.2 libpng在./configure时报错configure: error: zlib not installed
解决 这两个错误都是找不到zlib库而无法链接-lz导致的。有些服务器配置比较完善,自带zlib的环境,因此不会出现该错误;而有些服务器则不行。如果出现此类错误,请遵循以下方法:

  1. 先根据本教程安装zlib
  2. 在进行netcdf-fortran的./configure时,输入:
./configure --prefix=$DIR/LIBRARIES/netcdf --disable-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"
  1. 在进行libpng的./configure时,输入:
./configure --prefix=$DIR/LIBRARIES/grib2 LDFLAGS=-L$DIR/LIBRARIES/grib2/lib CPPFLAGS=-I$DIR/LIBRARIES/grib2/include

此外,还请仔细检查你的$DIR和参数设置是否正确,切勿输错
问题5.1错误
问题5.2错误
总而言之,netcdf-fortran的安装可能是问题出现最多的环节之一。如果你有什么难以解决的问题,或者有什么补充建议,欢迎在评论区下方提出。

问题6 jasper在Darwin内核安装失败
解决 请参考Mac的WRF安装教程

问题7 WRF编译时出现问题 /mnt/c/windows/System32/cmd.exe/ifort: Not a directory.
解决 显然你没有Intel编译器,请在./configure时选择GUN编译器,如果想使用Intel编译器请自行安装
问题7错误

问题8 WRF编译时出现问题Error Error Error NoahMP submodule files not populating WRF directories
解决 考虑下载最新版WRF,即添加–recurse-submodules参数

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

问题8错误

问题9 WRF和WPS在./configure时不断刷屏
解决 重启你的shell,所谓Shell就是你的操作界面

当然,不同计算机的情况不同,遇到的问题更会是花样百出。安装WRF时可能出现的问题远不止这些,本文不可能全部列举出来。如果你遇到的问题在本文中没有提到,不要灰心,请仔细查看错误信息,弄清楚导致错误的原因,根据提示解决问题或者去网上搜索问题的解决方法。

2. WRF的运行

WRF的官方教程网址在这:https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.4/contents.html
请仔细阅读该教程,尤其是第3章和第5章,其中详细地介绍了WPS和WRF的各种技术细节,本文只是简单介绍一些入门级的基础,想要进一步了解并熟悉WRF请务必阅读官方教程。

2.1 WPS和WRF运行的基本流程

WPS(WRF Preprocessing System)是WRF的前处理系统,WRF是数值计算程序,因此我们需要先运行WPS,再运行WRF,整体的流程如下所示(以ERA5输入场为例)。
运行WPS:

cd $DIR/WPS#修改你的namelist.wps,这是你的主要工作之一vi namelist.wps#处理静态网格,生成geo_em*,这里的*表示通配符./geogrid.exe#链接变量表ln -sf ungrib/Variable_Tables/Vtable.ERA-interim.pl Vtable#导入输入场,会生成GRIBFILE*链接文件./link_grib ../DATA/era5*.grib#“解构”grib文件,生成中间文件,中间文件的前缀可自定义,默认为FILE*./ungrib.exe#整合中间文件,生成气象场数据met_em*./metgrid.exe

上面提到的Vtable为变量表,不同的输入场资料使用的Vtable不同。你可以用vi浏览一下这个表的内容,可以发现每一个变量都对应一个数字,这个数字就是grib文件的变量代号,ungrib.exe正是通过这个代号来确定变量的。nc格式的文件不能进行ungrib.exe,需要转化格式。CDS官网上的ERA5 single levels和pressure levels有许多变量,如果不知道需要下载哪些变量作为输入场,也可以参考这个表。
变量表示例

运行WRF:

cd $DIR/WRF/test/em_real#修改你的namelist.input,这是你的主要工作之一vi namelist.input#将WPS生成的met_em*链接过来ln -s ../../../WPS/met_em* ./#生成wrfinput*(初始条件)和wrfbdy*(边界条件)./real.exe#进行数值积分,这里&表示后台运行./wrf.exe &

在rsl.error.0000中你可以查看运行过程和错误信息,如果显示wrf: SUCCESS COMPLETE WRF,那么恭喜你运行成功,并且目录下生成的wrfout*文件就是输出结果。如果你感觉运行速度太慢,可以使用并行计算,需要注意的是,wrf.exe和metgrid.exe可以使用并行计算;ungrib.exe不能使用并行计算;real.exe理论上可以使用并行,但实际测试发现它的并行会出现一些问题,因此不建议使用并行计算;geogrid.exe处理时间很短,一般不需要使用并行计算。

2.2 namelist的设定

下面我们给出namelist.wps和namelist.input一些常用参数的简介,详细的内容请参考官网教程。
如果你想设置一层嵌套网格,则需要在namelist中用两列参数值分别给出母网格和嵌套网格的信息,列与列之间用逗号分隔;多层嵌套同理;如果你不想使用嵌套,使用一列参数值即可。

namelist.wps
&share
wrf_coreWRF的框架,WRF可分为ARW(用于科学研究)和NMM(用于业务预报),两种,我们使用的是WRF-ARW,这里选’ARW’即可
max_dom网格(模拟域)总数
start_date end_date输入场数据起止时间
interval_seconds输入场数据间隔时间(时间分辨率),单位秒
&geogrid
parent_id嵌套网格的母网格编号,最外层网格设为1即可
parent_grid_ratio母网格与嵌套网格的格距比,最外层网格设为1
i_parent_start j_parent_start嵌套网格在母网格中的起始位置,最外层网格设为1即可
s_we s_sn东西、南北方向起始格点索引值,默认为1
e_we e_sn东西、南北方向终止格点索引值,一般也就是你的总格点数
dx dy东西(x)、南北(y)方向格距,单位米,不过WRF不支持矩形网格,这里这两个必须设为相同值
ref_lat ref_lon模拟域的中心经纬度
map_proj地图投影,常见的投影有兰勃特投影(更适用于中纬)、墨卡托投影(更适用于低纬)、极射赤面投影(更适用于高纬)、等距圆柱投影(绘图常用)等,具体请学习地图投影的相关知识,参考https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.4/users_guide_chap3.html
truelat1 truelat2投影的标准纬度,投影平面与地球上纬线长度相同的纬度,即投影面与地球相切或相割处的纬度
stand_lon垂直参考经度,见后图
geog_data_path地表静态数据的目录位置
&ungrib
out_fORMat中间文件的格式,这里选’WPS’即可,参考https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.4/users_guide_chap3.html
prefix中间文件前缀
&metgrid
fg_name要读取的中间文件的前缀,供metgrid.exe识别
io_form_metgridmet_em*文件格式,默认为2(nc格式)
namelist.input
&time_control
start_year start_month start_day start_hours start_minute start_secondWRF模拟的起始时间(年月日时分秒)
end_year end_month end_day end_hours end_minute end_secondWRF模拟的起始时间(年月日时分秒),我们的WRF-ARW只是用于做模型的研究的,而不能做业务预报,因此该时间范围不能超出输入场的时间范围
run_days run_hours run_minutes run_secondsWRF模拟运行(日时分秒),其实只要设定了起止时间这些可以不设
interval_seconds设为与namelist.wps相同即可
history_intervalWRF输出结果的时间间隔,单位分钟
frames_per_outfile每个WRF输出文件中有几条时间记录
restart是否启用断点重启
restart_interval每隔多长时间生成一个重启文件,单位分钟,设为0则不生成重启文件
iofields_filename控制输出变量,参考https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.4/users_guide_chap5.html
&domains
time_step time_step_fract_num time_step_fract_den时间积分步长(整数分子分母),单位秒
e_we e_sn e_verte_vert为垂直方向终止格点索引值,其他同namelist.wps
p_top_requested模式顶气压值,单位Pa
num_metgrid_levels num_metgrid_soil_levelsmet_em*文件的垂直层数和土壤层数,可以用ncdump -h或ncl_filedump命令查看
max_dom dx dy grid_id parent_id i_parent_start j_parent_startgrid_id为网格区域的编号,其他同namelist.wps
parent_grid_ratio parent_time_step_ratioparent_time_step_ratio为母网格与嵌套网格的时间积分步长比,最外层网格设为1
&physics
mp_physics微物理过程方案
cu_physics cudt积云参数化方案和积云方案调用时间间隔
ra_lw_physics ra_sw_physics radt长短波辐射方案和辐射方案调用时间间隔
bl_pbl_physics bldt边界层方案和边界层方案调用时间间隔
sf_sfclay_physics近地面层方案
sf_surface_physics陆面过程方案

标准经度示例

stand_lon分别设为102和108时的模拟区域,可见标准经度设为多少,哪一条经线就是“竖直”的,这两张图是用WPS自带的工具绘制的,位置在$DIR/WPS/util/plotgrids_new.ncl

运行过程中可能遇到的问题

你在WPS和WRF的运行过程中,可能遇到各种各样的问题,这里我们同样列举几个常见的问题以及它们的解决方法。如果本文的教程不能解决你的问题,请去网上搜索解决方法。
有一类问题是用户设置错误导致的,比如下面两个错误,分别是边界层方案和近地面方案不匹配以及模式顶气压设置过低(模式顶过高),你只需要根据提示修改相应的参数即可。
第一类错误

还有一类问题属于模型自身的问题,比如下面这个SSiB陆面方案,它的设置相对复杂,容易出现错误。如果你并非想专门地深入研究该方案,就请放弃使用该方案,换一个其他的可运行的陆面方案即可。这两类问题我们不过多讨论,下面我们看几个常见的特殊错误。
第二类错误

问题1 运行ungrib.exe出错:
\tI was expecting a Grib1 file, but this is a Grib2 file.
\tIt is possible this is because your GRIBFILE.XXX files
\tare not all of the same type.
\tWPS can handle both file types, but a separate ungrib
\tjob must be run for each Grib type.\n
解决 检查你的输入场grib文件。你在下载ERA5数据作为土壤地表近地面输入场时,应该下载ERA5 single levels而不是ERA5-Land。

问题2 运行wrf.exe出错:not enough info for a p sfc computation
解决 你的输入场缺失某些地表气压,请仔细检查输入场数据的完整性
问题2错误

问题3 运行wrf.exe时,出现内存错误:
Backtrace for this error:
#0 0x2ba24472eb9a in ???
解决 可能是你的时间积分步长设置过大,导致溢出。一般而言,数值计算的时间步长和空间步长需要匹配,即前者是后者的3~6倍(s/km),比如你的格距dxdy为10000m,时间步长time_step就要设为60s。
问题3错误
*注:在WRF较新的版本中,会直接提示时间步长过大
问题3错误新

问题4 运行wrf.exe出错:the domain size is too small for this many processors, or the decomposition aspect ratio is poor.
解决 使用的并行数太多,减少一些
问题4错误

问题5 运行wrf.exe出错:not enough eta levels to reach p_top
解决 模式层数太少,请增大e_vert值
问题5错误

3. 前后处理工具

3.1 NCL

NCL(NCAR Command Language)是由美国大气研究中心(NCAR)开发的专门设计用于科学资料分析、科学数据处理以及科学数据可视化的一门解释型高级语言。常用在气象数据的处理和可视化上。
NCL官方网站:https://www.ncl.ucar.edu/

3.2 python(+Matplotlib+Cartopy+Jupyter)(推荐)

众所周知,Python是一门很火的高级程序设计语言,也是当今主流编程语言之一。Matplotlib是Python的绘图库,与Cartopy包一起可以绘制许多精美的气象分析图,尤其再结合Jupyter Notebook可以随时保存结果,功能十分强大。NCL固然方便,但其开放性和发展性依然是远不及Python的。
Matplotlib官方示例:https://matplotlib.org/stable/tutorials/index.html
Cartopy官方示例:https://scitools.org.uk/cartopy/docs/latest/gallery/index.html
NCL和Python演示

NCL和Python绘制的云南地区ERA5的2m温度分布

3.3 WRF Domain Wizard(推荐)

在设置namelist.wps时,一个首要问题就是确定模拟区域。你当然可以使用WPS自带的plotgrids_new.ncl绘制模拟域,但下面的WRF Domain Wizard软件更加方便,只需要轻轻几点,就可以框选出模拟区域,并确定参数信息。
官方下载地址:https://www.esrl.noaa.gov/gsd/wrfportal/DomainWizard.html
WRF Domain Wizard界面

3.4 CDO(推荐)

CDO(Climate Data Operators)是一款功能极其强大的操作十分方便的通过命令行进行气象数据处理与分析的软件。它提供了700余个单独的操作符,可进行一系列的气象数据相关的操作。利用CDO,你可以对WRF的输出结果进行合并、插值、变量提取等一系列处理,十分便捷。
官方教程:https://code.mpimet.mpg.de/projects/cdo/wiki
几个常用的CDO指令:

#双线性插值cdo remapbil,r360x180 infile outfile#合并时间cdo mergetime infile(s) outfile#提取WRF变量2m温度cdo select,name=T2 wrfout* outfile#提取WRF变量2m相对湿度cdo -b F32 -expr,'RH2=(Q2*PSFC)/(380.4*exp(17.27*(T2-273.15)/(T2-35.85)))*100' -select,name=Q2,PSFC,T2 wrfout* outfile#提取WRF变量降水cdo -deltat -expr,'PR=RAINNC+RAINC' -select,name=RAINNC,RAINC wrfout* outfile

来源地址:https://blog.csdn.net/ME1010/article/details/129914778

--结束END--

本文标题: WRF安装和运行的技术教程

本文链接: https://lsjlt.com/news/400532.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • WRF安装和运行的技术教程
    声明1 本教程完全免费,请勿进行商业化 声明2 时间仓促,如果有错误或不足之处,欢迎批评指正 快速导航 1. WRF的安装1.1 检验和安装基础包1.2 WRF安装的目录结构1.3 测试编译器...
    99+
    2023-09-08
    linux 服务器
  • jmeter 在linux服务器的安装和运行教程图解
    linux环境下使用就meter进行压力测试: 1.linux环境部署:在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.tar.gz为例: 下载地址:http://www.oracle...
    99+
    2022-06-04
    jmeter linux 运行 linux jmeter安装
  • nodejs教程之环境安装及运行
    让nodeJS跑起来 第一步当然是安装nodeJS环境了,现在windows安装nodeJS比较快了,直接下载即可: http://www.nodejs.org/download/ 这里根据需要下载,下载完...
    99+
    2022-06-04
    环境 教程 nodejs
  • Win8 Hyper-V 安装运行Ubuntu图文教程
    如今Windows 8操作系统中内置了最新的Hyper-V 3.0,让用户可以很容易的就安装,我在之前的文章《Windows 8中如何安装Hyper-V》中已经介绍了如何在Windows 8中安全Hyper...
    99+
    2022-06-04
    图文 教程 Hyper
  • Anaconda、PyTorch和PyCharm安装教程,以及PyCharm工程创建与运行
    本文介绍基于Anaconda环境以及PyCharm软件结合,安装PyTorch深度学习框架教程。 目录 一、anaconda安装 (一)下载 (二)安装 (三)配置环境变量 (四)检查安装结果 二、PyTorch安装 (一)创建虚拟环境 (...
    99+
    2023-08-31
    pytorch pycharm python 深度学习
  • 没有安装Python的电脑运行Python代码教程
    目录导语正文如果有问题看下面:总结导语 这篇文章是我之前很想写的,但是拖到了今天! 咳咳咳......主要是有粉丝让我安排一下!宠粉.jpg 很多新手小伙伴儿是不是经常有这个疑问:...
    99+
    2024-04-02
  • 深度技术w764纯净版系统推荐安装教程
    深度技术系统是很多人都非常熟悉的,下面和大家分享的是深度技术win7 64位纯净版系统的安装方法,不会的小伙伴不要错过了。1、打开下载的最新win7纯净版64位系统镜像文件,右击选择解压。2、然后我们双击“setup.exe”。3、点击“安...
    99+
    2023-07-12
  • 技术员联盟win10系统下载安装实例教程
    在ghostwin10系统版本号中,许多小伙伴们强烈推荐应用技术员联盟win10系统,体现是更为纯粹实用.那麼怎么下载安装技术员联盟win10系统呢下边就教下大伙儿技术员联盟win10系统下载安装实例教程.技术员联盟win10系统下载Win...
    99+
    2023-07-13
  • 教你win7系统下载64位深度技术U盘安装教程
    如今,安装win7系统的途径变得更加多样化了,而使用u盘安装win7系统的方式也变得非常方便实用了。不过有些电脑新手不知道该如何安装win7系统,下面小编给大家演示下win7系统下载64位深度技术U盘安装教程。我们可以借助装机吧工具实现,具...
    99+
    2023-07-14
  • 在 macOS 上运行 iOS 程序的辅助软件:playcover安装教程
    PlayCover是一套完整的在 macOS 上运行 iOS 程序的辅助软件,PlayCover能够非常方便地在 M1 Mac 上面通过解密的 IPA 来安装 iOS 应用;有着完整的键盘快捷键映射和鼠标操作映射,且支持快捷键映射导出导入。...
    99+
    2023-10-23
    macos ios
  • VSCode中安装运行、编写C语言程序的详细教程
    目录1.下载 安装VS Code2.安装VS code中2个插件3.下载mingb644.配置系统的环境变量5.C语言配置6.编写一个测试程序1.下载 安装VS Code 去官网下载...
    99+
    2023-03-13
    VS Code 编写运行C语言程序 VS Code 编写C语言程序
  • win7系统下载64位深度技术U盘安装教程
    win7系统下载64位深度技术U盘安装教程,如今U盘重装技术可谓是非常之方便快捷,win7系统也是大家非常喜爱的系统之一,那么win7系统下载地址在哪里?另外win764位深度技术U盘安装教程又是什么?大家比较困惑,所以接下来教大家win7...
    99+
    2023-07-10
  • Docker安装运行SRS的过程记录
    目录简介一、window10安装Docker二、Docker安装centos7简介 SRS 简介 SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。S...
    99+
    2024-04-02
  • Jupyter的安装和使用教程
    这篇文章主要介绍“Jupyter的安装和使用教程”,在日常操作中,相信很多人在Jupyter的安装和使用教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jupyter的安装和使用教程”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • 深度技术win7系统纯净版64位下载安装教程
    深度系统是比较受用户欢迎的操作系统,深度系统安装非常简单,安装后会自动执行激活操作,并自动安装好大部分的驱动,省时省心。有用户在系统城下载了深度技术win7 64位纯净版,但是不知道怎么安装,下面小编以硬盘安装为例,跟大家介绍深度win7 ...
    99+
    2023-07-14
  • 如何解析Java运行环境的安装和配置及运行
    这期内容当中小编将会给大家带来有关如何解析Java运行环境的安装和配置及运行,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JRE为JavaRunTimeEnvirment的简称,Java运行环境(包括Ja...
    99+
    2023-06-17
  • Android Studio 3.6安装全过程及AVD安装运行
    1、安装JDK1.7以上版本,Android Studio集成开发环境 (1) 安装并检查JDK1.8,如图1.1所示 图1.1 配置完成的验证 (2) 开始安装Androi...
    99+
    2022-06-06
    Android Studio AVD安装 studio 运行 安装 Android
  • 在Win8/Win8.1系统下安装运行SQL Server 2005图文教程
      按正常情况,在Win8/Win8.1系统下安装微软的SQL Server 2005套件会存在兼容问题,即使安装完,最后的结果就是导致其服务项无法正常启动。   如果用户创建使用的项目非要按照SQL Se...
    99+
    2022-06-04
    图文 教程 系统
  • MySQL中的数据加密解密安全技术教程
    目录概述mysql中的数据加密技术1. 哈希函数2. 对称加密3. 非对称加密4. 数据库加密数据加密AES_ENCRYPT和解密AES_DECRYPT示例数据加密数据解密SHA2哈希加密将密码与加密盐进行组合,并进行哈...
    99+
    2024-01-29
    MySQL 加密 解密
  • 【Java】Eclipse的安装和JDK的安装与配置教程
    Java是能够跨越多平台的、可移植性高的一种面向对象的编程语言,其简单易学、功能强大,越来越多的程序员喜欢加入Java的阵营之中。 一、前言 Java具有以下功能特点: 跨平台性:Java程序...
    99+
    2023-10-21
    java eclipse jvm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作