爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7693|回复: 14

[脚本编辑] TRMM nc数据写成dat格式,绘图结果被拉伸?

[复制链接]

新浪微博达人勋

发表于 2014-6-21 11:46:46 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 dannyjoyride 于 2014-6-21 12:12 编辑

TRMM日降水数据,nc格式,我用GrADS将多个nc数据(2013年10月9日-16日8个nc文件)写成了一个dat数据(方法如下),并写了ctl,但是绘图结果和源数据绘图结果不一样(如下图),dat结果显然图像被拉伸,请问是什么原因?非常感谢!我联系了将nc写为dat格式数据的作者,他帮我看了数据,但没发现错误所在,他自己数据的绘图结果是正确的。
nc格式改为dat格式方法:
  1. 'reinit'
  2. 'set gxout fwrite'
  3. 'set fwrite E:\OpenGrADS\Mydata\TRMM_201310\20131009-16_daily.dat'
  4. i = 9
  5. while(i<=16)
  6.     'sdfopen E:\OpenGrADS\Mydata\TRMM_201310\3B42_daily.2013.10.'i'.7.nc'
  7.      'd r'
  8.     'close 1'
  9.     i = i + 1
  10. endwhile
  11. 'disable fwrite'
  12. 'reinit'
复制代码
方法来源于:http://bbs.06climate.com/forum.php?mod=viewthread&tid=22608&highlight=trmm
GrADS绘图代码:
  1. 'reinit'
  2. 'open E:\OpenGrADS\Mydata\TRMM_201310\20131009-16_daily.ctl'
  3. 'set lon 60 110'
  4. 'set lat 0 45'
  5. 'set lev 0'
  6. 'set grads off'
  7. 'set grid off'
  8. 'set gxout shaded'
  9. 'E:\OpenGrADS\Mydata\rb_matlab.gs'
  10. 'set t 4'
  11. 'd r'
  12. 'E:\OpenGrADS\Mydata\cbar_matlab 1 1.02 1 9 4.27'
  13. 'printim E:\OpenGrADS\Mydata\TRMM_201310\TRMM-12-dat.png white'
复制代码
ctl描述文件:
  1. DSET E:\OpenGrADS\Mydata\TRMM_201310\20131009-16_daily.dat
  2. TITLE TRMM daily rainfall total
  3. UNDEF -9999.9
  4. XDEF 1440 LINEAR 0.125 0.25
  5. YDEF 400 LINEAR -49.875 0.25
  6. ZDEF 1 LEVElS 0
  7. TDEF 8 LINEAR 00Z9OCT2013 1dy
  8. *TDEF 8 LINEAR 1jan2013 1dy          //nc改为dat格式的原作者建议这样改,但是绘图结果依然不对
  9. VARS 1
  10. r 0 t,y,x daily rainfall total
  11. ENDVARS
复制代码
绘图结果对比(2013年10月12日印度洋台风降水分布): 源数据.png
dat数据.png


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

新浪微博达人勋

 成长值: 19710
发表于 2014-6-21 12:20:10 | 显示全部楼层
try:
  1. 'reinit'
  2. 'set gxout fwrite'
  3. 'set fwrite E:\OpenGrADS\Mydata\TRMM_201310\20131009-16_daily.dat'
  4. i = 9
  5. while(i<=16)
  6.     'sdfopen E:\OpenGrADS\Mydata\TRMM_201310\3B42_daily.2013.10.'i'.7.nc'
  7.      'set x 1 1440'
  8.      'set y 1 400'
  9.      'd r'
  10.     'close 1'
  11.     i = i + 1
  12. endwhile
  13. 'disable fwrite'
  14. 'reinit'
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-6-21 12:59:22 | 显示全部楼层

黄兄,不行啊,生成的dat只有1K。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2014-6-21 13:21:48 | 显示全部楼层
dannyjoyride 发表于 2014-6-21 12:59
黄兄,不行啊,生成的dat只有1K。

1K 不至于吧,如果只有1k的话,你原来的脚本出来的数据估计也差不多1k,ctl改成
  1. DSET E:\OpenGrADS\Mydata\TRMM_201310\20131009-16_daily.dat
  2. TITLE TRMM daily rainfall total
  3. UNDEF -9999.9
  4. XDEF 1440 LINEAR 0.125 0.25
  5. YDEF 400 LINEAR -49.875 0.25
  6. ZDEF 1 LEVElS 0
  7. TDEF 8 LINEAR 00Z9OCT2013 1dy
  8. *TDEF 8 LINEAR 1jan2013 1dy          //nc改为dat格式的原作者建议这样改,但是绘图结果依然不对
  9. VARS 1
  10. r 0 99 daily rainfall total
  11. ENDVARS
复制代码
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-6-21 13:31:54 | 显示全部楼层
兰溪之水 发表于 2014-6-21 13:21
1K 不至于吧,如果只有1k的话,你原来的脚本出来的数据估计也差不多1k,ctl改成

之前生成的dat 18M。ctl改了也不行,r 0 99什么意思?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2014-6-21 13:33:17 | 显示全部楼层
dannyjoyride 发表于 2014-6-21 13:31
之前生成的dat 18M。ctl改了也不行,r 0 99什么意思?

你贴个nc数据上来我看看~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-6-21 13:38:11 | 显示全部楼层
兰溪之水 发表于 2014-6-21 13:33
你贴个nc数据上来我看看~

3B42_daily.2013.10.9.7.nc (2.21 MB, 下载次数: 20)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2014-6-21 13:46:04 | 显示全部楼层

一点问题都没有
  1. 'reinit'
  2. 'set gxout fwrite'
  3. 'set fwrite 20131009-16_daily.dat'
  4. i = 9
  5. *while(i<=16)
  6. *    'sdfopen 3B42_daily.2013.10.'i'.7.nc'
  7.     'sdfopen 3B42_daily.2013.10.9.7.nc'
  8.     'set x 1 1440'
  9.     'set y 1 400'
  10.     'd r'
  11.     'close 1'
  12. *    i = i + 1
  13. *endwhile
  14. 'disable fwrite'
  15. 'reinit'
  16. ;
复制代码

  1. DSET ^20131009-16_daily.dat
  2. TITLE TRMM daily rainfall total
  3. UNDEF -9999.9
  4. XDEF 1440 LINEAR 0.125 0.25
  5. YDEF 400 LINEAR -49.875 0.25
  6. ZDEF 1 LEVElS 0
  7. TDEF 1 LINEAR 00Z9OCT2013 1dy
  8. *TDEF 8 LINEAR 1jan2013 1dy          //nc改为dat格式的原作者建议这样改,但是绘图结果依然不对
  9. VARS 1
  10. r 0 99 daily rainfall total
  11. ENDVARS
复制代码
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-6-21 17:20:07 | 显示全部楼层

多谢黄兄,dat绘图结果正确了。主要是没设置set x 1 1440   set y 1 400,而r 0 99修改不影响绘图结果。
如果GrADS几步就将nc写成了dat格式,那Fortran还有什么用?(刚开始老师是让我用Fortran写的)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2014-6-21 18:31:25 | 显示全部楼层
dannyjoyride 发表于 2014-6-21 17:20
多谢黄兄,dat绘图结果正确了。主要是没设置set x 1 1440   set y 1 400,而r 0 99修改不影响绘图结果。
...

fortran一般用来做一些复杂的计算,简单的grads即可~老师的话你也相信,你信兰溪哥哥的就行了!
话说你怎么知道我是谁。。。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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