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

【WRF工具】MPAS(多尺度预测模型)-输出WRF初始和横向边界条件

【WRF工具】MPAS(多尺度预测模型)-输出WRF初始和横向边界条件

  • MPAS概述
    • 模型概述
    • 主要特点
  • 使用MPAS输出WRF初始和横向边界条件
  • 参考

从WPS的v3.9版本开始,metgrid.exe程序能够从 跨尺度预测模型(The Model for Prediction Across Scales, MPAS) 读取netCDF格式的本机非结构化网格输出。本博客主要简介MPAS(多尺度预测模型)。

MPAS概述

官网-MPAS Overview
在这里插入图片描述

模型概述

MPAS(多尺度预测模型)是一个合作项目,旨在开发大气、海洋及其他地球系统模拟组件,用于气候研究、区域气候研究和天气预报。主要开发合作伙伴包括洛斯阿拉莫斯国家实验室(LANL)的气候建模组(COSIM)和国家大气研究中心(NCAR)。这两个主要合作伙伴共同负责MPAS框架、通用操作符和工具的开发;LANL主要负责海洋和陆冰模型,而NCAR主要负责大气模型。

主要特点

  • 非结构化Voronoi网格:
    MPAS采用非结构化的Voronoi网格,正式称为球面中心Voronoi划分(SCVTs),这使得模型能够进行球体的准均匀离散化和局部细化。
  • C-grid离散化:
    模型使用C-grid离散化方法,特别适合进行高分辨率的中尺度大气和海洋模拟。在C-grid中,速度的法向分量是在网格边缘上进行预报的,这提高了模拟的精度。
  • 陆冰模型:
    MPAS的陆冰模型利用SCVT的双重网格结构,采用适用于有限元离散化的三角形Delaunay划分。

使用MPAS输出WRF初始和横向边界条件

WRF User Guide-Using MPAS Output for WRF Initial and Lateral Boundary Conditions

从WPS的v3.9版本开始,metgrid.exe程序能够从跨尺度预测模型(MPAS)读取netCDF格式的本机非结构化网格输出;然后metgrid.exe程序可以水平地将MPAS字段直接插入到由geogrid.exe程序定义的任何域,以产生可由WRF real.exe程序使用的输出文件,其方式与从中间文件插入的metgrid输出完全相同。
这样,海洋资源系统的输出可用于为水资源资源提供初始和横向边界条件。

在运行MPAS模拟时,必须设置输出流以包含初始化WRF模拟所需的最小字段集。对于MPAS v5.x,下面的输出流应该足够了。

<stream name="wrf_ic_bc"type="output"filename_template="MPAS.$Y-$M-$D_$h.nc"output_interval="3:00:00" ><var name="xtime"/><var_array name="scalars"/><var name="pressure"/><var name="zgrid"/><var name="theta"/><var name="uReconstructZonal"/><var name="uReconstructMeridional"/><var name="u10"/><var name="v10"/><var name="q2"/><var name="t2m"/><var name="skintemp"/><var name="surface_pressure"/><var name="mslp"/><var name="tslb"/><var name="smois"/>
</stream>

在运行MPAS并定义合适的输出流之后,将生成一组包含本地MPAS网格上字段的netCDF文件。由于这些文件不包含描述MPAS网格单元的位置、几何形状和连通性的字段,因此必须将这些信息与来自MPAS仿真的“静态”文件一起提供给metgrid程序。因此,有必要在&metgrid命名列表记录中指定带有constants_name和fg_name变量的MPAS netCDF文件(前缀为‘ MPAS: ’),例如:

&metgridconstants_name = ‘mpas:static.nc’fg_name = ‘mpas:MPAS’
/

在上面的例子中,metgrid.exe程序将首先读取MPAS的静态文件。读取网格信息并计算从MPAS网格到由geogrid.exe程序定义的WRF域的重映射权重,然后将处理前缀为“MPAS”(后缀为YYYY-MM-DD_HH.nc)的MPAS文件的所有时间段。real.exe程序就可以正常运行了。

ungrib.exe程序创建的中间文件中的数据可以通过metgrid程序与MPAS数据相结合。这可能是有用的,例如,利用其他来源的海温、海冰或陆地表面场。

下面显示了一个将MPAS数据与带有土壤数据(带有‘ ERAI_SOIL ’前缀)的ERA-Interim中间文件组合在一起的示例。

&metgridconstants_name = ‘mpas:static.nc’fg_name = ‘mpas:MPAS’, ‘ERAI_SOIL’
/

由于MPAS ‘ zgrid ’字段不随时间变化,因此可以从MPAS周期输出流中省略;然而,在这种情况下,‘ zgrid ’字段必须放在它自己的netCDF文件中,该文件还必须将维度‘ Time ’定义为netCDF无限维度。然后,这个文件(比如‘ zgrid.nc ’)可以使用constants_name namelist变量提供给metgrid程序,例如:

&metgridconstants_name = ‘mpas:static.nc’, ‘mpas:zgrid.nc’fg_name = ‘mpas:MPAS’
/

将‘ zgrid ’字段放在它自己的文件中可以节省相当大的空间,当长MPAS模拟运行时,或者当输出流用作WRF初始和边界条件以高时间频率写出来时。下面的python脚本可以作为如何将‘ zgrid ’字段提取到其自己的netCDF文件的示例。

from netCDF4 import Datasetfin = Dataset('init.nc')
fout = Dataset('zgrid.nc','w',format='NETCDF3_64BIT')
nCells = fin.dimensions['nCells'].size
nVertLevelsP1 = fin.dimensions['nVertLevelsP1'].sizefout.createDimension(dimname='Time',size=None)
fout.createDimension(dimname='nCells',size=nCells)
fout.createDimension(dimname='nVertLevelsP1',size=nVertLevelsP1)
fout.createVariable(varname='zgrid',datatype='f',dimensions=('nCells', 'nVertLevelsP1'))
fout.variables['zgrid'][:] = fin.variables['zgrid'][:]
fout.close()
fin.close()

值得注意的是,metgrid.exe使用本机MPAS输出尚未对并行(即“dmpar”)构建的WPS进行彻底测试;因此,从WPS v4.0版本开始,建议在处理MPAS数据集时串行运行metgrid.exe。

此外,在大型MPAS网格的情况下,可能有必要增加metgrid代码中的两个常量的值,这两个常量用于静态分配用于计算从MPAS网格到WRF域的重映射权重的几个数据结构。这两个常量,如下所示,位于WPS/src/metgrid/remapper.F 文件中。

! should be at least (earth circumference / minimum grid distance)
integer, parameter :: max_queue_length    = 2700! should be at least (nCells/32)
integer, parameter :: max_dictionary_size = 82000  

在更改这些常量的值之后,必须重新编译metgrid。

参考

相关文章:

【WRF工具】MPAS(多尺度预测模型)-输出WRF初始和横向边界条件

【WRF工具】MPAS&#xff08;多尺度预测模型&#xff09;-输出WRF初始和横向边界条件 MPAS概述模型概述主要特点 使用MPAS输出WRF初始和横向边界条件参考 从WPS的v3.9版本开始&#xff0c;metgrid.exe程序能够从 跨尺度预测模型&#xff08;The Model for Prediction Across Sc…...

分数阶傅里叶变换与信息熵怎么用于信号处理?

天马行空的理解与思考方式&#xff1a;分数阶傅里叶变换与信息熵怎么用于信号处理&#xff1f; ChiX-Y 快速学习&#xff0c;快速尝试&#xff0c;快速失败 已关注 35 人赞同了该文章 这篇文章希望能写的有趣&#xff0c;同时有质量&#xff0c;学习就是要多维度多角度&…...

web3.0 开发实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 Web3.0也称为去中心化网络&#xff0c;是对互联网未来演进的一种概念性描述。它代表着对现有互联网的下一代版本的设想和期望。Web3.0的目标是通过整合区块链技术、分布式系统和加密技术等新兴技术&#xff0c;构建一个更加去中心化…...

【华为HCIP实战课程三十】中间到中间系统协议IS-IS路由渗透及TAG标识详解,网络工程师

一、路由泄露 1、默认情况Level 1不会学到Level2的明细路由&#xff0c;L2可以学到L1的明细路由 2、FIB数据转发&#xff0c;路由负载&#xff0c;通过随机数据中的五元组hash,hash值决定数据走哪条链路 R1设备ping和telnet通过抓包查看走的都是S1/0/0接口 抓包进行过滤;ip.a…...

大模型论文精华-20241104

工具而不是对等&#xff1a;框架如何影响人们对 Teams 中 AI 代理的看法 研究问题 随着人工智能技术的发展及其在团队环境中日益广泛的应用&#xff0c;人们对于如何理解和评价AI代理的态度和看法变得尤为重要。该研究关注于探讨不同框架下人们对AI代理的感知差异&#xff0c…...

mac ssh 连接 linux 服务器

生成 SSH 密钥对 打开终端&#xff1a; 你可以通过 Spotlight 搜索 “Terminal” 打开终端。 生成密钥对&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 手动复制公钥&#xff08;可选&#xff09; 如果 ssh-copy-id 命令不可用&#xff0…...

逻辑卷建立

逻辑卷 lvm逻辑卷即为&#xff1a;logical volume manager逻辑管理卷&#xff0c;是linux系统下管理硬盘分区的一种机制&#xff0c;lvm适合于管理大型存储文件&#xff0c;用户可以动态的对磁盘进行扩容 作用 lvm&#xff1a;linux系统的一个重要的存储技术 不同的硬盘的不…...

算法深度剖析:前缀和

文章目录 前言一、一维前缀和模板二、二维前缀和模板三、寻找数组的中心下标四、除自身以外数组的乘积五、和为 K 的子数组六、和可被 K 整除的子数组七、连续数组八、矩阵区域和 前言 本章将深度剖析前缀和&#xff0c;以及总结前缀和模板。 前缀和是一种在算法和数据处理中…...

【双目视觉标定】——1原理与实践

0 前言 双目视觉定位是目前机器&#xff08;机器人&#xff09;等领域中使用得非常广泛的视觉定位技术&#xff0c;双目视觉是模拟人的视觉系统利用两个不同位置的摄像头的视差来确定物体的位置。由于有需要采集两个摄像头的图像共同参与计算&#xff0c;所以双目相机装配要求…...

Java学习笔记(十二)

Mysql explain Extra MySQL的EXPLAIN语句是优化数据库查询的重要手段&#xff0c;其中的Extra列包含了不适合在其他列中显示但十分重要的额外信息。以下是对Extra列的详细介绍及举例&#xff1a; 一、Using filesort 解释&#xff1a;表示MySQL会对数据使用一个外部的索引排序…...

《Java 实现希尔排序:原理剖析与代码详解》

目录 一、引言 二、希尔排序原理 三、代码分析 1. 代码整体结构 2. main方法 3. sort方法&#xff08;希尔排序核心逻辑&#xff09; 四、测试结果 一、引言 在排序算法的大家族中&#xff0c;希尔排序是一种改进的插入排序算法&#xff0c;它通过将原始数据分成多个子序…...

RDMA驱动学习(二)- command queue

为了实现用户对网卡硬件的配置&#xff0c;查询&#xff0c;或者执行比如create_cq等命令&#xff0c;mellanox网卡提供了command queue mailbox的机制&#xff0c;本节将以create_cq为例看下这个过程。 command queue&#xff08;后续简称cmdq&#xff09;是一个4K对齐的长度…...

H2 Database IDEA 源码 DEBUG 环境搭建

H2 Database IDEA 源码 DEBUG 环境搭建 基于最新的 version-2.3.230 拉取分支。 git remote add h2 https://github.com/h2database/h2database.git git fetch h2 git checkout -b version-2.3.230 version-2.3.230使用 # 启动 java -jar h2*.jar# H2 shell 方式使用 java …...

nginx系列--(三)--http

本文主要介绍http模块accept read流程&#xff0c;&#xff01;&#xff01;&#xff01;请求对应的响应直接在read流程里就会返回给用户&#xff0c;而不需要通过write事件&#xff0c;和redis一样&#xff0c;基本都不通过eventloop write事件来发送响应给客户端&#xff0c;…...

通过Wireshark抓包分析,体验HTTP请求的一次完整交互过程

目录 一、关于Wireshark 1.1、 什么是Wireshark 1.2、下载及安装 二、HTTP介绍 2.1、HTTP请求过程介绍 2.2 、TCP协议基础知识 2.2.1、概念介绍 2.2.2、TCP协议的工作原理 2.2.3、三次握手建立连接 2.3.4、四次挥手断开连接 2.3、Wireshark抓包分析过程 2.3.1、三次握…...

Requestium:Python中的Web自动化新贵

文章目录 Requestium&#xff1a;Python中的Web自动化新贵背景&#xff1a;为何选择Requestium&#xff1f;Requestium是什么&#xff1f;如何安装Requestium&#xff1f;简单的库函数使用方法场景应用常见Bug及解决方案总结 Requestium&#xff1a;Python中的Web自动化新贵 背…...

2024版红娘金媒10.3婚恋相亲系统源码小程序(亲测)

1. 红娘服务 红娘服务模块是该系统的一大特色。专业红娘会通过分析用户的个人资料和偏好&#xff0c; 为用户提供精准的配对建议和个性化服务。用户可以预约红娘服务&#xff0c;通过红娘的介入&#xff0c;提升配对成功率。 2. 相亲活动 相亲活动模块用于组织和管理线下或线…...

k8s-实战——ES集群部署

文章目录 yaml文件es-pvc.yamles-svc.yamles-cluster-sts.yaml创建elasticsearch集群yaml文件 es-pvc.yaml 通过nfs服务进行新增pv并通过labels关联pvc前置准备需要提前准备pv的服务器以及挂在路径--- apiVersion: v1 kind: PersistentVolume metadata:name: nfs-es-pv-data-...

无人机的就业前景怎么样?

无人机的就业前景在当前及未来一段时间内都非常广阔。随着低空经济的蓬勃发展&#xff0c;无人机在农业、公安、测绘、交通、应急救援、影视拍摄等多个领域得到了广泛应用&#xff0c;对无人机操控员和相关专业人才的需求也随之急剧增加。 一、无人机操控员的就业前景 1. 高需…...

【学习】软件测试中V模型、W模型、螺旋模型三者介绍

在软件工程的星辰大海之中&#xff0c;存在着三种独特的航路图&#xff1a;V模型、W模型以及螺旋模型。它们分别以各自的方式描绘了软件开发与测试的不同旅程。 首先映入眼帘的是V模型——一个以垂直线条贯穿始终的简洁图形。这个模型如同一座倒立的“V”字形山峰&#xff0c;…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

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

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

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...