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

2024-03-16 11:04

本文主要是介绍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'
# 注意最后一行位置

得到:

# 生成静态数据
./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

这篇关于WRF模型运行教程(ububtu系统)--III.运行WRF模型(官网案例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815270

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹