爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5288|回复: 5

[分享资料] 处理站点资料 用display命令 站点的数值不能显示

[复制链接]

新浪微博达人勋

发表于 2012-10-4 12:19:11 | 显示全部楼层 |阅读模式

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

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

x
我用Fortran将站点资料转换为二进制之后,写完ctl,并生成.map文件,但用display命令无法显示站点数值,初学者求教各位
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-10-4 13:42:26 | 显示全部楼层
将你的fortran和ctl都贴上来,大家帮你分析分析~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-10-4 16:14:35 | 显示全部楼层
恩 这是Fortran程序
program main
implicit none
integer i
real tim
integer nlev
integer nflag
real vec(160)


open(1,file='d:\data\r160601.txt',status='old')
read(1,*) (vec(i),i=1,160)
close(1)

! 将文本转换为grads所支持的二进制
call stntogrd(vec)
end
subroutine stntogrd(x)
real lat(160),lon(160),x(160)
character*8 stid(160)

! 读入经纬度!
open(2,file='d:\data\station.dat')
do 20 k=1,160
20 read(2,*)lon(k),lat(k)
close(2)

!给出站号!
do 2 i=1,160
2 stid(i)=char(i)

!按排序向二进制文件写记录文件为"201006.grd"!
open(3,file='d:\data\195106.grd',form='binary')

tim=1.0
nlev=1
nflag=1
do 40 i=1,160
write(3) stid(i),lon(i),lat(i),tim,nlev,nflag,x(i)

40 continue
nlev=0
write(3) stid(i-1),lon(i-1),lat(i-2),tim,nlev,nflag
close(3)
return
end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-10-4 16:15:13 | 显示全部楼层
ctl文件
dset   d:\data\195106.grd
dtype  station
stnmap d:\data\rain.map
undef  -999.0
title  rain
tdef   1 linear Jun1951 1mo
vars   1
p 0 99 rainfall data
ENDVARS
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-10-4 16:59:44 | 显示全部楼层
本帖最后由 做个霸气的木头 于 2012-10-4 17:02 编辑

ctl没有问题;
     fortran中有问题,每一行数据顺序应为:站号—纬度—经度—相对时次—记录标志—nflag—要素数据,你经纬度顺序反了,
    再者tim为相对时次,指的是相对于一天的世界时,如果数据本身是日数据,那么time就取0.0,一般都是这样,除非是有08时、20时等多个时刻,才考虑time不为0.0,此处设为0.0恒定。   还有你倒数第三行那个i-2是何用意,不应该是i-1吗?
    再有问题,把画的图一定截上来看看~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-10-4 19:21:15 | 显示全部楼层
问题解决 十分感谢版主的指正
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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