TC工具后台模式_如何用WRF模式模拟台风个例

7a72cde428b6b964c0dc5166a80d5eac.gif

点击上方蓝字,关注我们

小编女神费费同学又出新的干货啦,大家快快端起小板凳来静静聆听。

4fa8722c69b4f967d982da6f9073e825.png

这篇教程主要针对大型机上wrf的安装和运行,所以默认使用并行,并且默认用户下已经安装好相应的库并做好路径配置(netcdf,jasper,zlib等),教程中不提及如何安装这些依赖库以及这些库的路径设置。

一、安装WRF

1. tar -xzv -f WRFV3.TAR.gz
2. cd WRFV3
3. ./configure
#检查环境,软件以及库是否满足wrf安装需求,生成configure.wrf,用于指导下一步的compile,无特殊需求,一般不用修改该文件。
4. ./compile em_real >& compile.log &
# >&(或&>)表示将标准输出和错误输出都重定向至log文件
# &表示后台执行,jobs命令可以查看目前前台和后台正在执行的任务
#compile命令依据configure.wrf以及Makefile进行编译

注:

1. configure步骤中,选择dm(注,需要选择合适的编译器,wrf、wps、netcdf以及其他依赖库都要用同一种编译器编译),模拟TC一般选取vortex moving网格(自移动网格对发展较好的TC模拟较好),static nest的nest网格可输入高分辨率地形数据,但由于nest需要覆盖TC移动全过程,所以计算需求大;移动网格允许nest网格范围较小,计算需求小,但是移动网格使用高分辨率地形数据需要额外的操作步骤,这里略。

2. 如果compile失败,在compile.log中报无法并行编译,则设置环境变量J为'-j 1',即设定compile用的核数为1,默认是2。(如果frame/中没有mpi.h,说明无法进行并行编译,则J设置为"-j 1")

结束后,进入compile.log(或者输入tail compile.log),若最后显示Executables successfully built,则成功生成运行程序ideal.exe, ndown.exe, tc.exe和wrf.exe。如果未成功,搜索“Error”查找问题

二、安装WPS

必须在WRF安装好后安装WPS,因为WPS需要调用WRF中的一些库

1. tar -xzv -f WPSV3.TAR.gz
2. cd WPS
3. ./configure
#检查环境,软件以及库是否满足wps安装需求,生成configure.wps,用于指导下一步的compile,无特殊需求,一般不用修改该文件。
4. ./compile >& compile.log &

注意:

1. configure步骤中,选择dm

2. compile前先修改configure.wps,需要注意的地方如下图:

a)设置正确的WRF路径 

b)设置正确的lib和inc文件路径(一般情况下不用修改,除非compile.log中报相应错误)

147ed469d98f5b73d5c31ae6b17fb7f7.png

如果在WPS/下出现geogrid.exe, ungrib.exe和metgrid.exe,并且有正确的链接指向,则说明WPS安装成功。

至此,运行最简单的real实验所需的东西都安装完成,下面开始正式运行。

三、运行WPS

在进行实际个例(real实验)的wrf运行之前,需要先通过WPS为WRF准备好水平插值到模式网格上的大气和地形数据(met_em.d0*.nc),步骤如下:

1. cd WPS
2. vim namelist.wps
#根据需求修改namelist.wps文件,修改要点见第“四”部分的说明

#geogrid生成静态地理数据
3. ./geogrid.exe &> geogrid.out &

#ungrib解码气象数据,生成中间文件
4. ln -s ungrib/Variable_Tables/Vtable.GFS Vtable #根据输入数据的来源链接合适的解码文件,这里给的例子是链接了GFS的Vtable
5. ./link_grib.csh [气象文件及其路径] #将下载的grib格式的再分析数据软链接到WPS工作目录,生成以GRIBFILE为前缀的软链接
6. ./ungrib.exe &> ungrib.out & #根据GRIBFILE软链接指向的数据生成以FILE为前缀中间文件(前缀名称也可在namelist.wps中修改),注:该中间文件非nc格式

#metgrid将气象数据水平插值到geogrid定义的区域上
7. ./metgrid.exe & #生成同时包含气象和静态地理数据的met_em.d*.nc文件(WRF需要的初始文件)

注意:

1. geogrid.exe参照geogrid/GEOGRID.TBL和namelist.wps的指示运行,ungrib.exe参照Vtable和namelist.wps运行,metgrid.exe参照/metgrid/METGRID.TBL和namelist.wps运行。*.TBL文件中指定水平插值方法以及模式使用的网格(默认为C-grid staggering)等信息

2. met_em*.nc中包含气象信息和静态地理信息。

3. 不同来源的grib2气象数据的模拟效果有较大差异,TC模拟中常用的有GFDL产品、NCEP/GFS(美国全球预报系统)产品(这个好像大家用的比较多,就是传说中的FNL数据),ECMWF确定性或集合预报产品(据说EC的模拟效果好一点,具体没试过也不知道)

4. 除ungrib.exe,其他都可以并行计算。

5. geogrid.log.0000,ungrib.out,metgrid.log.0000中会记录三个exe具体执行的操作。

四、namelist.wps修改注意点

1. TC在中低纬活跃,地图投影选择麦卡托投影或者兰伯特投影。在麦卡托投影下,经度格点是等间距的,纬度格点是不等间距,纬度越高,相同纬度差下长度越长。

2. 一些参数的中文介绍

dbeced94dfcb94ecc771250ae24a34b9.png

3. 模拟区域的设置是项技术活:

(a)对于nest网格,x和y方向格点数,即e_we-s_we+1,必须为3的倍数加1,我猜测这staggering网格有关。 

(b)在设置模拟区域的范围时,以TC最佳路径资料作参考,在设置好namelist.wps之后,可以用工具文件夹util下的plotgrids_new.ncl(依据namelist.wps中的设置)画出模拟区域看区域选取是否合适。此外,对于voetex following nest,设定的子网格位置是子网格初始的位置,之后网格会移动。

(c)可以借助WRFDamainWizard确定模拟区域

4. 最里层网格的分辨率不要高于2km,不然算着算着会崩溃。

5. 在确定模拟时间时,注意世界时和北京时的转换,这里我就吃过亏,看的中文文献里的TC时间,结果模拟时间整个就偏移了。

五、运行WRF

现在有了每6小时的插值到模式水平网格的气象和地理数据,下面就正式进入wrf模块。

1. cd WRFV3
2. cd test/em_real #real实验的工作目录,之后的操作几乎都在这里进行
3. ln -s ../../../WPS/met_em* . #将WPS中生成的数据结果链接到当前工作目录
4. vim namelist.input #修改设置wrf运行的文件,要点见第“六”部分
5. ./real.exe &> real.out & #用来生成wrf主模块的初边界场,注:如果格点较多模拟时长较长的话real.exe也可以提交后台进行并行运算
6. yhbatch -p 所属区块 -N 5 -J wrf wrf.sub #向计算节点提交任务,不同的服务器使用不同的作业管理系统,因此提交任务的方式不同,这里给出的是天河二号的命令,建议向师兄师姐讨教提交任务的方法。
7. yhq #查看计算节点上运行情况

注意:

1. real.exe将met_em.d* 中的数据垂直插值到模式格点上,生成wrf.exe需要的初始场(wrfinput_d01/d02.nc,只包含第一个时次,文件中包含气象信息和地理信息)和边界场(wrfbdy_d01.nc,只有粗网格d01有边界场,nest网格没有边界场文件,此外边界文件中仅包含气象信息,且比met_em*.nc少最后一个时次)

五、namelist.input修改注意点

1. 时间设置

input_from_file用于设置是否读入wrfinput_d0*.nc数据,对于moving nest该项通常设置为.false.(这一条不是很确定,如果错误,望大神指正)

26ec574b139e6eff0630832f41b27c4a.png

2. 自移动网格相关的设置

468347ed302572a44de259f93d9e24ce.png

用来设置nest网格移动的参数,例如track_level指的是在哪一层上追踪TC位置,默认是500hPa,建议设置的稍微低一点,比如700hPa。参数的设置需要自己多多探索,或者向有经验的同行请教。

六、后处理

1. wrf运行结束后,在em_real目录下生成wrfout_d*.nc结果文件,这个就是最终的结果啦。

2. 此外,自移动网格模拟下,模式还会向标准输出文件rsl.out.0000输出TC中心,10m最大风速和最低海表面气压的信息,可以用来分析路径模拟情况等等。在rsl.out.0000中以ATCF为标记,用以下命令将TC信息提取到文件中。

grep ATCF rsl.out.0000 > ATCF.out

3. 建议在工作目录下新建一个结果目录,用来备份模拟结果(wrfout*)和设置文件(namelist.wps以及namelist.input),以防下一次模拟的结果对上一次的结果进行覆盖。

4. 画图可参照wrf官网给出的脚本

本篇教程只讲解了TC个例最简单的模拟步骤,还没有加入资料同化,台风初始化,谱逼近等等等等等等,本人也是wrf模式新手一只,上面有一些地方可能有问题,望大家指正。

cc3664c7a6d1375803668e62c56af006.png
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值