爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5629|回复: 12

[分享资料] 有关ctl描述二进制文件z方向倒置的问题

[复制链接]

新浪微博达人勋

发表于 2013-9-16 17:54:03 | 显示全部楼层 |阅读模式

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

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

x
发现了一个比较奇怪的问题,比如我要从很多个文件中提出一个变量,写到一个二进制文件中,然后用ctl描述新写成的二进制文件,再生成nc文件。之后问题就来了,在grads中打开这个nc文件,z方向是颠倒的,比如原来的set z 1是1000,set z 37是1,现在变成了set z 1是1,而set z 37是1000了,我确定我写的ctl文件中没有错误,而且在NCL中打开都没有这个问题,请问各位有人碰到这个问题么?应该怎么解决呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-16 21:52:36 | 显示全部楼层
首先,提供一下你写GRD的gs文件。
其次,可以在重新描述的时候反着写层次。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-16 22:25:27 | 显示全部楼层
完全的自信,求作证材料
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-16 22:33:10 | 显示全部楼层
那你都说你的过程没问题,那出来的结果应该也不会有问题吧。画图的时候倒过来设置好了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-9-17 04:27:23 | 显示全部楼层

拿NCEP-CFSR举例,把V风场写成一个文件的gs如下:
'reinit'
'open pgbhnl.gdas.ctl'
'set gxout fwrite'
'set fwrite vwnd.bin'
i=1
while(i<=372)
    j = 1
    while(j<=37)
        'set t 'i''
        'set z 'j''
        'set x 1 720'
        'set y 1 361'
        'd VGRDprs'
    j=j+1
    endwhile
i=i+1
endwhile
'reinit'

配套vwnd.bin的vwnd.ctl描述文件如下:
dset  vwnd.bin
title  meridional wind [m/s]
undef 9.999E+20
xdef  720 linear   0.0 0.5
ydef  361 linear -90.0 0.5
zdef   37 levels 1000 975 950 925 900 875 850 825 800 775 750 700 650 600 550 500 450 400 350 300 250 225 200 175 150 125 100 70 50 30 20 10 7 5 3 2 1
tdef  372 linear 01JAN1979 1mo
vars 1
vwnd  37  99  meridional wind [m/s]
endvars

然后cdo -f nc import_binary vwnd.ctl vwnd.nc生成nc文件,请问这样做有问题么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-9-17 04:28:01 | 显示全部楼层
做个霸气的木头 发表于 2013-9-16 22:25
完全的自信,求作证材料

拿NCEP-CFSR举例,把V风场写成一个文件的gs如下:
'reinit'
'open pgbhnl.gdas.ctl'
'set gxout fwrite'
'set fwrite vwnd.bin'
i=1
while(i<=372)
    j = 1
    while(j<=37)
        'set t 'i''
        'set z 'j''
        'set x 1 720'
        'set y 1 361'
        'd VGRDprs'
    j=j+1
    endwhile
i=i+1
endwhile
'reinit'

配套vwnd.bin的vwnd.ctl描述文件如下:
dset  vwnd.bin
title  meridional wind [m/s]
undef 9.999E+20
xdef  720 linear   0.0 0.5
ydef  361 linear -90.0 0.5
zdef   37 levels 1000 975 950 925 900 875 850 825 800 775 750 700 650 600 550 500 450 400 350 300 250 225 200 175 150 125 100 70 50 30 20 10 7 5 3 2 1
tdef  372 linear 01JAN1979 1mo
vars 1
vwnd  37  99  meridional wind [m/s]
endvars

然后cdo -f nc import_binary vwnd.ctl vwnd.nc生成nc文件,请问这样做有问题么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-9-17 08:25:11 | 显示全部楼层
要是真的完全没错的话  就不会出错了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-9-17 08:27:35 | 显示全部楼层
你先不要生成nc  直接用你的bin文件画图看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-9-17 09:12:08 | 显示全部楼层
mofangbao 发表于 2013-9-17 08:27
你先不要生成nc  直接用你的bin文件画图看看

用bin配上ctl画图没问题,但是用生成nc再用grads打开就颠倒过来了,但是用NCL,matlab打开就没问题,请问这个是什么问题呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-17 09:52:20 | 显示全部楼层
MacTaylor 发表于 2013-9-17 09:12
用bin配上ctl画图没问题,但是用生成nc再用grads打开就颠倒过来了,但是用NCL,matlab打开就没问题,请问 ...

表面上看没什么问题,如果你的bin配ctl没问题那就是cdo转nc的问题
尝试使用NCL、GrADS或者Meteoinfo之类的软件转成nc再试试,或者贴出ncdump -h 的信息
PS:GrADS转nc方法:
ga->open XXX.ctl
ga->lats4d.gs -o 路径\ofile.nc
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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