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

得到:

(三)将数据插值到网格点上(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

      如果mpirun指令报错,可以尝试运行指令(打开mpirun),参照链接三和四

修改WRF中的namelist.input

mpdboot

3、运行WRF

mpirun -np 2 ./wrf.exe

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

三、ARWpost处理数据文件

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

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


关于常见错误mpirun报错,请参考链接三和四
https://blog.csdn.net/tsaiyong_ahnselina/article/details/17754571
https://blog.csdn.net/tsaiyong_ahnselina/article/details/17755113

参考资料

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.mzph.cn/news/748745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker 哲学 - 容器操作

容器: 创建 停止 删除 强制删除(正在运行) run stop rm rm -f 列出本地容器: docker ps / docker container ls 镜像: search pull run : …

Altium Designer怎么设置默认原理图纸张大小

Altium Designer怎么设置默认原理图纸张大小 绘制原理图时我们需要设置好原理图图纸大小,建议大家可以将默认原理图图纸设置为A3,A3图纸大小可以容纳下大部分原理图,这样就不用每次画原理图前去修改图纸大小,可以提高设计效率。 …

java serlvet 高校学生画像平台系统Myeclipse开发mysql数据库web结构java编程计算机网页项目echarts图形展现

一、源码特点 java serlvet 高校学生画像平台系统是一套完善的java web信息管理系统 系统采用serlvetdaobean 模式开发本系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCA…

代码随想录算法训练营第四十八天|动态规划|121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

|121. 买卖股票的最佳时机 文章 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你…

sqllab第三关通关笔记

知识点: 通过回显的信息判断原始语句的组成猜测该语句为 select 1,2,3 from 表名 where id (输入) limit 0,1 首先通过测试判断存在什么类型的sql注入 构造id1/0 发现正常输出;说明是字符型的sql注入 好了,下面就测试有什么限制条件 构造…

AI视频矩阵混剪系统|罐头鱼AI批量混剪定时发送

AI视频矩阵混剪系统:智能创作与发布的完美结合 随着社交媒体平台的快速发展,视频已成为各行业推广和传播的热门方式。然而,对于许多人来说,制作高质量的视频仍然是一项挑战。Q:290615413但现在,有了AI视频矩阵混剪系统…

吴恩达深度学习笔记:神经网络的编程基础2.5-2.8

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.5 导数(Derivatives)2.6 更多的导数例子(More Derivative Examples&…

提升自己最快的方式:《反本能》

今天我们会谈到提升自己最快的方式:“《反本能》”。学者李敖在北大演讲时曾说:“人要实现自由,必须反求诸己,对抗掉自己的本能。”从心所欲,任性而为,人只会被生存惯性牵着鼻子走。只有对抗住本性的诱惑,才不至于沦为自我的奴隶。专栏作家卫蓝就在著作《反本能》中详尽…

前端项目构建过程中的思考落地以及拓展

1统一通用解决方案 1.1主题样式变量色系 root 全局css变量 主题颜色 黑夜白天 或者其他 (pc,app) 1.2图表色系 基础组件 业务组件(pc,app) 大屏后台不同色系 1.3 多入口配置开发 比如 把 大屏 后台混合的 做区分配置(pc,app) 1.4 整体布局 头部菜单 搜索用户 ,菜单导航 ,右边的…

乐观锁与悲观锁

乐观锁和悲观锁是处理数据库并发操作的两种不同策略 乐观锁: 乐观锁的核心思想是“乐观”,它假设在数据处理过程中,冲突发生的概率较低。因此,乐观锁不会在事务开始时就锁定数据,而是在数据提交时检查是否有其他事务…

第二十章 构建和配置 Nginx (UNIX® Linux macOS)

文章目录 第二十章 构建和配置 Nginx (UNIX Linux macOS)Assumptions安装为CSP构建Nginx Web服务器 第二十章 构建和配置 Nginx (UNIX Linux macOS) 本页介绍如何构建和配置 Nginx Web 服务器,以便与 UNIX、Linux 或 macOS 上的 InterSystems Web Gateway 一起使用…

pta-分寝室

目录 输入格式: 输出格式: 输入样例 1: 输出样例 1: 输入样例 2: 输出样例 2: 思路 学校新建了宿舍楼,共有 n 间寝室。等待分配的学生中,有女生 n0​ 位、男生 n1​ 位。所有待…

Android Framework 之 Python

当然可以,我会尽量提供更详细的内容,并增加更多的例子和解释。以下是更详细的Python语言教程: Python语言教程 一、Python简介 Python是一种高级编程语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于…

【快捷部署】002_Flink(1.17.2)

📣【快捷部署系列】002期信息 编号选型版本操作系统部署形式部署模式002Flink1.17.2CentOS 7.Xtgz包单机 👉 演示视频 Flink一键安装(本地模式) install-flink.sh 脚本内容 #!/bin/bash ####变量 ###执行脚本的当前目录 mydir$…

【linux】搜索所有目录和子目录下的包含.git的文件并删除

一、linux命令搜索所有目录和子目录下的包含.git的文件 在Linux系统中,要搜索所有目录和子目录下的包含.git的文件,可以使用find命令。find命令允许指定路径、表达式和操作来查找文件。 以下是使用find命令搜索包含.git的文件的方法: 1. 基…

权衡后台数据库设计中是否使用外键

目录 引言 外键简介 对比 真实后台项目中的权衡 结论 引言 在大学学习数据库课程时,我们会早早的接触到外键这一概念,同时我相信大部分人在懂了外键的概念后都会觉得外键很重要,在涉及多表一定要用,但后来在我接触到真实项目…

oracle基础-子查询 备份

一、什么是子查询 子查询是在SQL语句内的另外一条select语句,也被称为内查询活着内select语句。在select、insert、update、delete命令中允许是一个表达式的地方都可以包含子查询,子查询也可以包含在另一个子查询中。 【例1.1】在Scott模式下&#xff0…

Vue生成Canvas二维码

npm install qrcode在Vue组件中引入QRCode库:import QRCode from qrcode;在Vue组件的methods中创建一个方法来生成二维码: generateQRCode() {const canvas this.$refs.qrCodeCanvas; // 获取canvas DOM元素的引用const text Hello, World!; // 要生成…

JVM理解学习

参考视频 运行时数据区 JVM架构总览图 绿色的:方法区,堆,是所有线程共享的 黄色的: 虚拟机栈,本地方法栈,程序计数器,是线程私有的 程序计数器 程序计数器是一块较小的内存空间,物…

SpringBoot(异常处理)

SpringBoot(异常处理) 1.基本介绍 2.debug异常处理机制 1.找到 DefaultErrorViewResolver 2.下断点 3.debug启动,浏览器输出一个不存在的页面 4.第一次查找 error/404 1.查看目前要找的视图名 2.准备去查找资源 3.准备从四个默认存放静态资…