【WRF教程第四期】WRF 初始化概述:以4.5版本为例

WRF 初始化(WRF Initialization)

  • Building Initialization Programs
    • 编译方式
  • 理想案例初始化(Initialization for Idealized Cases)
    • 理想化案例的输入
    • 可用的理想化案例
  • 现实案例初始化(Initialization for Real Data Cases)
    • (Real-data Test Case)
  • (Backward-compatibility)
  • 模型垂直层设置(Setting Model Vertical Levels)
  • 参考

WRF(Weather Research and Forecasting)模型支持两类初始化方式:

1、理想化初始化(Ideal Initialization):

  • 使用理想化的初始条件,如 1-D 或 2-D 的探空数据(sounding),假设简化的地形或解析的物理场。
  • 专为研究特定的动力学或物理过程设计。
  • 不需要外部实际观测数据,只需 namelist.input 和 input_sounding 文件。

2、实际数据初始化(Real Data Initialization):

  • 依赖外部观测数据或数值天气预报(如 GFS、ERA 等)的结果。
  • 通过 WRF 预处理系统(WPS)处理大气和静态场数据,并根据模型网格分辨率插值生成初始条件和边界条件。
  • 必须运行 real.exe 生成 wrfinput 和 wrfbdy 文件。

在运行 wrf.exe 之前,必须先运行 real.exe 或 ideal.exe。真实数据案例使用初始化程序“real.exe”,并在 WRF/test/em_real 内运行,其中有从 4 到 30 公里的示例案例(名称列表),包括完整的物理。

有多种 3-D、2-D 和 1-D 理想情况可供选择,每种情况都使用专门为每种情况构建的可执行文件“ideal.exe”。

Building Initialization Programs

初始化程序(Initialization Programs)是作为 WRF 代码安装的一部分进行编译的,并使用“/WRF/dyn_em/module_initialize_*.F”文件中的目标模块进行构建。

下面列出了所有可用的 WRF 案例,以及构建每个案例的初始化目标模块。
在这里插入图片描述
WRF 模型提供两个初始化程序:

1、ideal.exe

  • 专用于理想化模拟。
  • 根据用户选择的特定理想化案例(如重力波、海风、山地流等)生成相应的初始条件。
  • 每个理想化案例对应一个特定的初始化模块,比如 module_initialize_ideal.F。

2、real.exe

  • 专用于实际数据模拟,通过处理 WPS 输出的 met_em 数据生成初始条件和边界条件。
  • 必须在运行 wrf.exe 之前执行。

编译方式

WRF 编译时,用户可以选择不同的模拟类型(如实际初始化或特定的理想化案例)。以下是编译命令示例:

实际数据初始化:

./compile em_real

编译结果生成 real.exe。

理想化案例(如重力波案例):

./compile em_grav2d_x
./compile em_seabreeze2d_x

编译结果生成 ideal.exe。

注意:

  • 如果需要编译多个案例(如em_real 和 em_les),必须分别编译并保存生成的可执行文件,以避免覆盖。
  • 理想化案例的初始化模块位于 /WRF/dyn_em/module_initialize_*.F 文件中。

理想案例初始化(Initialization for Idealized Cases)

理想化初始化程序(ideal.exe)负责以下任务:

  • 计算基本状态与扰动:生成基本的位势高度和柱压剖面,并叠加扰动场。
  • 初始化气象变量:包括水平风场(u, v)、位温(potential temperature)、水汽混合比(vapor mixing ratio)等。
  • 定义垂直坐标:将数据插值到模型所需的 eta 垂直坐标。
  • 初始化静态场:包括地图投影因子、地形、物理表面等。对于许多理想化案例,这些- 初始化被简化(如地图因子为 1,地形高度为 0)。
  • 生成初始文件:输出 wrfinput_d01 文件供 WRF 模型使用。

理想化案例的输入

1、namelist.input 文件:
控制网格大小、垂直层数、模型顶高度、时间步长、扩散和边界条件等。

2、input_sounding 文件:提供大气探空剖面数据,包含以下字段:

  • 第一行:地表气压(hPa)、位温(K)、水汽混合比(g/kg)。
  • 后续行:高度(m)、干位温(K)、水汽混合比(g/kg)、x方向风速(m/s)、y方向风速(m/s)。

理想化案例的特性

  • 大多数理想化案例不使用复杂的物理过程(如辐射、地表通量等),仅保留基本的动力学特性。
  • 某些案例具有完整的物理过程(如海风、湍流模拟)。
  • 提供的默认设置便于用户验证模型的正确性,并开展基础研究。

可用的理想化案例

以下是页面列出的部分理想化案例及其特点:

1、2D重力波(em_grav2d_x)

  • 测试案例来源:Straka et al. (1993)。
  • 模拟二维重力波动力学。
  • 默认设置:20 km 模型顶,80 水平层。

2、超级单体对流(em_quarter_ss)

  • 模拟对流超级单体的左右移动。
  • 提供 README 文件,包含案例详细说明。

3、山地流(em_hill2d_x)

  • 模拟二维山地气流。
  • 默认设置:10 km 半宽山丘,风速 10 m/s,N=0.01/s。

4、海风(em_seabreeze2d_x)

  • 包含完整的物理过程(辐射、地表通量、边界层等)。
  • 用于研究海陆风环流。

5、热带气旋(em_tropical_cyclone)

  • 模拟基于 Jordan (1958) 的热带气旋。
  • 包括简单的辐射冷却和完整物理选项。

6、大涡模拟(LES,em_les)

  • 高分辨率(100 m 网格),用于模拟湍流边界层。

现实案例初始化(Initialization for Real Data Cases)

实际数据初始化的流程:实际数据初始化依赖外部数值天气预报(如 GFS 数据)或观测数据,并通过以下步骤完成:

1、WPS 处理:

  • 使用 ungrib.exe 解码 GRIB 数据。
  • 使用 metgrid.exe 将数据插值到模型网格。
  • 输出 met_em 文件(NetCDF 格式),供 real.exe 使用。

2、real.exe 处理:

  • 输入 met_em 文件。
  • 生成模型初始条件(wrfinput)和侧边界条件(wrfbdy)。

3、wrf.exe 运行:

  • 读取 wrfinput 和 wrfbdy 文件,进行数值模拟。

实际数据初始化的输入
1、met_em 文件:包括各时间步长的气象场(如风速、温度、水汽等)。
文件命名规则:

met_em.d01.YYYY-MM-DD_HH:MM:SS.ncmet_em.d01.2021-01-15_00:00:00.nc

实际数据初始化的输出

  • wrfinput_d01 文件:包含初始条件。
  • wrfbdy_d01 文件:包含边界条件。

(Real-data Test Case)

(Backward-compatibility)

模型垂直层设置(Setting Model Vertical Levels)

垂直层的两种配置方式
1、自动计算 Eta 层:
用户仅需设置层数(e_vert)。
real.exe 根据默认方法或拉伸因子(dzstretch_s, dzstretch_u)自动计算。

2、用户指定每个 Eta 层:
使用 eta_levels 参数明确定义每个层的位置。

关键参数

  • dzbot:第一层的厚度(默认为 50 m)。
  • max_dz:最大层厚度(默认为 1000 m)。
  • 拉伸因子:
    dzstretch_s:表面层拉伸因子。
    dzstretch_u:高层拉伸因子。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64517.shtml

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

相关文章

测试工程师八股文04|计算机网络 和 其他

一、计算机网络 1、http和https的区别 HTTP和HTTPS是用于在互联网上传输数据的协议。它们都是应用层协议,建立在TCP/IP协议栈之上,用于客户端(如浏览器)和服务器之间的通信。 ①http和https的主要区别在于安全性。http是一种明…

【C++】inline函数(内联函数)

文章目录 前言一、宏函数的缺陷二、inline函数1.inline函数的展开规则2.inline的设计分析3.inline函数不建议声明和定义分离 前言 C程序频繁调用函数会使代码效率降低,因为创建函数栈帧需要消耗时间。于是C语言引入宏函数的概念,使用宏函数来替代一些功能…

Android OpenGLES2.0开发(九):图片滤镜

“当你改变想法的时候,记得也要改变你的世界。”——诺曼文森特皮尔 Android OpenGLES开发:EGL环境搭建Android OpenGLES2.0开发(一):艰难的开始Android OpenGLES2.0开发(二):环境搭…

易语言OCR证件照文字识别

一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…

指针练习题15道【C语言】

1.利用指针变量将一个数组中的数据反向输出。 声明: void work1(int *, int); // 声明反向遍历 void work1_1(int *, int); // 声明正向遍历实现: // 利用指针变量将一个数组中的数据反向输出,反向遍历 void work1( int *p,int len) {p (…

单节点calico性能优化

在单节点上部署calicov3273后,发现资源占用 修改calico以下配置是资源消耗降低 1、因为是单节点,没有跨节点pod网段组网需要,禁用overlay方式网络(ipip,vxlan),使用route方式网络 配置calico-node的环境变量 CALICO_IPV4POOL_I…

在 Spring Boot 3 中实现基于角色的访问控制

基于角色的访问控制 (RBAC) 是一种有价值的访问控制模型,可增强安全性、简化访问管理并提高效率。它在管理资源访问对安全和运营至关重要的复杂环境中尤其有益。 我们将做什么 我们有一个包含公共路由和受限路由的 Web API。受限路由需要数据库中用户的有效 JWT。 现在用户…

电子系统中用于降噪的接地

当接地系统中存在EMI、RFI 或由焊机、变速驱动器、电器等引起的电脉冲等干扰时,它们会在中性线和接地之间产生共模噪声,可能会影响电子设备。 国家电气规范 (NEC) 允许安装隔离接地插座 (IG),即磁轭和接地端子之间没有连接。轭是插座后面的金…

SmartX分享:SMTX ZBS 中 RDMA 技术简介

目录 背景如何实现存储网络是什么TCP/IPRDMARDMA 工作原理RDMA 的实现方案 ZBS 支持 RDMA 的要求 参考 背景 我们清楚,分布式存储将利用网络作不同设备的互联。最基础的如TCP/IP的IP SAN,进阶的有FC SAN、IB等等。 SmartX 支持 10G以上的TCP/IP网络作为…

《Vue3实战教程》5:响应式基础

如果您有疑问,请观看视频教程《Vue3实战教程》 响应式基础​ API 参考 本页和后面很多页面中都分别包含了选项式 API 和组合式 API 的示例代码。现在你选择的是 组合式 API。你可以使用左侧侧边栏顶部的“API 风格偏好”开关在 API 风格之间切换。 声明响应式状态…

QT网络(二):TCP通信

传输层概念 传输控制协议(transmission control protocol,TCP)是一种被大多数 Internet 网络协议用于数据传输的底层网络协议,它是可靠的、面向流和连接的传输协议,特别适合用于连续数据传输。 应用层在网络模型中的…

【记录50】uniapp安装uview插件,样式引入失败分析及解决

SassError: Undefined variable: "$u-border-color". 表示样式变量$u-border-color没定义&#xff0c;实际是定义的 首先确保安装了scss/sass 其次&#xff0c;根目录下 app.vue中是否全局引入 <style lang"scss">import /uni_modules/uview-ui/in…

TypeScript 与 JavaScript

文章目录 一、为 JavaScript 库添加类型定义(一)什么是类型定义文件(.d.ts 文件)(二)手动编写类型定义和使用现有类型定义(如 DefinitelyTyped)手动编写类型定义使用现有类型定义(如 DefinitelyTyped)二、在 TypeScript 项目中使用流行的 JavaScript 库(如 jQuery、…

算法—动态规划

一、简介 动态规划&#xff08;Dynamic Programming&#xff0c;简称 DP&#xff09;是一种通过将原问题分解为若干个子问题来求解最优化问题的算法思想。动态规划常常用于解决那些可以被分解为更小的重叠子问题的场景。 与分治法的区别在于&#xff0c;分治法会将问题分解成独…

Android GO 版本锁屏声音无效问题

问题描述 Android go版本 在设置中打开锁屏音开关&#xff0c;息屏灭屏还是无声音 排查 vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\keyguard\KeyguardViewMediator.java private void setupLocked() {...String soundPath Settings.G…

使用 NVIDIA DALI 计算视频的光流

引言 光流&#xff08;Optical Flow&#xff09;是计算机视觉中的一种技术&#xff0c;主要用于估计视频中连续帧之间的运动信息。它通过分析像素在时间维度上的移动来预测运动场&#xff0c;广泛应用于目标跟踪、动作识别、视频稳定等领域。 光流的计算传统上依赖 CPU 或 GP…

Tomcat的安装即使用

Tomcat的概念 Tomcat服务器是Java语言开发的&#xff0c;免费的开放源代码的Web应用服务器。 Tomcat处理静态HTML的能力远不及Apache或者Nginx&#xff0c;通常是作为一个Servlet和JSP容器&#xff0c;单独运行在后端。 Tomcat是由三个功能组合而成&#xff1a; java servlet&…

Linux:进程(环境变量、程序地址空间)

目录 冯诺依曼体系结构 操作系统 设计操作系统的目的 操作系统的管理 进程 PCB fork 进程状态 进程状态查看 僵尸进程 孤儿进程 进程优先级 查看、修改进程优先级命令 竞争、独立、并行、并发 进程切换 活动队列和运行队列 活动队列 过期队列 active指针…

对于使用exe4j打包,出现“NoClassDefFoundError: BOOT-INF/classes”的解决方案

jar使用exe4j打包exe&#xff0c;出现NoClassDefFoundError: BOOT-INF/classes 注意选取的jar包是使用build&#xff0c;而不是maven中的install 本文介绍解决这个方法的方案 点击Project Structure 按照如图所示选择 选择main class&#xff0c;选择你要打的main 如果遇到/M…

uniapp连接蓝牙操作(蓝牙设备地锁)

介绍&#xff1a; 本文采用uni-app框架来创建一个简单的用户界面&#xff0c;用于搜索、连接和发送命令给蓝牙设备。 1.打开蓝牙适配器 function openBluetooth() {uni.openBluetoothAdapter({success() {uni.offBluetoothDeviceFound();// 监听新设备发现事件uni.onBlueto…