爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3797|回复: 2

[求助] EOF出图后正负号颠倒,求解错误地方

[复制链接]

新浪微博达人勋

发表于 2017-3-17 14:51:31 | 显示全部楼层 |阅读模式

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

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

x
用李建平老师的EOF程序做EOF分析,出图后发现第一模态的特征向量的正负号反了,但是第二特征向量又是对的,不知道是哪里出错了,困惑了很久,请大家帮帮忙啊!!!!!进行EOF分析的原数据(total.dat,total.gs)
下面是EOF程序中的一部分:
  1. !-----input array
  2.       real f00(n,mx,my),f0(n,m)
  3. !-----work arrays
  4.       real f1(n,mg1),f2(n,mg1),g(mg1),h1(mg1,n),h2(mg1,n)
  5.         real f(mg2,n),gvt(mg2,mnl),cof(mnl,n)        
  6. !-----output arrays
  7.       real er(mnl,4),egvt(m,mnl),ecof(mnl,n)
  8. c-----Read data.
  9.       open(20,file=datafname,form='binary',status='unknown')
  10.          do t=1,n
  11.           read(20)((f00(t,i,j),i=1,mx),j=1,my)   
  12.         end do
  13.         close(20)
  14.          do t=1,n
  15.            il=1
  16.            do j=1,my
  17.              do i=1,mx
  18.                   f0(t,il)=f00(t,i,j)   
  19.                    il=il+1
  20.              enddo
  21.            enddo
  22.         enddo
  23.         write(*,*)'Read data OK!'
  24. c-----Remove the terrain or missing value(删除陆地上的缺测).
  25.       l1=0
  26.         do j=1,m
  27.           if(f0(1,j).ne.undef)then
  28.           l1=l1+1        
  29.           do k=1,n
  30.                         f1(k,l1)=f0(k,j)
  31.             enddo
  32.           endif
  33.         enddo
  34.       write(*,*)'Grids without terrain:'
  35.         write(*,*)'mg1=',l1
  36. c-----Remove annual cycle.
  37.       if(km.eq.1)then
  38.           ny=n/nd         
  39.           do i=1,l1
  40.             call initial(nd,ny,n,f1(1,i),f2(1,i))
  41.           end do         
  42.           do i=1,l1
  43.             do k=1,n
  44.               f1(k,i)=f2(k,i)
  45.             end do
  46.           end do
  47.         end if
  48. c-----Remove the grids whose variance equal to zero.
  49.         l2=0
  50.         do i=1,l1
  51.           call meanvar(n,f1(1,i),ax,g(i),vx)
  52.           if(g(i).gt.std)then
  53.           l2=l2+1
  54.             do k=1,n
  55.             f(l2,k)=f1(k,i)            
  56.           enddo
  57.           endif
  58.         end do
  59.         write(*,*)'Grids without terrain and constant value:'
  60.         write(*,*)'mg2=',l2
  61. c      stop
  62. c-----Call the subroutine.
  63.       write(*,*)'!!!!'
  64.       call eof(l2,n,mnl,f(1:l2,:),ks,er,gvt(1:l2,:),ecof)        
  65.         write(*,*)'EOF ok and transform to the original form in the next!'
  66. c-----Add the grids whose variance equal to zero.      
  67.         l3=0
  68.         do i=1,mg2
  69.           if(g(i).gt.std)then
  70.             l3=l3+1
  71.             do k=1,mnl
  72.               h1(i,k)=gvt(l3,k)
  73.             end do        
  74.           else
  75.             do k=1,mnl
  76.               h1(i,k)=undef
  77.             end do
  78.           endif
  79.         enddo
  80. c-----Add the terrain or missing value.
  81.         l4=0
  82.         do i=1,m
  83.           if(f0(1,i).ne.undef)then
  84.             l4=l4+1
  85.             do k=1,mnl
  86.               egvt(i,k)=h1(l4,k)
  87.             end do
  88.           else
  89.             do k=1,mnl
  90.               egvt(i,k)=undef
  91.             end do
  92.           endif
  93.         enddo
  94. c-----output the result.        
  95. c-----output the error.
复制代码
特征向量:(egvt.dat,egvt.ctl)

教材中的EOF第一二模态

教材中的EOF第一二模态

自己画出来的eof1

自己画出来的eof1

自己画出来的EOF2

自己画出来的EOF2

total.dat

10.93 MB, 下载次数: 0, 下载积分: 金钱 -5

total.ctl

246 Bytes, 下载次数: 2, 下载积分: 金钱 -5

egvt.ctl

260 Bytes, 下载次数: 2, 下载积分: 金钱 -5

egvt.dat

10.93 MB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2017-3-17 18:01:55 | 显示全部楼层
空间pattern一定要对应时间序列来看,二者乘积是原场。因此,空间pattern相反的话,时间序列也相反,就是没有问题的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-3-18 22:54:57 来自手机 | 显示全部楼层
那就是我的程序没问题罗?那教程中的一模态为正值时二模态为东西负正分布是怎么同时办到的呢,感觉不可能啊。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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