- 积分
- 2302
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-12-13
- 最后登录
- 1970-1-1
|
1金钱
事情是这样的,我的一个求各个站点的多年平均值的程序,一共88个站,8016天,我现在要求这8016天的平均值,并且放到站点的grd里。
程序是我之前就写好了,并且运行过了,是正确的。当时站点是78个,7411天,我在更新了参数之后其他的地方没有动过手脚。结果生成的grd怎么都不能在GRADS中生成正确的.map文件。自然就不能用来画图。
找了多位同学帮我查看也没看出来有哪里不对。(也可能是我在描述时给了他们误导,以至于没有发现)
所以恳请各位知道的大神帮忙看看 我到底哪里错了。
以下是程序:
program kongjianfenbu
integer,parameter::m=88,nt=8016,p=6
character(5)::sta(m)
character(8)::stat(m)
real lat(m),lon(m),h(m)
integer zh(m,nt),yr(m,nt),mo(m,nt),day(m,nt)
real pjqw(m,nt),zgqw(m,nt),zdqw(m,nt),xdsd(m,nt)
real a45(m,nt),a68(m,nt)
real station(m,p)
!读入站点
open(11,file='d:\study\taizhan.txt')
do im=1,m
read(11,*)sta(im),lon(im),lat(im),h(im)
end do
stat=sta
close(11)
do im=1,m
open(11,file='d:\study\resultsta\'//sta(im)//'.txt')
do it=1,nt
read(11,*)zh(im,it),yr(im,it),mo(im,it),day(im,it),
&pjqw(im,it),zgqw(im,it),zdqw(im,it),xdsd(im,it),
&a45(im,it),a68(im,it)
end do
close(11)
enddo
!pause
!计算年各个站点多年平均值
do im=1,m
do it=1,nt
station(im,1)=station(im,1)+pjqw(im,it)/nt/10
end do
end do
do im=1,m
do it=1,nt
station(im,2)=station(im,2)+zgqw(im,it)/nt/10
end do
end do
do im=1,m
do it=1,nt
station(im,3)=station(im,3)+zdqw(im,it)/nt/10
end do
end do
do im=1,m
do it=1,nt
station(im,4)=station(im,4)+xdsd(im,it)/nt
end do
end do
do im=1,m
do it=1,nt
station(im,5)=station(im,5)+a45(im,it)/nt/10
end do
end do
do im=1,m
do it=1,nt
station(im,6)=station(im,6)+a68(im,it)/nt/10
end do
end do
tim=0.0
nlev=1
nflag=1
open(2,file='d:/study/kjsj/zhanzhan.grd',form='binary')
open(3,file='d:/study/kjsj/zhanzhan.txt')
do im=1,m
write(2)stat(im),lat(im),lon(im),tim,nlev,nflag,
&(station(im,k),k=1,p)
write(3,"(a8,11f10.4)")stat(im),lat(im),lon(im),tim,nlev,nflag,
&(station(im,k),k=1,p)
end do
nlev=0
write(2)stat(im-1),lat(im-1),lon(im-1),tim,nlev,nflag
write(3,"(a8,5f10.4)")stat(im-1),lat(im-1),lon(im-1),tim,
&nlev,nflag
close(2)
close(3)
print*,'space ok'
end
文件3是为了看看grd里写成啥样,所以特地生成了一个txt看看。txt内容如下
检查了发现并没有啥不对。
grd对应写了ctl如下:
接下来用grads生成map文件也没报错,但是就是在画图的时候 画不出来
我检查了差值所用的底图文件和我的ctl时间是一致的,并没有看出来哪里不对。
也用别的文件测试了,并不是grads抽风突然坏掉。
还请大家帮忙看一下。我真心给跪了。
ps:画图的gs:
底图差值的grid。ctl放在这里了
含泪求助
|
最佳答案
查看完整内容
输出grd的时候经纬度反了,纬度在前面,可能是你的原始数据排列和之前不一样了吧。
|