- 积分
- 354
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-5-24
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 巩崇水 于 2019-6-17 08:46 编辑
问题分析
FV3升级后,GFS资料增加了三个层,分别是40,15和0.4hPa。在ungrib之后就会造成层数不匹配,和Metgrid也会冲突
如果直接按if ( level .lt. pmin ) cycle MATCH_LOOP的思路,则会造成real的时候层数小于32而无法正常运行的问题。
问题解决
修改WPS/ungrib/src/rd_grib2.F然后重新编译WPS即可,可以起到略去相关三层GFS读入的作用。
以3.9版本为例,改版本rd_grib2
大约在740行前后搜索如下字段,然后添加红色内容即可
! Level (eg. 10000 mb)
if(gfld%ipdtmpl(10).eq.100) then
! Pressure level (range from 1000mb to 0mb)
level=gfld%ipdtmpl(12) *
& (10. ** (-1. * gfld%ipdtmpl(11)))
!if ( level .lt. 5000 ) cycle MATCH_LOOP
if ( level .eq. 4000 ) cycle MATCH_LOOP
if ( level .eq. 1500 ) cycle MATCH_LOOP
if ( level .eq. 40 ) cycle MATCH_LOOP
!==================================================
elseif((gfld%ipdtmpl(10).eq.105).or.
& (gfld%ipdtmpl(10).eq.118))then
思路原网页,感谢 DCVZ
http://forum.wrfforum.com/viewtopic.php?f=6&t=11314&sid=3280b397e5005fa419704c9476b0d9b2
if(gfld%ipdtmpl(10).eq.100) then
! Pressure level (range from 1000mb to 0mb)
level=gfld%ipdtmpl(12) *
& (10. ** (-1. * gfld%ipdtmpl(11)))
if ( level .lt. pmin ) cycle MATCH_LOOP
elseif((gfld%ipdtmpl(10).eq.105).or.
源网页的做法,是去除掉小于pmin的层数,这样总层数会少于32,而在wrf执行阶段无法运行。主要是num_metgrid_levels默认32与修改后的层数不匹配造成的。
无需修改Vtable之类。
|
评分
-
查看全部评分
|