爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 1277105864

[分享资料] 几十年的站点资料如何插值到格点文件上

[复制链接]

新浪微博达人勋

 楼主| 发表于 2016-1-20 13:45:37 | 显示全部楼层
四叶草 发表于 2016-1-19 17:02
如果你站点数据插值到格点这一步没错,那你用gs提取的数据也是对的。生成的pregriddata.grd只有12kb,是 ...

我试了一下,确实是这个问题。生成出的pregriddata.grd也是正常大小。后来我想看一下插值的结果对不对,就是想把画出来的图与我之前用两个ctl文件画出来的图做对比,但是画出来的图不尽人意,图片不知道怎么附上,所以放在附件里,麻烦大神看一下这是我画图的gs文件:
'reinit' 'open e:\3\pregriddata.ctl''set grads off''set grid off''set mpdset cn''set t 1''enable print e:\3\x1.gmf''set xlopts 1 10 0.18''set ylopts 1 10 0.18''set cthick 8''set clopts 1 6 0.1''d aa''set gxout contour''set cint 5''d aa''set cint 5''cnbasemap aa''print''disable print';

x1.gmf

500.71 KB, 下载次数: 2, 下载积分: 金钱 -5

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

新浪微博达人勋

 楼主| 发表于 2016-1-20 16:03:36 | 显示全部楼层
1277105864 发表于 2016-1-20 13:45
我试了一下,确实是这个问题。生成出的pregriddata.grd也是正常大小。后来我想看一下插值的结果对不对, ...

'reinit'
'open e:\data1\temperature160\grid.ctl'
'open e:\data1\temperature160\temp.ctl'
'set fwrite e:\data1\temperature160\tempgriddata.grd'
'set gxout fwrite'
'set lon 70 140'
'set lat 15 55'
'set t   1 779'
'set lev 0'
'define a=oacres(tt,temp.2)'
'define a1=maskout(a,tt-0.5)'
'define aa=smth9(a1)'
'd aa'
'disable fwrite'
;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-20 16:13:47 | 显示全部楼层
学习了                        
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-20 17:44:58 | 显示全部楼层

但是这是错的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-21 12:58:11 | 显示全部楼层
1277105864 发表于 2016-1-20 13:45
我试了一下,确实是这个问题。生成出的pregriddata.grd也是正常大小。后来我想看一下插值的结果对不对, ...

添加图片你按照回复、高级模式顺序,进去一看就晓得了!
x1.JPG
只是看图,不能发现错误,把你绘制两个图的gs都贴上来,大家有空帮你找找错。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-21 16:12:24 | 显示全部楼层
四叶草 发表于 2016-1-21 12:58
添加图片你按照回复、高级模式顺序,进去一看就晓得了!

只是看图,不能发现错误,把你绘制两个图的gs ...

我再具体说一下情况:
       经过处理,我生成了两个文件,一个是二进制的站点资料temp.grd(3917kB),还有一个是格点文件(背景场)grid.grd(8859kB)。书上介绍了用这两个文件如何插值并画图,我模仿书上的内容,也能画出图。画图的gs文件:
'reinit'
'open e:\data1\temperature160\grid.ctl'
'open e:\data1\temperature160\temp.ctl'
'enable print e:\data1\temperature160\tu1.gmf'
'set grads off'
'set grid off'
'set mpdset cn'
'set t 1'
'define a=oacres(tt,temp.2)'
'define a1=maskout (a,tt-0.5)'
'define aa=smth9(a1)'
'set xlopts 1 10 0.18'
'set ylopts 1 10 0.18'
'set gxout shaded'
'd aa'
'set cthick 8'
'set clopts 1 6 0.1'
'set gxout contour'
'set cint 50'
'd aa'
'set cint 50'
'cnbasemap aa'
'print'
'disable print'
;    画出的图为图1


但是书上并没有把站点资料插值到格点文件后的格点资料输出形成一个文件。然而我想生成站点资料对应的格点资料的文件,因为还需要进一步用到这个数据。于是我就写了一个gs文件,目的是把二进制站点资料插值到格点文件上并输出。
gs文件如下:
'reinit'
'open e:\data1\temperature160\grid.ctl'
'open e:\data1\temperature160\temp.ctl'
'set fwrite e:\data1\temperature160\tempgriddata.grd'
'set gxout fwrite'
'set lon 70 140'
'set lat 15 55'
'set t   1 779'
'set lev 0'
'define a=oacres(tt,temp.2)'
'define a1=maskout(a,tt-0.5)'
'define aa=smth9(a1)'
'd aa'
'disable fwrite'
;

这样我就生成了一个格点资料tempgriddata.grd(8859kB),奇怪的是,这个格点资料的大小和格点文件(背景场)的大小一样的,我以为格点资料的文件会大一些,不过也有可能就是一样大。于是我就用这个生成的格点资料画图,如果能画出正常的图,说明这个生成的格点资料是对的。
我画图的描述文件(tempgriddata.ctl)如下:
dset e:\data1\temperature160\tempgriddata.grd
undef -999.0
title 3
xdef 71 linear 70 1
ydef 41 linear 15 1
zdef 1  linear 0 1
tdef 779  linear Jan1951 1mo
vars 1
temp 0 99 grid data
endvars

我画图的gs文件如下:
'reinit'
'open e:\data1\temperature160\tempgriddata.ctl'
'set grads off'
'set grid off'
'set mpdset cn'
'set t 1'
'enable print e:\data1\temperature160\x1.gmf'
'set xlopts 1 10 0.18'
'set ylopts 1 10 0.18'
'set cthick 8'
'set clopts 1 6 0.1'
'set gxout shaded'
'd temp'
'set gxout contour'
'set cint 50'
'd temp'
'set cint 50'
'cnbasemap temp'
'print'
'disable print'
;    画出的图为图2


我不知道问题出在哪儿,麻烦大神指点,谢谢!

图2

图2

图1

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

新浪微博达人勋

 楼主| 发表于 2016-1-21 16:13:41 | 显示全部楼层
1277105864 发表于 2016-1-21 16:12
我再具体说一下情况:
       经过处理,我生成了两个文件,一个是二进制的站点资料temp.grd(3917kB) ...

注意:下面这张图是图1,上面那张是图2
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-21 16:16:05 | 显示全部楼层
1277105864 发表于 2016-1-21 16:13
注意:下面这张图是图1,上面那张是图2

我这次贴的是温度图,昨天贴的是降水图,不过出现的是同样的问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-21 18:40:15 | 显示全部楼层
1277105864 发表于 2016-1-21 16:12
我再具体说一下情况:
       经过处理,我生成了两个文件,一个是二进制的站点资料temp.grd(3917kB) ...

第一、提取后的格点数据描述文件有点儿小毛病,按照如下微改试试!
dset e:\data1\temperature160\tempgriddata.grd
undef -999.0
title 3
xdef 71 linear 70 1
ydef 41 linear 15 1
zdef 1  linear 1 1
tdef 779  linear Jan1951 1mo
vars 1
temp 0 99 grid data
endvars
第二、若描述文件改了还是不行,那就排查提取数据的gs,按照下面的更改。
'reinit'
'open e:\data1\temperature160\grid.ctl'
'open e:\data1\temperature160\temp.ctl'
'set fwrite e:\data1\temperature160\tempgriddata.grd'
'set gxout fwrite'
tt=1
while(tt<=779)
'set lon 70 140'
'set lat 15 55'
'set t 'tt''
*'set t   1 779'*这一行注释掉。
'set lev 0'*这一行删掉,在这里没有什么意义。
'define a=oacres(tt,temp.2)'
'define a1=maskout(a,tt-0.5)'
'define aa=smth9(a1)'
'd aa'
tt=tt+1
endwhile
'disable fwrite'
;

密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2016-1-22 11:24:03 | 显示全部楼层
四叶草 发表于 2016-1-21 18:40
第一、提取后的格点数据描述文件有点儿小毛病,按照如下微改试试!
dset e:\data1\temperature160\tempg ...

按照你说的改了,但是出的图和图2还是一样的。
出图的时候在grads里面是这样显示的:
z3.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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