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

WRF进阶:使用IO选项控制WRF变量输出/WRF指定变量输出添加/删除

Registry文件

WRF模式在运行求解时,会涉及到大量的数据变量运算,而这些数据变量的管理、规定、控制则需要依赖于WRF的Registry文件,简单来说,它可以理解为管理WRF数据结构的“数据字典”("Active data-dictionary” for managing WRF data structures )。
Registry文件里有:

  • 描述模式状态、中间文件、以及配置数据属性的数据库
  • 通过数据库,生成的WRF配置运行信息,自动生成WRF源代码。

一般而言,我们可以通过修改Registry文件里的控制输入的I/O一栏,更改状态,具体可参加:[气象家园]WRF输出控制 (Registry + namelist)
然而由于每次修改Registry文件后,都需要重新编译配置,这不免浪费时间,为此,WRF3.2版本后在run_time时提供了I/O选项,该选项可在namelist文件的time_control部分设置,来规定WRF中的变量添加与删除。

Input/output (IO)选项

关于I/O选项的使用,在WRF手册第五章Run time IO中已有详细讲述,我这里简单搬运翻译:
首先,需要让WRF模式知道IO的运行时修改信息所在的位置。这是一个文本文件(my_file_d01.txt),每个网格一个,这个在namelist.input文件中的time_control字段定义。

&time_control
iofields_filename = “my_file_d01.txt”, “my_file_d02.txt”
ignore_iofields_warning = .true.,
/

该文本文件的内容将一个StreamID(0是默认历史记录和输入)与变量以及是否要添加或删除字段相关联。状态变量必须Regisrty中定义。
举例来说:

-:h:0:RAINC,RAINNC
将从标准的history file中删除变量RAINC和RAINNC+:h:7:RAINC,RAINNC
将从输出流 #7中添加变量RAINC和RAINNC

可用选项:

+ 或 -, 添加或者删除变量
0-24, 整数,说明文件流序号
i 或 h, 
在Registry中的输入或者历史场的名称——这是引用中的第一个字符串。注意:不要在变量名之间包含任何空格

您有兴趣将变量输出到新流(即不是默认的history流0),那么以下namelist变量也将是必需的:

auxhist7_outname = “yourstreamname_d<domain>_<date>”
auxhist7_interval = 360, 360,
frames_per_auxhist7 = 1, 1,
io_form_auxhist7 = 2

注意:

  • txt文件字段不要包含空格
  • txt文件里的变量必须在Registry文件里
  • 没有必要将字段从一个流删除至另一个
  • 在多条流里可以有多个相同字段变量
  • 避免使用 1 2 5 23作为新输出变量的流编号
  • ignore_iofields_warning告诉程序在这些用户指定文件中遇到错误时该怎么办。默认值为.TRUE.,是打印警告消息,但继续运行。如果设置为.FALSE.,那么如果用户指定的文件中有错误,程序将中止。

以上便是用户手册内容的翻译,我们下面给出具体的实例。

实例

确定变量名称

首先我们应当明确我们需要添加的变量名信息,这需要我们到Registry.EM_COMMON中寻找。

在Registry.EM_COMMON文件中找到所需变量为:

state    real   qns_gc         igj      dyn_em      1        Z     i1  "QNS"   "snow num concentration"   "# kg-1"
state    real   re_snow_gsfc     ikj    misc        1         -     rh       "RE_SNOW_GSFC"   "Snow effective radius"             "micron"

创建txt文件,写入:

+:h:0:QNS,RE_SNOW_GSFC

记得给予读写权限,否则WRF可能打不开。
再在time_control部分加入

iofields_filename = “my_file_d01.txt”, 
ignore_iofields_warning = .true.,

即可,添加的变量会在wrfout文件中。

相关文章:

WRF进阶:使用IO选项控制WRF变量输出/WRF指定变量输出添加/删除

Registry文件 WRF模式在运行求解时&#xff0c;会涉及到大量的数据变量运算&#xff0c;而这些数据变量的管理、规定、控制则需要依赖于WRF的Registry文件&#xff0c;简单来说&#xff0c;它可以理解为管理WRF数据结构的“数据字典”&#xff08;"Active data-dictionar…...

一文读懂功率放大器(功率放大器的特性是什么意思)

功率放大器是一种电子放大器&#xff0c;旨在增加给定输入信号的功率幅度。功率放大器一般要求得到一定的不失真或者较小失真的输出功率&#xff0c;在大信号状态下进行工作&#xff0c;主要是输出较大功率。功率放大器的特性介绍&#xff1a;1、增益功率放大器的增益主要是指放…...

微信小程序阻止页面返回(包滑动、自动返回键)

这个场景还是挺有意思的&#xff0c;比如某多多&#xff0c;只要你点左上角的返回 好家伙&#xff0c;满满又 花不了 的优惠券就来了&#xff0c;让你拥有一种消费最划算的感觉。 如果你的场景比较简单&#xff0c;只是对左上角的返回进行监听&#xff0c;只需要关闭自带的导航…...

视频直播美颜sdk的发展史

视频直播美颜sdk的出现是必然的&#xff0c;它的诞生就是为了让更多用户能够更好地体验到视频直播带给大家的快乐&#xff0c;可以说视频直播美颜sdk的发展和用户体验有着紧密联系。今天&#xff0c;小编不聊技术&#xff0c;咱们来聊一下视频直播美颜sdk的诞生以及发展历程。 …...

【Mysql】存储过程

【Mysql】存储过程 文章目录【Mysql】存储过程1.存储过程1.1 存储过程概述1.2 特点1.3 基本语法1.3.1 创建1.3.2 调用1.3.3 查看1.3.4 删除1.4 变量1.4.1 系统变量1.4.2 用户定义变量1.4.3 局部变量1.5 if1.6 参数1.7 case1.8 循环1.8.1 while1.8.2 repeat1.8.3 loop1.9 游标1.…...

Day895.MySql误删数据还原方案 -MySQL实战

MySql误删数据还原方案 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于MySql误删数据还原方案的内容。 传统的高可用架构是不能预防误删数据的&#xff0c;因为主库的一个 drop table 命令&#xff0c;会通过 binlog 传给所有从库和级联从库&#xff0c;进而导致整…...

Java方法引用

2 方法引用 在使用Lambda表达式的时候&#xff0c;我们实际上传递进去的代码就是一种解决方案&#xff1a;拿参数做操作那么考虑一种情况: 如果我们在Lambda中所指定的操作方案&#xff0c;已经有地方存在相同方案&#xff0c;没有必要再写重复逻辑&#xff0c;如usePrintable…...

C++教程之迭代器Iterator

前言 之前的两篇文章我们主要了解了vector和string的相关知识&#xff0c;从中我们知道可以通过下标来访问vector的元素或者string的字符&#xff0c;但是除了这种方式还有一种更为通用的方式获取元素&#xff0c;那就是迭代器&#xff0c;这篇文章就会简单介绍迭代器的相关内…...

容联七陌:ChatGPT大模型能力为智能客服带来新方向

科技云报道原创。 近几个月来&#xff0c;大众对ChatGPT预期的持续走高&#xff0c;也影响到了智能客服领域公司的命运。 一方面&#xff0c;ChatGPT的出现为智能客服场景带来了更加“智能”的可能性&#xff1b;但另一方面&#xff0c;有人认为ChatGPT完全可以替代现有的智能…...

【Linux 多线程同步】使用同步和互斥实现生产消费模型

目录 1.同步的接口 2.多线程但是按顺序来执行 3.生产消费模型 4.使用互斥加同步实现生产消费模型 &#xff08;采用环形队列&#xff09; 同步&#xff1a;在保证数据安全的前提下&#xff0c;让线程能够按照某种特定的顺序访问临界资源&#xff0c;从而有效避免饥饿问题 …...

【TypeScript】TypeScript的接口和对象类型(interface):

文章目录一、使用接口约束的时候不能多一个属性也不能少一个属二、重名interface 可以合并&#xff0c;继承三、可选属性 使用?操作符四、任意属性 [propName: string]五、只读属性 readonly&#xff0c;是不允许被赋值的只能读取六、添加函数一、使用接口约束的时候不能多一个…...

7、函数与异常

目录一、函数的概念二、匿名函数三、闭包四、defer五、异常机制一、函数的概念 函数的基本形式 //函数定义。a,b是形参 func argf(a int, b int) { a a b } var x, y int 3, 6 argf(x, y) //函数调用。x,y是实参函数参数&#xff1a; func arg2(a, b int) { //参数类型相…...

Julia 语言环境安装

Julia 语言支持以下系统&#xff1a; LinuxFreeBSDmacOSWindowsAndroid Julia 安装包下载地址为&#xff1a;Download Julia。 Github 源码地址&#xff1a;GitHub - JuliaLang/julia: The Julia Programming Language。 国内镜像地址&#xff1a;Index of /julia-releases/…...

5.1 线程

文章目录1.概述2.多线程的特性2.1 随机性2.2 CPU分时调度2.3 线程的状态2.4 线程状态与代码对照3.多线程代码实现方式1:继承Thread3.1 概述3.2 常用方法3.3 测试多线程的创建方式14.多线程代码实现方式2:实现Runnable接口4.1 概述4.2 常用方法4.3 练习2&#xff1a;测试多线程的…...

通讯录的实现

一、目的&#xff1a;使用C实现通讯录二、包含功能&#xff1a;添加联系人:向通讯录中添加新人&#xff0c;信息包括&#xff08;姓名、性别、年龄、联系电话、家庭住址&#xff09;最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人…...

Urho3D导航

Urho3D通过使用Recast和Detour库实现导航网格生成和路径查找。 导航功能通过NavigationMesh和Navigable组件公开。 NavigationMesh从已使用Navigable组件标记的子节点收集几何体。默认情况下&#xff0c;可导航组件的行为是递归的&#xff1a;除非禁用递归&#xff0c;否则也…...

【学习总结】激光雷达与相机外参标定:代码(cam_lidar_calibration)

前段时间尝试了一款激光雷达和相机标定的代码&#xff0c;总结了博客&#xff1a; 【学习总结】激光雷达与相机外参标定&#xff1a;原理与代码 但总觉得那个代码太差劲&#xff0c;而且精度不行&#xff0c;于是又找了些新的代码&#xff0c;体验比之前的好很多&#xff0c;在…...

车载技术开发—{Android CarFrameWork}

Android Automotive平台 Android Automotive是通过Android的通用框架&#xff0c;语言和API来实现的一个全栈&#xff0c;开源&#xff0c;高度可定制的平台。 Android Automotive与整个Android生态系统的关系 Android Automotive是Android的一部分。 Android Automotive不是…...

多城市二手车买卖发布管理小程序开发

多城市二手车买卖发布管理小程序开发 功能特性: 为你介绍二手车微信小程序的功能特性。 车辆分类搜索&#xff0c;支持按品牌、售价、年龄、上牌时间、排量等筛选。 车源发布&#xff0c;支持用户一键发布二手车&#xff0c;平台审核上线&#xff0c;发布可编辑、删除等操作。…...

企业级信息系统开发学习笔记1.2 初探Spring——利用组件注解符精简Spring配置文件

文章目录零、本讲学习目标一、课程引入二、打开项目 - SpringDemo三、利用组件注解符精简Spring配置文件&#xff08;一&#xff09;创建新包&#xff08;二&#xff09;复制四个类&#xff08;三&#xff09;修改杀龙任务类&#xff08;四&#xff09;修改救美任务类&#xff…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...