- 积分
- 2145
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-4-24
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 爱知天气 于 2014-4-26 19:13 编辑
问了同学没问出来,于是求助。先谢谢大家了。
现在我有1958-1977年的V风月平均资料,一共20年,共240个月,这时的资料经过GrADS画图检查,都是正确的。现在我想提取每年6--10月的资料出来,也就是一共20*5=100个月的资料。于是我写了一个fortran程序,但是提取出来的资料有问题,20年中每一年的6月分画出的图都是一样的(7、8、9、10月同样如此),也就是最后一年的6月应该把之前年份的6月全部覆盖掉了。我传一张1958年6月的图和1959年6月的图,它们是一样的。下面是fortran程序:
program main !!!! !!! This program is choosing the data in June to October and rewrite them in a new file for better using
implicit none
integer i,j,t,yr
integer,parameter::n=20 !20年时间,1958—1977年
real v(53,21,240)
!!!把grd文件读入数组!!!
open(10,file='E:\BY\figure2\data\v1958-1977.grd',form="binary")
read(10)(((v(i,j,t),i=1,53),j=1,21),t=1,240)
close(10)
!!!提取所需数据重新写入新二进制文件,便于处理
open(11,file='E:\BY\figure2\data6to10\v1958-1977JtoO.grd',form="binary")
do yr=1,n
do t=(n-1)*12+6,(n-1)*12+10 ! 提取6-10月的资料
do j=1,21
do i=1,53
if(v(i,j,t)<-999.) then
v(i,j,t)=-9999.
endif
write(11)v(i,j,t)
end do
end do
end do
end do
close(11)
end
这是V的ct文件:
dset E:\BY\figure2\data6to10\omega1958-1977JtoO.grd
title vwind 1958-1977 JUN to OCT
undef -9.99e08
xdef 53 linear 70 2.5
ydef 21 linear -10 2.5
zdef 1 levels 500
tdef 100 linear 00Z01JUN1958 1mo
vars 1
v 1 0 Monthly v
endvars
|
-
1958年6月的V
-
1959年6月的V
|