- 积分
- 2487
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-4-13
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 不会游泳的fish 于 2018-4-26 14:16 编辑
用之前实习老师给的eof程序做分解,第一次没什么问题,数据正确也能出图。然后把原数据进行纬向平均后,再EOF输出的结果就画不出图了,在fortran里打开发现结果全为0 ,可是我就只是对原数据进行了纬向平均,并且检查了纬向平均后的数据,并没有什么问题。eof最后成功运行,并输出了一些结果,但是为什么输出的数据全为0呢?求大家帮忙看看,在这期间没有对eof程序进行任何改动
以下是eof的主程序部分
PARAMETER(M=33*91,N=240*31,MNH=33*91,KS=0,KV=10,KVT=5)
PARAMETER(ff=-9.99e+08,nx=240,ny=31)
parameter(pi=3.1415926)
DIMENSION F(N,M),A(MNH,MNH),S(MNH,MNH),ER(mnh,4),DF(N),V(MNH),AVF(N),evf(N,KVT),tCF(M,KVT),data(Nx,ny),nf(N)
open(11,file='D:\seaice\data2\juping2.grd',form='unformatted',access='direct',recl=nx*ny)
do 132 it=1,m
read(11,rec=it)((data(i,j),i=1,nx),j=1,ny)
do 132 jj=1,ny
do 132 ii=1,nx
kkkk=nx*(jj-1)+ii
f(kkkk,it)=data(ii,jj)
132 continue
close(11)
!CCCCCCCCCCCCCCCCINPUT DATA CCCCCCCCCCCCCCCCCCC
!ccccccccccccccccccccccccccccccccccccc
CALL Test1(n,m,ff,f,nf)
write(*,*)'ok2'
CALL TRANSF(N,M,F,nf,AVF,DF,KS)
write(*,*)'ok3'
CALL FORMA(N,M,MNH,F,A)
write(*,*)'ok4'
CALL JCB(MNH,A,S,0.00001)
write(*,*)'ok5'
CALL ARRANG(KV,MNH,A,ER,S)
write(*,*)'ok6'
CALL TCOEFF(KVT,KV,N,M,MNH,S,F,V,evf,tcf,ER)
write(*,*)'ok7'
call test3(N,ff,nf,evf,kvt)
write(*,*)'ok8'
open(21,file='D:\seaice\test\evf.grd',form='unformatted',access='direct',recl=nx*ny)
irec=0
do 668 kk=1,kvt
irec=irec+1
668 write(21,rec=irec)((evf(nx*(j-1)+i,kk),i=1,nx),j=1,ny)
close(21)
open(21,file='D:\seaice\test\tcf.grd',form='unformatted',access='direct',recl=kvt)
irec=0
do 345 it=1,m
irec=irec+1
345 write(21,rec=irec) (tcf(it,iik),iik=1,kvt)
close(21)
106 format(10f8.4)
open(21,file='D:\seaice\test\dats.dat')
write(21,106)(er(iiii,3),iiii=1,kv)
close(21)
STOP
END
这是第一次eof的数据和进行纬向平均后的数据
这是eof程序运行完后显示的结果,应该没什么问题吧?求大神帮忙看看
这是eof运行完后显示的结果,应该没有什么问题吧?
|
|