主题:Fortran读取grd文件遇到问题
Fortran菜鸟……求助一下大家!!!刚开始入门,很纠结!
现在有一个grd文件,是用grads转的nc资料,nc资料是1900-2009逐月的2米气温。转的GRD数据是1900-2009年1320个月的逐月全球平均2米气温资料。想要做出1900-2009年逐年平均的资料,要怎么写这个程序呀!!!不太会写循环呀,大家帮帮忙吧……非常感谢!!!
这是写的gs:
'sdfopen f:\nc\1.nc'
'set gxout fwrite'
'set fwrite f:\1gc.grd'
'set x 1'
'set y 1'
'set z 1 1'
i=1
while(i<=1320)
'set t 'i''
'define var=aave(t2m,x=1,x=721,y=1,y=361)'
'set x 1 721'
'set y 1 361'
'd var'
i=i+1
endwhile
'disable fwrite'
;
之后写了Fortran程序,
program main
integer,parameter(i=1320,t=110)
integer ii,it
real var(i),year(t)
open(1,file='f:\f\1gc.grd',status='old',form='binary')
do ii=1,i
do it=1,t
read(1) var(ii)
year(it)=(var(t*12-11)+var(t*12-10)+var(t*12-9)+var(t*12-8)+var(t*12-7)+var(t*12-6)+var(t*12-5)+var(t*12-4)+var(t*12-3)+var(t*12-2)+var(t*12-1)+var(t*12))/12
enddo
enddo
open(2,file='f:\1gc.txt',status='new')
write(*,*) year
close(1)
close(2)
end
现在有一个grd文件,是用grads转的nc资料,nc资料是1900-2009逐月的2米气温。转的GRD数据是1900-2009年1320个月的逐月全球平均2米气温资料。想要做出1900-2009年逐年平均的资料,要怎么写这个程序呀!!!不太会写循环呀,大家帮帮忙吧……非常感谢!!!
这是写的gs:
'sdfopen f:\nc\1.nc'
'set gxout fwrite'
'set fwrite f:\1gc.grd'
'set x 1'
'set y 1'
'set z 1 1'
i=1
while(i<=1320)
'set t 'i''
'define var=aave(t2m,x=1,x=721,y=1,y=361)'
'set x 1 721'
'set y 1 361'
'd var'
i=i+1
endwhile
'disable fwrite'
;
之后写了Fortran程序,
program main
integer,parameter(i=1320,t=110)
integer ii,it
real var(i),year(t)
open(1,file='f:\f\1gc.grd',status='old',form='binary')
do ii=1,i
do it=1,t
read(1) var(ii)
year(it)=(var(t*12-11)+var(t*12-10)+var(t*12-9)+var(t*12-8)+var(t*12-7)+var(t*12-6)+var(t*12-5)+var(t*12-4)+var(t*12-3)+var(t*12-2)+var(t*12-1)+var(t*12))/12
enddo
enddo
open(2,file='f:\1gc.txt',status='new')
write(*,*) year
close(1)
close(2)
end
有错误,要怎么写才对啊?有谁能帮帮我吗?