点击上方蓝字,关注我们

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

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

一、安装WRF

1. tar -xzv -f WRFV3.TAR.gz2. cd WRFV33. ./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.gz2. cd WPS3. ./configure    #检查环境,软件以及库是否满足wps安装需求,生成configure.wps,用于指导下一步的compile,无特殊需求,一般不用修改该文件。4. ./compile >& compile.log &

注意:

1. configure步骤中,选择dm

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

a)设置正确的WRF路径

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

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

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

三、运行WPS

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

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

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

#ungrib解码气象数据,生成中间文件4. ln -s ungrib/Variable_Tables/Vtable.GFS Vtable    #根据输入数据的来源链接合适的解码文件,这里给的例子是链接了GFS的Vtable5. ./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. 一些参数的中文介绍

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 WRFV32. 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.(这一条不是很确定,如果错误,望大神指正)

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

用来设置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模式新手一只,上面有一些地方可能有问题,望大家指正。

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

  1. 【气象数值模式及其数据处理】WRF模式与Python融合

    当今从事气象及其周边相关领域的人员,常会涉及气象数值模式及其数据处理,无论是作为业务预报的手段.还是作为科研工具,气象数值模式与高效前后处理语言是一件非常重要的技能. WRF作为中尺度气象数值模式的佼 ...

  2. 小米6怎么解除温控_小米6性能模式_小米6性能模式怎么关

    小米6性能模式怎么关_小米手机6_MIUI论坛 1080x1920 - 201KB - PNG 小米6性能模式没了 720x1280 - 32KB - JPEG 小米6怎么没有性能模式了_开发者交流_ ...

  3. mysql关系模式_数据库学习--关系模式

    最近开始做数据库的大实验,其中有一条实验要求如下: 通过网络查找相关文献并参考所给资料进行需求分析,画出系统的 E-R 图,给出实体或联系的属性,标明联系的种类,并写出关系模式. 画ER图没有什么问题 ...

  4. java 桥接模式_《JAVA与模式》之桥接模式

    桥接模式是一种结构型模式,它主要应对的是:由于实际的需要,某个类具有两个或两个以上的维度变化,如果只是用继承将无法实现这种需要,或者使得设计变得相当臃肿. 桥接模式的做法是把变化部分抽象出来,使变化部 ...

  5. java严格模式_“use strict” 严格模式使用(前端基础系列)

    ECMAscript5添加一种严格模式的运行模式("use strict"),让你的js语句在更加严格的环境下进行运行: 一.主要作用: 消除版本javascript中一些不合理及 ...

  6. 组合模式_[设计模式]10.组合模式

    组合模式,也叫"部分整体模式",它把相似的对象组合成树形结构的一个整体.于是,只需一个代表,我们就能继续访问与之相关的同族对象. 模式卡片 模式UML图 七个例子 部门里人很多,大 ...

  7. mysql属于数据库三级模式_数据库系统的三级模式指的是什么

    数据库系统的三级模式指的是什么 发布时间:2020-10-26 10:11:21 来源:亿速云 阅读:52 作者:小新 小编给大家分享一下数据库系统的三级模式指的是什么,希望大家阅读完这篇文章后大所收 ...

  8. 抽象工厂模式_设计模式——抽象工厂模式

    阅读目录 使用频率:★★★★★ 一.什么是抽象工厂模式 二.补充说明 三.角色 四.例子 使用频率:★★★★★ 一.什么是抽象工厂模式 就是对一组具有相同主题的工厂进行封装(维基百科解释的很到位): ...

  9. java单例模式恶汉模式_单例模式之懒汉模式恶汉模式

    单例模式,其实就是对于一个类,只能新建一个对象,不能有多个重复的对象.这样使得在程序在运行时,比如日志加载时能找到唯一的对象,以至正确匹配.就类似于一山不能有二虎一样.主要的思想其实就是运用stati ...

最新文章

  1. STL系列:关联容器的操作
  2. 女孩子狠起来可以多可怕?
  3. leetcode1233. 删除子文件夹
  4. 1057: [ZJOI2007]棋盘制作 - BZOJ
  5. 手游产品经理初探(三)产品中的玩家行为
  6. 使用gdb进行调试入门篇
  7. 网络编程之OSI七层协议
  8. 如何学习微信小程序? 学习微信小程序所需基础
  9. java数组的实例化
  10. pta 7-5 输出2到n之间的全部素数 (15 分)
  11. 那个单位用计算机系统冷却,消防知识100题
  12. 【RFID】天线技术
  13. 渗透测试详解及爱加密加固使用及优势
  14. 告诉你Windows PE 是什么东东?详细介绍一下winpe
  15. AD142A0芯片程序空间资源空间分布的总结
  16. 在网页中调用iOS客户端
  17. 被囊群优化算法(TSA)详解,附源码,直接可以
  18. PC 客户端产品使用场景小解
  19. egg开发笔记(五)egg使用egg-sequelize需要注意的事项
  20. jsx中文是什么牌子口红_口红牌子都有哪些

热门文章

  1. c++求矩阵的秩_线性代数复习(被玩坏的矩阵)
  2. *.bmp序列保存为*.raw文件[matlb实现]
  3. 独立成分分析ICA系列1:意义
  4. 关于我对c#的一些看法
  5. JS中包含其它JS文件
  6. JDBC修改数据库(Object类的应用)
  7. The template root requires exactly one element.
  8. 为了输出“,可以使用如下语句print(“““)————(×)
  9. 显存文本模式详解 ———《x86汇编语言:从实模式到保护模式》读书笔记补遗02
  10. 【⭐C/C++の深入浅出⭐】int数与多枚举值互转