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模式在运行求解时,会涉及到大量的数据变量运算,而这些数据变量的管理、规定、控制则需要依赖于WRF的Registry文件,简单来说,它可以理解为管理WRF数据结构的“数据字典”("Active data-dictionar…...
一文读懂功率放大器(功率放大器的特性是什么意思)
功率放大器是一种电子放大器,旨在增加给定输入信号的功率幅度。功率放大器一般要求得到一定的不失真或者较小失真的输出功率,在大信号状态下进行工作,主要是输出较大功率。功率放大器的特性介绍:1、增益功率放大器的增益主要是指放…...
微信小程序阻止页面返回(包滑动、自动返回键)
这个场景还是挺有意思的,比如某多多,只要你点左上角的返回 好家伙,满满又 花不了 的优惠券就来了,让你拥有一种消费最划算的感觉。 如果你的场景比较简单,只是对左上角的返回进行监听,只需要关闭自带的导航…...
视频直播美颜sdk的发展史
视频直播美颜sdk的出现是必然的,它的诞生就是为了让更多用户能够更好地体验到视频直播带给大家的快乐,可以说视频直播美颜sdk的发展和用户体验有着紧密联系。今天,小编不聊技术,咱们来聊一下视频直播美颜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,我是阿昌,今天学习记录的是关于MySql误删数据还原方案的内容。 传统的高可用架构是不能预防误删数据的,因为主库的一个 drop table 命令,会通过 binlog 传给所有从库和级联从库,进而导致整…...
Java方法引用
2 方法引用 在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作那么考虑一种情况: 如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,没有必要再写重复逻辑,如usePrintable…...
C++教程之迭代器Iterator
前言 之前的两篇文章我们主要了解了vector和string的相关知识,从中我们知道可以通过下标来访问vector的元素或者string的字符,但是除了这种方式还有一种更为通用的方式获取元素,那就是迭代器,这篇文章就会简单介绍迭代器的相关内…...
容联七陌:ChatGPT大模型能力为智能客服带来新方向
科技云报道原创。 近几个月来,大众对ChatGPT预期的持续走高,也影响到了智能客服领域公司的命运。 一方面,ChatGPT的出现为智能客服场景带来了更加“智能”的可能性;但另一方面,有人认为ChatGPT完全可以替代现有的智能…...
【Linux 多线程同步】使用同步和互斥实现生产消费模型
目录 1.同步的接口 2.多线程但是按顺序来执行 3.生产消费模型 4.使用互斥加同步实现生产消费模型 (采用环形队列) 同步:在保证数据安全的前提下,让线程能够按照某种特定的顺序访问临界资源,从而有效避免饥饿问题 …...
【TypeScript】TypeScript的接口和对象类型(interface):
文章目录一、使用接口约束的时候不能多一个属性也不能少一个属二、重名interface 可以合并,继承三、可选属性 使用?操作符四、任意属性 [propName: string]五、只读属性 readonly,是不允许被赋值的只能读取六、添加函数一、使用接口约束的时候不能多一个…...
7、函数与异常
目录一、函数的概念二、匿名函数三、闭包四、defer五、异常机制一、函数的概念 函数的基本形式 //函数定义。a,b是形参 func argf(a int, b int) { a a b } var x, y int 3, 6 argf(x, y) //函数调用。x,y是实参函数参数: func arg2(a, b int) { //参数类型相…...
Julia 语言环境安装
Julia 语言支持以下系统: LinuxFreeBSDmacOSWindowsAndroid Julia 安装包下载地址为:Download Julia。 Github 源码地址:GitHub - JuliaLang/julia: The Julia Programming Language。 国内镜像地址: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:测试多线程的…...
通讯录的实现
一、目的:使用C实现通讯录二、包含功能:添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人…...
Urho3D导航
Urho3D通过使用Recast和Detour库实现导航网格生成和路径查找。 导航功能通过NavigationMesh和Navigable组件公开。 NavigationMesh从已使用Navigable组件标记的子节点收集几何体。默认情况下,可导航组件的行为是递归的:除非禁用递归,否则也…...
【学习总结】激光雷达与相机外参标定:代码(cam_lidar_calibration)
前段时间尝试了一款激光雷达和相机标定的代码,总结了博客: 【学习总结】激光雷达与相机外参标定:原理与代码 但总觉得那个代码太差劲,而且精度不行,于是又找了些新的代码,体验比之前的好很多,在…...
车载技术开发—{Android CarFrameWork}
Android Automotive平台 Android Automotive是通过Android的通用框架,语言和API来实现的一个全栈,开源,高度可定制的平台。 Android Automotive与整个Android生态系统的关系 Android Automotive是Android的一部分。 Android Automotive不是…...
多城市二手车买卖发布管理小程序开发
多城市二手车买卖发布管理小程序开发 功能特性: 为你介绍二手车微信小程序的功能特性。 车辆分类搜索,支持按品牌、售价、年龄、上牌时间、排量等筛选。 车源发布,支持用户一键发布二手车,平台审核上线,发布可编辑、删除等操作。…...
企业级信息系统开发学习笔记1.2 初探Spring——利用组件注解符精简Spring配置文件
文章目录零、本讲学习目标一、课程引入二、打开项目 - SpringDemo三、利用组件注解符精简Spring配置文件(一)创建新包(二)复制四个类(三)修改杀龙任务类(四)修改救美任务类ÿ…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
