爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8732|回复: 5

ncl读取wrf模式数据

[复制链接]
回帖奖励 4 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次
发表于 2018-6-21 23:33:09 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请假大家,我运行模式的namelist.input里面,第四层嵌套设置history_interval=5,运行了将近两周时间出了结果,wrfoutd04有180G,文件好大呀,读取这个文件变量dbz=wrf_user_getvar(a,"dbz",-1),报错:fatal:wrf_tk: Unable to allocate memory for output array;
fatal:["Execute.c":8575]:Execute: Error occurred at or near line 1546 in file /usr/local/ncarg/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl
(1)请问这是什么原因,是因为wrf_user_getvar这个函数不能计算出这么大文件里的数据吗,应该怎么解决这个问题;
(2)我确实需要一些变量要达到5分钟一次甚至更高的分辨率,或许有没有方法只让我想输出的某些变量达到这个时间分辨率,而其他变量只要1小时一次就可以

密码修改失败请联系微信:mofangbao
发表于 2018-6-22 10:38:13 | 显示全部楼层

回帖奖励 +1 金钱

怎么会需要两周的5分钟的数据呢。。
(1)Anyway,报错是说电脑memory不足够给你算dbz。也就是说同时把那么多数据一次读进的话,不够memory。所以要分几次处理这些数据,比如每次只读取一天,然后输出到一个文件,那样。
(2)dBZ 看上去需要好多三维的场(T,P,PB,qv,qr,qs,qg),只把这些三维场加密也不肯定能省多少空间。要只限这些变量加密的话,可以看看 http://www2.mmm.ucar.edu/wrf/use ... chap5.htm#runtimeio  然后把默认的那个history stream弄成一个小时,新的history stream 弄成5分钟。
(2b,替代1&2) 同样是这个网址http://www2.mmm.ucar.edu/wrf/use ... chap5.htm#runtimeio  可能更有效的办法是绕过ncl,看看在新的history stream加上 REFL_10CM 变量,或者其他你觉得更恰当的变量。这个就是说,雷达反射率是wrf算出来的10厘米波长的反射率,跟ncl的计算公式可能不一样。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-6-22 18:01:11 | 显示全部楼层
packard 发表于 2018-6-22 10:38
怎么会需要两周的5分钟的数据呢。。
(1)Anyway,报错是说电脑memory不足够给你算dbz。也就是说同时把那么 ...

非常感谢您的回复,您的回复对我帮助很大呢。我是模拟36个小时最内层每5分钟输出一次花费了将近两周时间,没有用过大型机,不知道这个模拟速度算很慢很慢吗?
(1)dbz属于诊断变量,需要用wrf_user_getvar计算获得,这个函数要么是读取文件里全部时次,要么是一个时次一个时次读,我如果分几次处理数据是说模拟输出的wrfoutd04分成几个文件吗
(2)我试过在新的输出流加上REFL_10CM这个变量,总是警告不能找到这个变量,是因为我没有在这个输出流添加计算REFL_10CM所需要的其他变量吗。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-6-22 18:01:31 | 显示全部楼层
packard 发表于 2018-6-22 10:38
怎么会需要两周的5分钟的数据呢。。
(1)Anyway,报错是说电脑memory不足够给你算dbz。也就是说同时把那么 ...

非常感谢您的回复,您的回复对我帮助很大呢。我是模拟36个小时最内层每5分钟输出一次花费了将近两周时间,没有用过大型机,不知道这个模拟速度算很慢很慢吗?
(1)dbz属于诊断变量,需要用wrf_user_getvar计算获得,这个函数要么是读取文件里全部时次,要么是一个时次一个时次读,我如果分几次处理数据是说模拟输出的wrfoutd04分成几个文件吗
(2)我试过在新的输出流加上REFL_10CM这个变量,总是警告不能找到这个变量,是因为我没有在这个输出流添加计算REFL_10CM所需要的其他变量吗。
密码修改失败请联系微信:mofangbao
发表于 2018-6-23 13:44:12 | 显示全部楼层
气象草鸟 发表于 2018-6-22 18:01
非常感谢您的回复,您的回复对我帮助很大呢。我是模拟36个小时最内层每5分钟输出一次花费了将近两周时间 ...

听起来很慢,但好久没有跑wrf了,也不知道你的设置以及硬件怎么样,所以也不肯定。
1. 我亲手试了一下,好像是可以读多于一个但不是全部的时次. 不必修改原来文件。
ncl 0> f= addfile("./wrfbdy_d01.nc","r")
ncl 1> a = wrf_user_getvar(f, "V_BXE",(/0,1/))
ncl 4> print(a)
2. 应该是不需要添加其他变量的。但是好n年没跑wrf,没输出过refl_10cm了. 只记得这个是在 Registry/Registry.EM_COMMON 里面定义的. 更多的我也不太记得了.
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-6-23 23:18:42 | 显示全部楼层
packard 发表于 2018-6-23 13:44
听起来很慢,但好久没有跑wrf了,也不知道你的设置以及硬件怎么样,所以也不肯定。
1. 我亲手试了一下, ...

好哒,谢谢谢谢你的回复啦,对我很有帮助了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表