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

【WRF模拟】如何得到更佳的WRF模拟效果?

【WRF模拟】如何得到更佳的WRF模拟效果?

  • 模型配置(The Model Configuration)
    • 1.1 模拟区域domain设置
    • 1.2 分辨率Resolution (horizontal and vertical)
      • 案例:The Derecho of 29-30 June 2012
    • 1.3 初始化和spin-up预热过程
      • 案例1-有无不透水面积的皮肤温度模拟
      • 案例2:对流旋转-NCAR 3 公里对流运行的示例
    • 1.4 侧边界条件(Lateral Boundary Locations)
    • 1.5 模式层和顶层高度(Model Levels and High Tops)
    • 1.6 复杂地形(Complex Terrain)
    • 1.7 物理参数方案的选择(Physics/dynamics options)
  • 总结
  • 参考

本博客总结WRF官网2021年的培训ppt:Application of WRF: How to Get Better Performance。。

PPT地址-Application of WRF: How to Get Better Performance

模型配置(The Model Configuration)

1.1 模拟区域domain设置

1、如何确定模拟域大小?
模拟区域不能太小,否则模拟结果基本为全球模式侧边界的强迫结果,无法自由发展出模式本身的中小尺度信息,一般网格数不能小于100×100(其中边界网格点不少于10)。

2、侧边界如何确定?

  • 模式区域的边界附近应该避免剧烈的地形变化,例如边界不要设置在青藏高原上。

  • 感兴趣的地区应该尽量设置在domain的中心,避免靠近边界。

模拟域的重要性:
在这里插入图片描述

基于大区域 (a) 和小区域(b) 模拟12小时的250hPa 风 (m/s) ,模拟区域太小则中小尺度过程无法自由发展。 (Warner, 2011)

1.2 分辨率Resolution (horizontal and vertical)

网格分辨率及其影响如下:

dx>10km:需要使用积云对流参数化方案。

10km>dx>5km: 灰色区域(Grey Zone), 是否使用积云对流参数化方案仍没有共识,可以尝试使用GF、MSKF等尺度自适应的积云方案。个人建议分辨率的设置可以避开5~10km。

dx=3km:云解析,也即能显示表达积云的分辨率,此时不需要深对流的积云参数化方案。

dx=100m~1km: 对大部分模拟需要开启行星边界层(PBL)参数化方案,但此时不仅可以关闭深对流积云参数化方案,还可以关闭浅对流的积云参数化方案(当然500m以上还需开启浅对流)。

dx=30m:大涡模拟(large-eddy simulation, LES)所需的分辨率,不需要行星边界层(PBL)参数化方案。湍涡可由模式的显式处理(加上表层和次网格的湍流方案)。平流方案最好使用单调/非osciallaory选项(adv_opt ≥ 2)。

案例:The Derecho of 29-30 June 2012

雷达复合材料反射率(由提供美国国家海洋和大气管理局)
在这里插入图片描述
WRF模拟最大的反射率,DX=3公里,初始化于1200 世界标准时间 29六月
在这里插入图片描述
3 km运行得到的最大风速如下:
在这里插入图片描述
15 km运行得到的最大风速如下:
在这里插入图片描述

1.3 初始化和spin-up预热过程

模拟结果的好坏很大程度取决于初始场(initial condition, IC)的质量。

  • 合适的初始时间
  • 初始场的质量(检查数据质量)
    对初始场数据的质量进行检查,如土地利用数据landuse是否符合实际,如有更高质量的土地利用数据可以进行替换。
    要了解初始场的数据来源,比如初始场来源于预报数据、再分析数据或者气候数据。
  • 模式启动的前几个小时,一般有一个预热过程,动力场和热力场在调整中,气压场会出现“噪音”,前几小时模拟的降雨也基本不可信。

案例1-有无不透水面积的皮肤温度模拟

不透水面积如下:
在这里插入图片描述
模拟得到的皮肤温度结果如下:
在这里插入图片描述

案例2:对流旋转-NCAR 3 公里对流运行的示例

在这里插入图片描述

1.4 侧边界条件(Lateral Boundary Locations)

包括WRF在内的所有区域模式,人为引入的侧边界(LBC)是制约模式性能的一个重要因素。

侧边界可能会导致许多负效果,以下几点可减少或避免侧边界导致的负效果:
1、侧边界尽可能避免强强迫;

2、应使用分辨率一致的输入数据;

3、尽可能使用高时间分辨率的侧边界数据,即3小时间隔比6小间隔更好;

4、应尽可能使用交互边界。
在这里插入图片描述

1.5 模式层和顶层高度(Model Levels and High Tops)

如果模式顶层为50hPa,则模式层最少设置为30层或更多。

如果模式顶层为1hPa(约45~50km),则模式层最少设置为60层或更多。

高于30hPa的部分,臭氧的作用逐渐凸显,辐射方案可选RRTMG或CAM。

对于低于50hPa的部分,垂直网格距dz<1000m。

水平分辨率越高,那么垂直层数应该越大,确保dz<dx,满足大气薄层近似。

1.6 复杂地形(Complex Terrain)

地形过于陡峭(>45°)容易导致模式计算不稳定。
可以进行如下设置增强稳定性:

1、可以在namelist.inputd的domain部分,增大epssm参数,从0.1-0.5甚至更大,对声波进行阻尼,增加模式稳定性。

2、对于大的斜坡地形,设置diff_opt=2。

3、对于3.6及其以后的版本,可以同时设置diff_opt=2和km_opt=4以增强模式稳定性。
在这里插入图片描述
在这里插入图片描述

1.7 物理参数方案的选择(Physics/dynamics options)

WRF模式中,存在众多次网格过程需要使用物理参数方案进行表达,而每种物理参数化方案都有很多种选项,其不同的排列组合使得选项太多。

关于物理参数化方案,以后有时间再展开介绍,以下粗略提几点:

给定一套参数化方案组合,对于不同的地区、domain大小、时间以及关注的天气现象,其模拟结果是不同的,没有哪种方案组合是完美的。

可以根据研究对象确定重要的参数化方案再进行挑选,如对于台风,可能积云对流和微物理方案更重要。

建议根据个人的具体应用,结合文献调研的基础上,选定一些参数化方案组合进行对比,验证哪种参数化方案组合对重点关注的天气现象模拟最好。

总结

最后,WRF的使用者应该时刻牢记以下几点:

  • 模拟结果受到很多因素的影响,如模拟区域的设置(水平和垂直的)、输入的数据(包括气象场和静态数据)、侧边界条件等;

  • 模式是存在缺陷的,对于某些具体天气过程是无法得到好的模拟结果的,人为引入了侧边界;

  • 找到模式何处存在偏差是非常重要的。

参考

1、PPT地址-Application of WRF: How to Get Better Performance
2、Youtube-Application of WRF: How to Get Better Performance

相关文章:

【WRF模拟】如何得到更佳的WRF模拟效果?

【WRF模拟】如何得到更佳的WRF模拟效果&#xff1f; 模型配置&#xff08;The Model Configuration&#xff09;1.1 模拟区域domain设置1.2 分辨率Resolution (horizontal and vertical)案例&#xff1a;The Derecho of 29-30 June 2012 1.3 初始化和spin-up预热过程案例1-有无…...

机械臂的各种标定

文章目录 1. 工具坐标系标定2. 工具手标定3. 手眼标定联系 在工程中&#xff0c;同时使用工具坐标系标定、工具手标定和手眼标定的概念、目的和作用如下&#xff1a; 1. 工具坐标系标定 概念&#xff1a; 工具坐标系标定是指确定工具相对于机器人坐标系的位置和姿态关系的过程…...

Android监听拨打电话

第一步获取权限 Manifest.permission.READ_PHONE_STATEManifest.permission.ANSWER_PHONE_CALLSManifest.permission.READ_CALL_LOG Manifest.permission.READ_CONTACTS第二步 注册监听 private var telephonyManager: TelephonyManager? nullprivate var mPhoneStateList…...

Framework开发入门(一)之源码下载

一、使用Linux操作系统的小伙伴可以跳转到官网链接按提示操作 官网源码地址&#xff1a;下载源代码 | Android Open Source Project 1.创建一个空目录来存放您的工作文件。为其指定一个您喜欢的任意名称&#xff1a; mkdir WORKING_DIRECTORYcdWORKING_DIRECTORY …...

TCP off-path exploits(又一个弄巧成拙的例子)

承接前面几篇文章的观点&#xff0c;本文用一个安全攻击的例子说明为了解决一个伤害很低的低概率问题&#xff0c;会引入多么大的麻烦&#xff0c;这次是可怕的被攻击 (⊙o⊙)。 TCP 端口号只有 16bit&#xff0c;序列号只有 32bit&#xff0c;这意味着在强大攻击算力面前&…...

Ajax总结

引言 这是属于前端的部分了&#xff0c;先是学习了三件套&#xff08;HTML,JS,CSS没怎么学&#xff0c;但是大概能理解&#xff09;之后就开始学习这个了&#xff0c;学习之前应该要知道她是做什么的&#xff0c;但是我没有做这一步&#xff0c;之后会先了解为什么要学习这门技…...

修改网络ip地址方法有哪些?常用的有这四种

在数字时代&#xff0c;IP地址作为网络设备的唯一标识&#xff0c;对于网络连接和通信至关重要。然而&#xff0c;有时候我们可能需要修改设备的IP地址&#xff0c;以满足特定的网络需求或解决网络问题。本文将为您详细介绍几种修改网络IP地址的常用方法&#xff0c;无论是对于…...

SpringBoot获取bean的几种方式

目录 一、BeanFactory与ApplicationContext的区别 二、通过BeanFactory获取 三、通过BeanFactoryAware获取 四、启动获取ApplicationContext 五、通过继承ApplicationObjectSupport 六、通过继承WebApplicationObjectSupport 七、通过WebApplicationContextUtils 八、通…...

Debian12 安装配置 ODBC for GaussDB

第一步 apt install -y unixodbc 第二步下载 dws_8.2.x_odbc_driver_for_x86_redhat.zip 到 /tmp&#xff0c;之后 cd /tmp unzip dws_8.2.x_odbc_driver_for_x86_redhat.zip cp lib/* /usr/local/lib cp odbc/lib/* /usr/local/lib echo /usr/local/lib >> /etc/ld…...

空中绘图板:用 Mediapipe 和 OpenCV 实现的创新手势识别应用

在这个数字化飞速发展的时代&#xff0c;手势识别技术正逐渐走入我们的日常生活&#xff0c;从智能家居到增强现实&#xff0c;无处不在。而今天&#xff0c;我将与大家分享一个充满创意和趣味的项目——空中绘图板。这个项目利用了强大的 Mediapipe 库和 OpenCV&#xff0c;实…...

讲一个自己写的 excel 转 html 的 java 工具

由来 这是一个从开发需求中诞生的工具&#xff0c;在工作中因为有一个 excel 转 html 的任务&#xff0c;又没找到一个专门做这方面的工具&#xff08;其他工具几乎都是简单的转换&#xff0c;无法还原 excel 样式&#xff0c;而且转换的宽高有点儿差距&#xff09;&#xff0…...

前端往后端传递参数的方式有哪些?

文章目录 1. URL 参数1.1. 查询参数&#xff08;Query Parameters)1.2. 路径参数&#xff08;Path Parameters&#xff09; 2. 请求体&#xff08;Request Body&#xff09;2.1. JSON 数据2.2. 表单数据2.3. 文件上传 3. 请求头&#xff08;Headers&#xff09;3.1. 自定义请求…...

Vue axios 异步请求,请求响应拦截器

在 Vue.js 中使用 axios 进行网络请求是非常常见的做法&#xff0c;因为它提供了比原生的 Fetch API 更丰富的功能&#xff0c;并且更易于处理错误和配置。结合 Axios 的拦截器功能&#xff0c;你可以对所有的请求或响应进行预处理&#xff0c;比如添加认证头信息、统一处理错误…...

yarn install 安装报错:Workspaces can only be enabled in private projects.

在本地运行项目的时候&#xff0c;使用yarn install 安装模块依赖的时候&#xff0c;遇到报错&#xff1a;Workspaces can only be enabled in private projects. 一、原因分析 报这个错误是因为你使用了yarn的workspace&#xff0c;但并未将工程标记为private。 二、解决办法 …...

http 请求总结get

关于get请求传递body的问题 错误代码 有400 , 415 等情况 <!doctype html><html lang"zh"><head><title>HTTP Status 400 – 错误的请求</title><style type"text/css">body {font-family:Tahoma,Arial,sans-seri…...

TCP 和 UDP 的区别:解析网络传输协议

引言 在计算机网络的世界中&#xff0c;TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;和 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是两种极为重要且应用广泛的传输层协议。它们在功能、特性以及适…...

【已解决】pyinstaller打包ico图片报错:OSError: [WinError 225] 无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。

起因&#xff1a; pyinstaller加上 --icon 参数打包时报错。 命令如下&#xff1a; 解决&#xff1a; 关闭 Windows 的病毒防护即可&#xff0c;步骤如下。 点屏幕右下角通知栏&#xff0c;进入“病毒和威胁防护”&#xff1a; 打开&#xff1a; 关闭实时保护&#xff08…...

SpringBoot项目配置文件的优先级

从外部讲 内部讲 所以优先级是:外部的config里的application.yml最高 然后是外部与jar包同目录下的application.yml 再到内部的classpath下config下的application.yml 最后到classpath下的application.yml 最后来个优先级最高的 启动时候 指定spring.config.location…...

JS中类型化数组(Typed Arrays)详解和常见应用场景

在JavaScript中&#xff0c;类型化数组&#xff08;Typed Arrays&#xff09; 是用于处理二进制数据的对象。它们允许我们以一种高效的方式操作和存储大量的数值数据&#xff0c;特别适合处理类似于图像、音频、视频等场景的原始二进制数据。 类型化数组的基本概念 类型化数组…...

虚幻引擎是什么?

Unreal Engine&#xff0c;是一款由Epic Games开发的游戏引擎。该引擎主要是为了开发第一人称射击游戏而设计&#xff0c;但现在已经被成功地应用于开发模拟游戏、恐怖游戏、角色扮演游戏等多种不同类型的游戏。虚幻引擎除了被用于开发游戏&#xff0c;现在也用于电影的虚拟制片…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...