当前位置: 首页 > article >正文

WRF模型运行教程(ububtu系统)--III.运行WRF模型(官网案例)

零、创建DATA目录   

# 1.创建一个DATA目录用于存放数据(一般为fnl数据,放在Build_WRF目录下)。
mkdir DATA
# 2.进入 DATA
cd DATA

一、WPS预处理

      在模拟之前先确定模拟域(即模拟范围),并进行数据预处理(插值陆面数据,比如地形,土壤等数据;插值气象数据到模拟域)。

(一)解压GRIB数据(ungrib.exe)

I.解压GRIB数据---GFS(Matthew案例研究数据)

# 1.下载官网案例数据(matthew) 【此处数据可替换自己所需的数据】
wget https://www2.mmm.ucar.edu/wrf/TUTORIAL_DATA/matthew_1deg.tar.gz
# 2.解压数据包
# 得到matthew文件夹
tar -xf matthew_1deg.tar.gz
​
# 【非必要步骤】
​# 3.用下面的命令读取数据内容
# 注意 两个文件路径 g2print.exe、fnl_20161006_00_00.grib2 
../WPS/util/g2print.exe ../DATA/matthew/fnl_20161006_00_00.grib2 >& g2print.log
# 4.用下面的命令查看数据内容
nano g2print.log

g2print.log文件【文件位置:/Build_WRF/DATA/g2print.log】

# 5.进入WPS文件(准备链接数据)
cd ~/Build_WRF/WPS/
# 6.链接GFS Vtable
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
# 7.通过脚本link_grib.csh链接grib数据
./link_grib.csh ~/Build_WRF/DATA/data/fnl

得到:会产生一些链接:GRIBFILE.AAA~GRIBFILE.AAI

文件位置:/Build_WRF/WPS/

8.切换WPS目录且编辑namelist.wps

      文件位置:~/Build_WRF/WPS/namelist.wps
      注意:下面三步都有文件生成,具体名称与使用的动态核心(ARM/NMM)有关。

# 8.编辑namelist.wps
nano namelist.wps
# 需要修改的内容
max_dom = 1
start_date = '2016-10-06_00:00:00',
end_date = '2016-10-08_00:00:00',
interval_seconds = 21600,
prefix = 'FILE',

得到:

9.解压GRIB数据(ungrib.exe)

      在WPS目录下运行:

# 9.解码资料
./ungrib.exe

 得到:生成中间文件FILE:YYYY-MM-DD_HH

# 【非必要步骤】
# 了解中间文件:2016-10-06_00
./util/rd_intermediate.exe FILE:2016-10-06_00

II.解压SST数据---海温资料

# 1.下载官网案例数据(matthew_sst) 【此处数据可替换自己所需的数据】
wget https://www2.mmm.ucar.edu/wrf/TUTORIAL_DATA/matthew_sst.tar.gz
# 2.解压数据包
# 得到matthew_sst文件夹
tar -xf matthew_sst.tar.gz
# 3.进入WPS文件(准备链接数据)
cd ~/Build_WRF/WPS/
# 4.链接GFS Vtable
ln -sf ungrib/Variable_Tables/Vtable.SST Vtable
# 5.通过脚本link_grib.csh链接grib数据
./link_grib.csh ../DATA/matthew_sst/rtg_sst_grb

6.切换WPS目录且编辑namelist.wps
      文件位置:~/Build_WRF/WPS/namelist.wps

# 6.编辑namelist.wps
nano namelist.wps
# 需要修改的内容
prefix = 'SST',

得到:

# 7.解码资料
./ungrib.exe

得到:

(二)设置模式区域(geogrid.exe)

     geogrid.exe:用以确定模拟区域,并将陆面数据插值到模拟区域。     

切换WPS目录且编辑namelist.wps

      文件位置:~/Build_WRF/WPS/namelist.wps

# 编辑namelist.wps(注意:本例中没有进行嵌套,忽略第二行的数值)
nano namelist.wps
# 需要修改的内容
max_dom = 1 
parent_id = 1,
parent_grid_ratio = 1,
i_parent_start = 1,
j_parent_start = 1,
e_we = 91,
e_sn = 100,
geog_data_res = 'default',
dx = 27000,
dy = 27000,
map_proj = 'mercator',
ref_lat = 28.00,
ref_lon = -75.00,
truelat1 = 30.0,
truelat2 = 60.0,
stand_lon = -75.0,
geog_data_path = 'Your WPS_GEOG data location'
# 注意最后一行位置

得到:

# 绘制所设区域,查看是否合理
ncl util/plotgrids.ncl

得到:

注:ncl的安装可参考作者的另一篇文章:Ubuntu 20.04 系统如何优雅地安装NCL?-CSDN博客

# 生成静态数据
./geogrid.exe

      生成文件geo_nmm.d01.nc

得到:

#【非必要】
# 安装ncview
sudo apt install ncview
# 查看nc文件
ncview geo_em.d01.nc

查看结果:

(三)将数据插值到网格点上(metgrid.exe)

      在WPS目录下运行:

# 插值
./metgrid.exe

      生成文件:

二、运行WRF(real.exe & wrf.exe

1、切换至em_real目录

      WRF的操作在em_real目录(运行真实案例)

cd ~/Build_WRF/WRF/test/em_real/

2、链接WPS到WRF

ln -sf ~/Build_WRF/WPS/met_em* .
mpirun -np 1 ./real.exe
ls -alh wrfbdy_d01 wrfinput_d01
# 修改WRF中的namelist.input
nano namelist.input
# 主要修改部分
run_days = 0,
run_hours = 48,
run_minutes = 0,
run_seconds = 0,
start_year = 2016,
start_month = 10,
start_day = 06,
start_hour = 00,
end_year = 2016,
end_month = 10,
end_day = 08,
end_hour = 00,
interval_seconds = 21600
input_from_file = .true.,
history_interval = 180,
frames_per_outfile = 1,
restart = .false.,
restart_interval = 1440,
time_step = 150,
max_dom = 1,
e_we = 91,
e_sn = 100,
e_vert = 45,
num_metgrid_levels = 32
dx = 27000,
dy = 27000,
# 初始化模式:
./real.exe 
# 检查是否生成下面两个文件:
wrfinput_d01
wrfbdy_d01

3、运行WRF

mpirun -np 2 ./wrf.exe

      注意:代码里的2是指2核运行
      此处已经完成,生成的wrf_out文件可以在修改后缀之后直接用python和NCL读取,读取方式类似于NC文件。

三、ARWpost处理数据文件

cd ~/Build_WRF/ARWpost/
./ARWpost.exe

      生成的ctl和dat文件可以用grads处理

参考资料

1.WRF模型安装官方教程icon-default.png?t=N7T8https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php2..WRF官网运行案例-(单域案例 - 飓风马修)icon-default.png?t=N7T8https://www2.mmm.ucar.edu/wrf/OnLineTutorial/CASES/SingleDomain/index.php

3.WRF实例模拟——飓风Matthew(2016)icon-default.png?t=N7T8https://mp.weixin.qq.com/s/v-qrvED6mcJ_VyPC7L9uKg


http://www.kler.cn/a/274436.html

相关文章:

  • 两点间最短距离 - Dijkstra
  • 2.4 libpcap和dpdk的区别
  • 中国新能源汽车公共充电桩数据合集(2002-2023年)
  • CPU性能优化--函数分组
  • jQuery总结(思维导图+二维表+问题)
  • 揭秘区块链隐私黑科技:零知识证明如何改变未来
  • 我的尝试:Codigger + Vim
  • 迷宫问题(c++题解)
  • MQTT建立连接
  • 【C++】每日一题 219 最小栈
  • Leetcode 79. 单词搜索
  • 【进阶五】Python实现SDVRP(需求拆分)常见求解算法——自适应大邻域算法(ALNS)
  • 学习vue3第六节(vue3 中 computed watch watchEffect)
  • 有什么小程序适合个人开发?
  • Aigtek超声功率放大器产品介绍
  • 力扣1. 两数之和
  • 腾讯云服务器多少钱1个月?2024一个月收费阿济格IE吧
  • 数据结构:详解【顺序表】的实现
  • PlantUML Integration 编写短信服务类图
  • 深入挖掘C语言之——枚举
  • Redis数据结构对象中的对象共享、对象的空转时长
  • 【Godot4.2】2D导航01 - AStar2D及其使用方法
  • python企业编码管理的程序(附源码)
  • 微信小程序接口请求出错:request:fail url not in domain list:xxxxx
  • 代码随想录算法训练营第53天 | 1143.最长公共子序列 ,1035.不相交的线 ,53. 最大子序和
  • 5.1.4、【AI技术新纪元:Spring AI解码】Amazon Bedrock