爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: lz007700

[分享资料] 如何用GrADS把数据转化为整数输出?

[复制链接]
0
早起挑战累计收入
发表于 2012-5-24 09:00:41 | 显示全部楼层

你也许已经明白了。。。。。。。你看看GrADS官网关于fwrite的介绍吧。
总之fwrite能写出的一定是场变量,script中定义的变量是不可能用fwrite写出来的,你可以试试看

'set gxout fwrite'
'set fwrite .....'
a=1
'd a'
'disable fwrite'
这个写法一定是错误,原因就是 a是script变量,但是如果是

'open .....ctl'
'set gxout fwrite'
'set fwrite....'
'define temp=var'
'd temp'
'disable fwrite'
这就是可以的,因temp是场变量,如果你一定要把script定义的变量用fwrite输出,除非你用collect命令把它变为场变量,但是那是相当麻烦的,最终也是以场变量的形式输出。
同样,第一段代码中你是可以使用 math_int函数的,但是放到第二段中就会提示不识别的关键字,同样还是两个变量不同的原因。你再不能区分我也没辙了,这个不是用不用math函数的问题,是根本使用的对象是不同的
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2012-5-24 09:03:53 | 显示全部楼层
具体到你这个问题,也不是很麻烦,你用兰溪的  grads2ascii输出为ascii码(文本)文件,输出的时候控制一下格式,用整型的格式输出就行了,然后再用fortran写出为二进制即可
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2012-5-24 09:06:37 | 显示全部楼层
最后再补充一下,GrADS的二进制格点文件中全部都是实型的数据,即使你用我上面的方法输出为整型,写入的时候同样还是要用实型写入,这个是规定好的东西,real*4的类型,所以,你不用再纠结了,比如你吧 4.5变成4,再次写入就是 4.0
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2012-5-24 10:11:41 | 显示全部楼层
mofangbao 发表于 2012-5-24 09:06
最后再补充一下,GrADS的二进制格点文件中全部都是实型的数据,即使你用我上面的方法输出为整型,写入的时候 ...

非常感谢清风的耐心且全面的解答,受益匪浅,
密码修改失败请联系微信:mofangbao
发表于 2016-1-25 23:23:11 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2018-8-12 10:37:13 | 显示全部楼层
学习到了,谢谢
密码修改失败请联系微信:mofangbao
发表于 2018-12-2 22:21:21 | 显示全部楼层
太强大了 受益匪浅啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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