爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12194|回复: 15

[分享资料] 站点绘图oacres老不对呀,求救!

[复制链接]

新浪微博达人勋

发表于 2016-2-12 22:39:34 | 显示全部楼层 |阅读模式

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

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

x

站点资料可以绘制填图。但是差值到格点上时,老是出错。生成格点的Fortran程序就是按照“清风”共享的详解。
求大侠们帮助!
    program  GEN_GRID_DATA
parameter(nx=501,ny=451)
real lat(ny),lon(nx)
c real s(nx,ny)
real s
open(1,file='F:\grads\rainfall-grd\grid_0.1.grd',
     &  form='binary')
lat(1)=10.0
lon(1)=90.0
do j=1,ny-1
lat(j+1)=lat(j)+0.1
enddo
do i=1,nx-1
lon(i+1)=lon(i)+0.1
enddo

do i=1,ny
do j=1,nx
write(1) s
enddo
enddo
close(1)
end


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

新浪微博达人勋

 楼主| 发表于 2016-2-13 00:10:57 | 显示全部楼层
论坛功能强大,通过各种找,哈哈。问题解决了。我的问题出在格点的ctl上。注意几个原则:
1、grid.grd文件的精度要高于或等于rain.grd的精度,我取的是0.1
2、grid.grd文件的范围要大于或等于rain.grd的范围。
3、grid.grd文件的描述文件中时间说明一定要与rain.ctl中时间一致!!!!!我就是载在这里的。两个ctl文件内tdef 这一项不一致,好难发现!!!
应该谢谢“Mr.Yes ”发的帖子,里面有提到,谢谢。现在贴出来,也希望能帮到别人。
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2016-2-12 22:41:27 | 显示全部楼层
错误提示:warning from oacres:less then two ststion
grid will be all missing values
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-12 22:41:32 | 显示全部楼层
错误提示:warning from oacres:less then two ststion
grid will be all missing values
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-12 23:16:39 | 显示全部楼层
格点的经纬度个数我设的一样,就怕经纬度反了。还是不行,请问与经纬度的大小有关系吗?比如说站点数据是全球的,格点数据的经纬度可以设成90-140,10-50吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-13 10:07:19 | 显示全部楼层
朋友,你好,我前一段时间也在尝试处理站点资料,但我想把二进制的站点数据差值到格点文件上之后,生成一个二进制的格点数据,家园里的好多例子都是用二进制的站点资料差值到格点文件上直接画图,但没有生成文件的,所以想请教一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-13 10:16:22 | 显示全部楼层
抱歉,我也只是刚实验成功站点到格点的插值和绘图,尚未涉及插值后生成二进制文件的,我想是否可以用fwrite来实现?我没亲自试过,你可以试试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-13 10:25:12 | 显示全部楼层
cch513 发表于 2016-2-13 10:16
抱歉,我也只是刚实验成功站点到格点的插值和绘图,尚未涉及插值后生成二进制文件的,我想是否可以用fwrite ...

我试过了,也生成了一个文件,然后我用这个文件画图,只能画出0线,其他什么值都没有,这个问题一直没有解决
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-13 11:09:24 | 显示全部楼层
再看看论坛内有关fwrite的使用的帖子吧,祝你顺利解决问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-13 11:30:49 | 显示全部楼层
由于目前国内大部分GrADS 用户都是高等院校或科研单位,而这些用户不但具有较好的设备,而且一般都拥有经过处理的再分析资料或数值预报产品的输出数据。但对于大部分国内气象工作者来说,只具备原始的地面观测报和高空探空资料,如何灵活、方便地把这些数据自行转换为用户需要的网格点数据成为用户使用GrADS 的一大问题。
GrADS 本身就具备把站点数据转换为网格点数据的功能。其主要步骤如下:
(1) 把原始数据转换为GrADS 格式的二进制数据文件( stn1dat ) , 并写好数据描述文件(stn1ctl) 。
(2) 按照预定的时间维数、物理量维数和三维空间网格维数生成一个网格点数据文件(model1dat) 和相应的描述文件(model1ctl) ,其中写入model1dat 中的数据可以为任意值,GrADS 将按照model1dat 进行网格插值。
(3) 通过set fwrite filename1dat 设置转换后的数据文件名,运用set gxout fwrite 把GrADS 的输出写到filename1dat 中。
(4) 调用GrADS 内置函数oacres ( ) 进行网格点转换,用户可以在oacres ( ) 中设置五个扫描半径最大限度的减少误差。
完成转换后,只需编写相应的数据描述文件,用户就可在GrADS 中进行各种操作。
除了把站点数据转换为网格点数据以外,用户如果需要把网格点上的预报场数据(即预报产品的数据) 重新转换为站点数据,并与实际的站点数据进行比较来检查自己的模式是否正确,这就需要用到GrADS 中提供的函数gr2stn ( gridexpr , stnex2pr) ,其中gridexpr 是网格点上的数据,stnexpr 是站点数据,GrADS 按照用户给出的stnexpr 参数把网格点上的数据插值到相应的站点上,gr2stn ( ) 返回插值后的站点数据,而stnexpr 中的数据并不改变。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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