爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2145|回复: 0

[求助] svd结果错误

[复制链接]

新浪微博达人勋

发表于 2015-10-26 17:10:54 | 显示全部楼层 |阅读模式

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

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

x
左场为OLR场,右场为降水场,原资料是正确的,但做了SVD,结果是有问题的,而且两个原始数据场很小,在自己的电脑上都转不出来,需要在大型机上转,求各位大神指出我的错误
下面为SVD前半部分程序,就是需要改格点和改路径部分
   program svd_test
implicit none
cccccccc---Parameters that you can modify---cccccccc
      integer,parameter::NY=25*13
      integer,parameter::NZ=21*13
      integer,parameter::NT=35
      integer,parameter::NMIN=NZ
      integer,parameter::NP=3
      real,parameter::YMV=-9.99e+33
      real,parameter::ZMV=-9.99e+33
cccccccc---The main variables for input and output---cccccccc
c-----------------------------------INPUT-----------------------------------------c
c Y  :Left data field  that consists of NT observations with missing values     c
c   ,each of which has NY grid points.                               c
c Z  :Right data field  that contains of the same number of                     c
c   observations, each of which has NZ grid points.                         c
      real   ::Y(NY,NT),Z(NZ,NT)
      real   ::A(NT,NP),B(NT,NP)
      real   ::cekma(NMIN)
      real   ::scfk(NP)
      real   ::cscfk(NP)
      real   ::rab(NP)
      real   ::lcovf(NP)
      real   ::rcovf(NP)
      real   ::vara(NP)
      real   ::varb(NP)
      real   ::lhomo(NY,NP),lhete(NY,NP)
      real   ::rhomo(NZ,NP),rhete(NZ,NP)
      integer::i,j,k,l,m,n
CHARACTER  FL1*60,FL2*60,LT*60,RT*60,LVHO*60,RVHO*60,LVHE*60
CHARACTER RVHE*60,IN*60
      
!FL1='oceanolr.grd'
!FL2='australiaprecip.grd'
!LT='ltime1.grd'
!RT='Rtime1.grd'
!LVHO='lhomo.grd'
!RVHO='Rhomo.grd'
      !LVHE='lhete.grd'
!RVHE='Rhete.grd'
!IN="d:\city_heat3\svd\data\ljp_out\850\jan12_svd_info.txt"
ccccccccc---Main program---cccccccc
!----Read the left field----!
      open(unit=1,file=
     $'g:/paper/epiolr.grd',form='binary')
n=0
do j=1,NT
do i=1,NY
       n=n+1
       read(1)Y(i,j)
    enddo
enddo
      close(1)
      print*,"OK1"
!----Read the right field----!
      open(unit=1,file=
     $'g:/paper/australiaprecip.grd',form='binary')
     $
n=0
do j=1,NT
do i=1,NZ
   
       n=n+1
       read(1)Z(i,j)
    enddo
enddo
      close(1)
       print*,"OK2"
!----Call the subroutine meteo_miss_svd----!
      call svd(NY,NZ,NMIN,NT,Y,Z,YMV,ZMV,NP,A,B,cekma,
     $   scfk,cscfk,rab,lcovf,rcovf,vara,varb,lhomo,lhete,rhomo,rhete)
      print*,"OK3"
!----Output the left and right time coeffecient series matrices-------!
open(unit=2,file='g:/paper/result/ltime.grd',form='binary')
open(unit=3,file='g:/paper/result/rtime.grd',form='binary')
      n=0
do j=1,NT
    do i=1,NP
       n=n+1
       write(2)a(j,i)
       write(3)b(j,i)
         enddo
enddo
      close(2);close(3)
      print*,"OK3"
!----Output the left homogeneous and heterogeneous correlation maps----!
      open(unit=2,file='g:/paper/result/lhomo.grd',form='binary')
open(unit=3,file='g:/paper/result/lhete.grd',form='binary')
n=0
      do j=1,NP
    do i=1,NY
       n=n+1
       write(2)lhomo(i,j)
       write(3)lhete(i,j)
         enddo
enddo
      close(2)
close(3)
      print*,"OK4"
!----Output the right homogeneous and heterogeneous correlation maps----!
      open(unit=2,file='g:/paper/result/rhomo.grd',form='binary')
open(unit=3,file='g:/paper/result/rhete.grd',form='binary')
      
n=0
      do j=1,NP
    do i=1,NZ
       n=n+1
       write(2)rhomo(i,j)
       write(3)rhete(i,j)
         enddo
enddo
      close(2);close(3)
      print*,"OK5"
      end program svd_test

左场olr

左场olr

右场precip

右场precip

SVD在个人电脑上运行的结果

SVD在个人电脑上运行的结果
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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