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

相关文章

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方