- 积分
- 41880
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-8-28
- 最后登录
- 1970-1-1
|
发表于 2013-12-13 12:34:40
|
显示全部楼层
这个好像有一个帖子介绍过的,需要修改生成的ctl文件。具体看一下你的 idx 文件里面除了!!!!match是不是还有..... NOOOO,那就需要修改ctl了。(红色部分字体by LYanbing帖子里的,具体地址没找到)
下面举例说明解决过程(针对最后一个..... NOOOO):
1. gribmap –v –i grib2006060100.ctl >b.txt生成的b.txt中的
..... NOOOO: 285 23782648 3 1 0 27 100 500 (后面省略)
可以发现出错的地方对应field号是285。
2. 用wgrib –v grib2006060100 >a.txt得到的数据field描述文件中,285号field附近的现场
284:23592070:D=2006060100:GPA:1000 mb:kpds=27,100,1000:anl:"Geopotential height anomaly [gpm]
285:23698038:D=2006060100:GPA:500 mb:kpds=27,100,500:anl:"Geopotential height anomaly [gpm]
可以发现285号的field表示的是500hpa的“Geopotential height anomaly”,另有284号field表示的是1000hpa的“Geopotential height anomaly”,两者简称都是“GPA”。
3. grib2ctl grib2006060100 >grib2006060100.ctl生成的grib2006060100.ctl中与“Geopotential height anomaly”及“GPA”相关的现场
GPAprs 2 27,100,0 ** (profile) Geopotential height anomaly [gpm]
可以发现,284和285号的field被grib2ctl合成了一个2层的Var,即GPAprs。
.. 分析
现场3中,如果按照GPAprs这样的2层Var定义方式,那么对应的两个气压层次应该是zdef 26 levels中最初的2层,即1000和975,1000对应现场2中284号field是对的,但975无法对应285号field,因为这个field表示的层次是500,这就是问题所在了!
.. 纠正错误
修改ctl文件,把现场3中的2层GPAprs变量改成2个0层的变量,kpds要对应现场2:
GPA1000hpa 0 27,100,1000 ** 1000hpa Geopotential height anomaly [gpm]
GPA500hpa 0 27,100,500 ** 500hpa Geopotential height anomaly [gpm]
然后,还要记得把变量数Vars 95改成Vars 96,保存,这时新的ctl就更正确了一些,再用gribmap诊断发现原错误行变成了!!!!!MATCH。
其他的错误行可用类似的办法修正!
需要说明的是,如果你需要使用的变量都!!!!!MATCH成功,上文的这种修改就不是必须,如果追求完美,那自然要修改至清一色!!!!!MATCH为止,这是你的自由! |
|