首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >减少wrfout输出变量

减少wrfout输出变量

作者头像
自学气象人
发布2023-06-20 15:46:54
发布2023-06-20 15:46:54
1.3K2
举报
文章被收录于专栏:自学气象人自学气象人

减少输出变量

WRF的模拟结果wrfout中包含了大量的变量,从网格点到模拟变量值,但如果输出变量太多,导致数据存储压力大,因此可以考虑减少输出到wrfout中的变量。

具体方法在userguide中也提到过,可以通过修改Registry来实现,ARW内核对应的是Registry/Registry.EM_COMMON文件,对其修改,然后再重新编译(clean -aconfigurecompile)。

但在3.2版本后,可以通过直接在namelist.input中可以指定剔除不需要输出的变量,即:

代码语言:javascript
复制
&time_control
iofields_filename                   = "my_file_d01.txt", "my_file_d02.txt"
ignore_iofields_warning             = .true.,

my_file_d01.txt文件中,可以指明需要删除的变量有哪些,具体内容如下:

代码语言:javascript
复制
-:h:0:RAINC,RAINNC

-表示删除,+表示增加;

h表示history,这里可以理解为输出,i表示输入;

0-24:表示经过的通道,一般默认0

可以直接进行换行,但每一行的的开头需要类似于-:h:0:格式,然后后面的变量之间用英文逗号隔开。

ignore_iofields_warning表示碰到错误时如何处理,如果设置为.true.则会打印警告信息且继续运行,如果设置为.false.时碰到错误会直接中断,推荐设置为.true.,所有的domain都通用,不用单独设置。

实操

使用了my_file_d01.txt类似如下,其中的变量来自于默认输出的wrfout,将自己用不到的变量提了出来,放到了里面。

txt

对应的namelist.input如下,两层网格都使用了同一个my_file_d01.txt

代码语言:javascript
复制
&time_control
iofields_filename                   = "my_file_d01.txt", "my_file_d01.txt"
ignore_iofields_warning             = .true.,

&domains
max_dom                             = 2

最后输出了对应的wrfout,大小对比如下:

filesize

模拟了12个小时,对比默认的wrfout(nochanged.nc),文件大小差不多缩小了接近一半,仍包含了常用的2m温度,10m风速,UV风,感热潜热通量等。

其中注意事项包括:

  1. 多个domain可以使用同一个控制文件,类似上面的my_file_d01.txt;
  2. my_file_d01.txt文件中的变量需完全正确,如果某个变量设置不正确,可以正常运行,但会出现warning,如下:WARNING: Unable to modify mask for wdntc. Variable not found. File: my_file_d01.txt at line 4,根据报错可以发现第4行中的wdntc不正确,重新修改以后可以正常运行。

如果需要上面使用的my_file_d01.txt,可以后台回复my-file

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自学气象人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 减少输出变量
  • 实操
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档