爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12657|回复: 8

[分享资料] 【求助】插值问题

[复制链接]

新浪微博达人勋

发表于 2012-4-26 18:26:41 | 显示全部楼层 |阅读模式
20金钱
本帖最后由 ☆涅垚YTZ☆ 于 2012-4-26 18:27 编辑

想借助grads的差值函数把站点数据插值到格点场上(fwrite),然后EOF就可以调用了,结果出现了奇怪的错误。。。 未命名.jpg
因为不会把站点数据变成格点的,所以想了这个办法,如果这个思路本身就不对,还请各位大大给与帮助~~~
附上grd、ctl和gs。。。。
dset c:\grs\r16007.grd
dtype station
stnmap c:\grs\rain07.map
undef -999.0
title rain Jul 1961-2010
tdef 50 linear Jul1961 1yr
vars 1
p 0 99 rainfall data
endvars

这个是全国160站1961-2010年7月降水50年数据的二进制文件的ctl.
dset c:\grs\grid.grd
undef -999.0
title Sample GRID Data
xdef 29 linear 70.0 2.5
ydef 17 linear 15.0 2.5
zdef 1 levels 500
tdef 1 linear jun1961 1yr
vars 1
g 0 99 Grid Data
endvars

这是格点文件的ctl
'reinit'
'open c:\grs\grid.ctl'
'open c:\grs\r16007.ctl'
'set mpdset hires cnworld'
'define a=oacres(g,p.2,1.5)'
'define a1=maskout(a,g-0.5)'
'define aa=smth9(a1)'
'set fwrite c:\grs\aa.grd'
'set gxout fwrite'
'set t 1 50'
'set lon 73 135'
'set lat 15 55'
'd aa'
'disable fwrite'
;

这是gs文件
附上grd文件,这2个经过测试应没有错误。
r16007.grd (251.37 KB, 下载次数: 1)

最佳答案

查看完整内容

你从开始就理解错了吧,EOF不一定要格点数据的,站点数据一样做,EOF生成出来的场变量的文本文件你按照站点格式写入,画图,时间系数就按照一维数据写入画图,不需要先插值到格点数据。 如果你一定要插值到格点数据,那么一种方法你可以使用我前两天写的那个cressman插值器来插值,或者使用GrADS自带的oacres插值,然后用兰溪版主写的grads2ascii脚本把插值结果输出到文本文件,这种再去算EOF,不过确实没必要这么做。直接用 ...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-4-26 18:26:42 | 显示全部楼层

你从开始就理解错了吧,EOF不一定要格点数据的,站点数据一样做,EOF生成出来的场变量的文本文件你按照站点格式写入,画图,时间系数就按照一维数据写入画图,不需要先插值到格点数据。

如果你一定要插值到格点数据,那么一种方法你可以使用我前两天写的那个cressman插值器来插值,或者使用GrADS自带的oacres插值,然后用兰溪版主写的grads2ascii脚本把插值结果输出到文本文件,这种再去算EOF,不过确实没必要这么做。直接用站点数据算EOF就可以了
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-4-26 21:48:53 | 显示全部楼层
不太明白楼主哪里不会。说的很乱 楼主能否理清楚在重新编辑一下,把CTL和GS用来干什么的弄清楚,还有你要用GrADS达到什么目的,你已经做到什么步骤了,在哪里出了问题,需要大家讨论什么
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-4-26 22:53:11 | 显示全部楼层
mofangbao 发表于 2012-4-26 21:48
不太明白楼主哪里不会。说的很乱 楼主能否理清楚在重新编辑一下,把CTL和GS用来干什么的弄清楚,还有你要用 ...

是这样的。我想用EOF来分析160站从1961年-2010年的降水情况,但是因为EOF需要的读入数据是需要插了值的格点文件,所以我打算这样做:以6月份为例:
1.把站点资料转换为2进制文件,即grd
2.对1写ctl文件
3.写grid.grd文件
4.对3写ctl文件
5.用grads里面的fwrite语句把文件1和3合并,以达到给EOF使用的效果,所以要写一个gs文件。
以上就是我地方思路,不知道对不对,请指教
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-4-27 12:14:13 | 显示全部楼层
mofangbao 发表于 2012-4-27 08:45
你从开始就理解错了吧,EOF不一定要格点数据的,站点数据一样做,EOF生成出来的场变量的文本文件你按照站 ...

好的。我再去试一试。谢谢清风~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2012-4-27 16:06:02 | 显示全部楼层
我本科毕业论文做过站点资料的EOF,只需要把程序数组改一下就欧克了~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-4-27 16:09:35 | 显示全部楼层
fish 发表于 2012-4-27 16:06
我本科毕业论文做过站点资料的EOF,只需要把程序数组改一下就欧克了~

求详解。。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2012-4-28 08:14:49 | 显示全部楼层
☆涅垚YTZ☆ 发表于 2012-4-27 16:09
求详解。。。

以前的东西都木有了,没法详解~你好好看看程序开头读数据那块,看明白就会了~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2012-9-8 16:26:10 | 显示全部楼层
我现在遇到和你一样的问题,请问你最后怎么解决的呀,我是想把数据保存下来先做相关再做eof。看了相关的回复,但我还是要保存数据,请问你set fwrite成功了没,怎么弄的。我前面的过程和你一样,就是最后出图不一样,错位的图。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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