爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3224|回复: 8

[图形美化] grib文件用grads画图总缺省出不来

[复制链接]

新浪微博达人勋

发表于 2016-7-23 21:31:35 | 显示全部楼层 |阅读模式

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

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

x
刚到北京导师布置的第一个任务。。问了师兄师姐都没解决,最后只好求教论坛资料是国家气象中心的复杂压缩文件解压缩后得到的
用了兰溪的方法用grib2ctl和 gribmap都成功生成了ctl和索引文件,(没有报错,但是索引文件的TXT有很多行不match)但是画图永远出不来,找了很多原因觉得是CTL没有做修改的原因,可是改过几个细节也都不对,也不知如何修改这自动生成的CTL。。真心求教各位师兄师姐...
CTL如下:
dset d:/xzz/2016050100/W_NAFP_C_ECMF_20160501104805_P_C3Y05010000051100001.grib
index d:/xzz/2016050100/W_NAFP_C_ECMF_20160501104805_P_C3Y05010000051100001.grib.idx
undef 9.999E+20
title d:/xzz/2016050100/W_NAFP_C_ECMF_20160501104805_P_C3Y05010000051100001.grib
*  produced by grib2ctl v0.9.12.5p39c
dtype grib 255
options yrev
ydef 181 linear -90.000000 1
xdef 360 linear 0.000000 1.000000
tdef 1 linear 00Z01may2016 1mo
zdef 1 linear 1 1
vars 13
no10FGIsfc  0 49,1,0  ** surface 10 metre wind gust index [(-1 to 1)]
no10WSIsfc  0 165,1,0  ** surface 10 metre speed index [(-1 to 1)]
no2TIsfc  0 167,1,0  ** surface 2 metre temperature index [(-1 to 1)]
GH500mb  0 156,100,500 ** 500 mb Height [gpm]
MN2TIsfc  0 202,1,0  ** surface Minimum temperature at 2 metres index [(-1 to 1)]
MX2TIsfc  0 201,1,0  ** surface Maximum temperature at 2 metres index [(-1 to 1)]
SFIsfc  0 144,1,0  ** surface Snowfall index [(-1 to 1)]
T850mb  0 130,100,850 ** 850 mb Temperature [K]
TAG4K850mb  0 24,100,850 ** 850 mb Temperature anomaly greater than +4 K [%]
TAG8K850mb  0 25,100,850 ** 850 mb Temperature anomaly greater than +8 K [%]
TALM4K850mb  0 23,100,850 ** 850 mb Temperature anomaly less than -4 K [%]
TALM8K850mb  0 22,100,850 ** 850 mb Temperature anomaly less than -8 K [%]
TPIsfc  0 228,1,0  ** surface Total precipitation index [(-1 to 1)]
ENDVARS

表示索引过程的TXT:(没贴完整,后面还有很多不match..)
grib1map:  opening GRIB file: d:/xzz/2016050100/W_NAFP_C_ECMF_20160501104805_P_C3Y05010000051100001.grib
!!!!! MATCH:      1      65274  255  1     0   22  100 850          109          0   8  btim: 2016050100:00 tau:     96 dtim: 2016050500:00
!!!!! MATCH:      2     130548  255  1     0   23  100 850        65383          0   8  btim: 2016050100:00 tau:    120 dtim: 2016050600:00
!!!!! MATCH:      3     195822  255  1     0   25  100 850       130657          0   8  btim: 2016050100:00 tau:    144 dtim: 2016050700:00
GRIB grid size does not match descriptor:     4     975744  255  1     0  156  100 500       195979          0  12  btim: 2016050100:00 tau:     12 dtim: 2016050112:00
GRIB grid size does not match descriptor:     5    1755666  255  1     0  156  100 500       975901          0  12  btim: 2016050100:00 tau:    114 dtim: 2016050518:00
GRIB grid size does not match descriptor:     6    2535588  255  1     0  156  100 500      1755823          0  12  btim: 2016050100:00 tau:    168 dtim: 2016050800:00
GRIB grid size does not match descriptor:     7    3315510  255  1     0  156  100 500      2535745          0  12  btim: 2016050100:00 tau:    216 dtim: 2016051000:00
GRIB grid size does not match descriptor:     8    4873006  255  1     0   49    1 0        3315641          0  12  btim: 2016050100:00 tau:     48 dtim: 2016050300:00
GRIB grid size does not match descriptor:     9    6430502  255  1     0  144    1 0        4873137          0  12  btim: 2016050100:00 tau:    120 dtim: 2016050600:00
GRIB grid size does not match descriptor:    10    7987998  255  1     0   49    1 0        6430633          0  12  btim: 2016050100:00 tau:    168 dtim: 2016050800:00
GRIB grid size does not match descriptor:    11    9545494  255  1     0  165    1 0        7988129          0  12  btim: 2016050100:00 tau:     24 dtim: 2016050200:00
GRIB grid size does not match descriptor:    12   11102990  255  1     0  165    1 0        9545625          0  12  btim: 2016050100:00 tau:     48 dtim: 2016050300:00
GRIB grid size does not match descriptor:    13   12660486  255  1     0  167    1 0       11103121          0  12  btim: 2016050100:00 tau:     96 dtim: 2016050500:00
GRIB grid size does not match descriptor:    14   14217982  255  1     0  167    1 0       12660617          0  12  btim: 2016050100:00 tau:     96 dtim: 2016050500:00
GRIB grid size does not match descriptor:    15   15775478  255  1     0  165    1 0       14218113          0  12  btim: 2016050100:00 tau:    240 dtim: 2016051100:00
!!!!! MATCH:     16   15840752  255  1     0   23  100 850     15775587          0   8  btim: 2016050100:00 tau:     96 dtim: 2016050500:00
!!!!! MATCH:     17   15906026  255  1     0   24  100 850     15840861          0   8  btim: 2016050100:00 tau:    144 dtim: 2016050700:00
GRIB grid size does not match descriptor:    18   16685948  255  1     0  156  100 500     15906183          0  12  btim: 2016050100:00 tau:     72 dtim: 2016050400:00
GRIB grid size does not match descriptor:    19   17465870  255  1     0  156  100 500     16686105          0  12  btim: 2016050100:00 tau:    192 dtim: 2016050900:00
GRIB grid size does not match descriptor:    20   18245792  255  1     0  156  100 500     17466027          0  12  btim: 2016050100:00 tau:    198 dtim: 2016050906:00
GRIB grid size does not match descriptor:    21   19025714  255  1     0  156  100 500     18245949          0  12  btim: 2016050100:00 tau:    228 dtim: 2016051012:00
无论用不用GS还是直接d 变量,图片都是undefined....


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-7-24 08:55:47 | 显示全部楼层
dtype grib 255  我下载grib2资料出来是dtype grib2,资料是grib2?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-7-24 10:03:41 | 显示全部楼层
看看是不是下面这样的问题

解决 idx 中不匹配问题
原来生成映射过程文件 b.txt 中,发现有 7 行不是!!!!! MATCH,而是..... NOOOO,这
个错误已经解决!
下面举例说明解决过程(针对最后一个..... NOOOO):
z 调查现场找线索
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。
z 分析
现场 3 中,如果按照 GPAprs 这样的 2 层 Var 定义方式,那么对应的两个气压层次应该是 zdef
26 levels 中最初的 2 层,即 1000 和 975, 1000 对应现场 2 中 284 号 field 是对的,但 975 无
法对应 285 号 field,因为这个 field 表示的层次是 500,这就是问题所在了!
z 纠正错误
修改 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 为止,这是你的自由!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-7-24 10:29:12 | 显示全部楼层
男紫汗 发表于 2016-7-24 08:55
dtype grib 255  我下载grib2资料出来是dtype grib2,资料是grib2?

谢谢回复^_^!给我资料的工作人员说解压缩出来的格式是grib_simple,而我是用grib_set -r -s packingType=grid_simple second_order.grib simple.grib这行命令把二次压缩变为简单压缩的
师兄的意思是有可能解压缩出来的是grib2格式嘛?可是我命令中是grib呀。。。我也很疑惑
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-7-24 10:41:13 | 显示全部楼层
river 发表于 2016-7-24 10:03
看看是不是下面这样的问题

解决 idx 中不匹配问题

谢谢回复^_^!这个文档其实我曾看见只是不知道如何解决如此多不match的情况,一大半都不match要是一个一个改。。。该改到什么时候也可能改错。。
想继续求问师兄的是,有人说是大型机上的数据转到pc机后 需要人为改动ctl,比如中options语句,big endian,可是刚刚我试了options big-endian ,options yrev big-endian,都不太对,连索引文件都出不来了{:cry:}正是由于索引文件是用ctl再gribmap得到的,所以现在我觉得主要问题出在ctl上想改动它,可是人为改怎么改动呢。。真心求教师兄
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-7-24 11:06:34 | 显示全部楼层
shinexzz 发表于 2016-7-24 10:41
谢谢回复^_^!这个文档其实我曾看见只是不知道如何解决如此多不match的情况,一大半都不match{: ...

没用过你说的资料,所以我也不清楚怎么改了···
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-7-25 20:34:47 | 显示全部楼层
river 发表于 2016-7-24 11:06
没用过你说的资料,所以我也不清楚怎么改了···

同样感谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-7-27 09:05:39 | 显示全部楼层
这个数据是ec细网格模式数据,可能是由复杂模式变成简单模式。这步你没做对。好像见过这步解压,需要很长的过程。
或者,这个数据,也许用ncl更容易出图些。
我也没具体做过,只是接触过,大概了解,提供些思路
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-7-27 16:56:45 | 显示全部楼层
qxjy123 发表于 2016-7-27 09:05
这个数据是ec细网格模式数据,可能是由复杂模式变成简单模式。这步你没做对。好像见过这步解压,需要很长的 ...

感谢!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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