亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nmmatrix.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
#include <params.h>subroutine nmmatrix(zb      ,zcr1    ,bm1     ,bmi     )!-----------------------------------------------------------------------!! Purpose:! Determine eigenvalues and left/right eigenvectors of the hydrostatic! matrix.  Results used to solve for two-time-level SLD, semi-implicit! Coriolis term!! Author:  J. Olson!!-----------------------------------------------------------------------!! $Id: nmmatrix.F90,v 1.2 2000/06/06 21:53:11 olson Exp $! $Author: olson $!!-----------------------------------------------------------------------  use precision  use pmgrid  use pspect  implicit none!------------------------------Parameters-------------------------------!  integer, parameter :: lwork = 100*plev    ! work array dimension!!------------------------------Arguments--------------------------------!  real(r8), intent(in)   :: zb  (plev,plev) ! semi-implicit matrix in d equation  real(r8), intent(out)  :: zcr1(plev)      ! eigenvalues (real)  real(r8), intent(out)  :: bm1 (plev,plev) ! transpose of right eigenvector (normalized)  real(r8), intent(out)  :: bmi (plev,plev) ! transpose of inverse of bm1!                                           ! ( = left eigenvectors --  normalized)!!---------------------------Local variables-----------------------------!  integer  k                    ! index  integer  kk                   ! index  integer  kkk                  ! index  integer  istat                ! status of SGEEV call  real(r8) eps                  ! used for epsilon tests  real(r8) sum                  ! tmp  real(r8) fmax                 ! tmp  real(r8) x      (plev,plev)   ! local copy of "zb"  real(r8) bmlft  (plev,plev)   ! left  eigenvector  real(r8) bmrgt  (plev,plev)   ! right eigenvector  real(r8) zci    (plev)        ! eigenvalues (complex)  real(r8) work   (lwork)       ! work array  real(r8) diag                 ! tmp  logical  lcomp                ! error flag  logical  lneg                 ! error flag  logical  lsame                ! error flag  logical  lnonzero             ! error flag  logical  flag(plev)           ! flag used in sorting eigenvalues/vectors!!-----------------------------------------------------------------------!! Matrix "zb" is stored 1st index = column; 2nd index = row of matrix.! Transpose "zb" and store in work array before calling library routine!  do k = 1,plev     do kk = 1,plev        x(k,kk) = zb(kk,k)     end do  end do!! Determine eigenvalues and left/right eigenvectors of "zb"!  call sgeev('v'     ,'v'     ,plev    ,x       ,plev    , &             zcr1    ,zci     ,bmlft   ,plev    ,bmrgt   , &             plev    ,work    ,lwork   ,istat   )!  if (istat .ne. 0) then     write(6,*) 'ERROR in NMMATRIX:  SGEEV returned "istat" = ',istat     call endrun  endif  if (int(work(1)) .gt. lwork) then     write(6,*) 'WARNING in NMMATRIX:'     write(6,*) 'optimal dimension of "work" array is: '     write(6,*) int(work(1))     call endrun  endif!! Find "eps" based upon the real eigenvalue with the largest magnitude!  fmax = -1.e36  do kk = 1,plev     if(zcr1(kk) .gt. fmax) fmax = zcr1(kk)  end do  eps = fmax*epsilon(fmax)*10.!! Test that all eigenvalues are positive, real, and distinct!  lcomp    = .false.  lneg     = .false.  lsame    = .false.  do k = 1,plev     if(    zcr1(k)  .lt.  0.) lneg  = .true.     if(abs(zci(k  )) .gt. eps) lcomp = .true.     do kk = k+1,plev        if(abs( (zcr1(k) - zcr1(kk)) ) .lt. eps) lsame = .true.     end do  end do  if (lneg) then     write(6,*) 'ERROR in NMMATRIX: negative eigenvalue(s)'     call endrun  endif  if (lcomp) then     write(6,*) 'ERROR in NMMATRIX: complex eigenvalue(s)'     call endrun  endif  if (lsame) then     write(6,*) 'ERROR in NMMATRIX: non-distinct eigenvalue(s)'     call endrun  endif!! Re-order the eigenvalues (and associated eigenvectors) in descending! order.  Use "zci", "bmi", and "bm1" as temporary arrays.!  do k = 1,plev     flag(k) = .true.  end do  do k = 1,plev     fmax = -1.e35     do kk = 1,plev        if(flag(kk) .and. zcr1(kk) .gt. fmax) then           kkk = kk           fmax = zcr1(kk)        endif     end do     flag(kkk) = .false.     zci(k) = zcr1(kkk)     do kk = 1,plev        bmi(kk,k) = bmlft(kk,kkk)        bm1(kk,k) = bmrgt(kk,kkk)     end do  end do!! Copy arrays from temporaries back to original arrays!  do k = 1,plev     zcr1(k) = zci(k)     do kk = 1,plev        bmlft(kk,k) = bmi(kk,k)        bmrgt(kk,k) = bm1(kk,k)     end do  end do!! Make sure the element of largest magnitude within each eigenvector! is positive (in this case, we will choose the LEFT eigenvector).! Adjust the signs of all other elements of the left AND associated! RIGHT eigenvector, accordingly.!! NOTE:  This is done only to ensure that the signs of all eigenvectors! will be consistent across all computing platforms.  This step is! not necessary except that it makes debugging the "vertical normal! mode" code MUCH easier.!  do k = 1,plev     fmax = -1.e35     do kk = 1,plev        if(abs(bmlft(kk,k)) .gt. fmax) then           kkk = kk           fmax = abs(bmlft(kk,k))        endif     end do     if(bmlft(kkk,k) .lt. 0.) then        do kk = 1,plev           bmlft(kk,k) = -bmlft(kk,k)           bmrgt(kk,k) = -bmrgt(kk,k)        end do     endif  end do!! Normalize "bm1" and determine its inverse (and confirm).!! NOTE:  both "bm1" and "bmi" are stored in transpose form (1st index =! column; 2nd index = row of matrix) for later use in coding vector! inner products using these matrices.!  lnonzero = .false.  do k = 1,plev     sum = 0.     do kk = 1,plev        sum = sum + bmlft(kk,k)*bmrgt(kk,k)     end do!     if(sum .lt. 0.) then        sum = sqrt(-sum)        do kk = 1,plev           bmi(kk,k) = -bmlft(kk,k)/sum           bm1(k,kk) =  bmrgt(kk,k)/sum        end do     else        sum = sqrt(sum)        do kk = 1,plev           bmi(kk,k) =  bmlft(kk,k)/sum           bm1(k,kk) =  bmrgt(kk,k)/sum        end do     endif  end do  do k = 1,plev     do kk = 1,plev        diag = 0.        do kkk = 1,plev           diag = diag + bmi(kkk,kk)*bm1(k,kkk)        end do        if(kk .ne. k) then           if(diag .gt. eps) lnonzero = .true.        endif     end do  end do  if (lnonzero) then     write(6,*) 'ERROR in NMMATRIX:'     write(6,*) 'Y(T)X has non-zero off-diagonal elements'     call endrun  endif!  returnend subroutine nmmatrix

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频网站在线观看| 国产九色精品成人porny| 久久综合色8888| 99re热视频这里只精品| 蜜桃av一区二区三区| 亚洲色欲色欲www| 久久免费电影网| 欧美日韩精品是欧美日韩精品| 国模冰冰炮一区二区| 一区二区三区精品久久久| 久久网站热最新地址| 91精品国产全国免费观看| 日本乱人伦一区| 国产ts人妖一区二区| 久久精品国产一区二区三区免费看 | 综合色中文字幕| 久久影院视频免费| 欧美一区2区视频在线观看| 色88888久久久久久影院野外| 成人午夜在线视频| 国产一区二区三区四区五区入口| 亚洲一区二区不卡免费| 亚洲欧洲成人自拍| 久久久久久久综合| 久久五月婷婷丁香社区| 精品国产乱码久久久久久图片| 欧美精品在线视频| 欧美情侣在线播放| 欧美日韩另类一区| 欧美日韩精品一区二区三区 | 欧美群妇大交群中文字幕| www.在线欧美| 成人91在线观看| 不卡电影免费在线播放一区| 成人激情免费电影网址| 国产 欧美在线| 成人综合在线观看| 成人h动漫精品一区二区| av在线不卡电影| 日本道免费精品一区二区三区| 91香蕉视频在线| 在线观看免费亚洲| 欧美午夜精品久久久久久孕妇| 欧美性感一区二区三区| 欧美三级电影精品| 欧美精品在欧美一区二区少妇| 欧美性xxxxxx少妇| 91精品国产综合久久福利软件| 91精品国产综合久久久蜜臀粉嫩| 日韩一卡二卡三卡国产欧美| 精品国产一区二区三区不卡| 久久综合视频网| 中文字幕巨乱亚洲| 亚洲色图视频网站| 午夜欧美一区二区三区在线播放| 日本女优在线视频一区二区 | 成人午夜视频在线观看| 99re这里只有精品视频首页| 在线免费亚洲电影| 欧美电影免费观看高清完整版| 久久久久综合网| 亚洲色图.com| 日韩精品一级中文字幕精品视频免费观看 | 国产精品日韩成人| 亚洲免费资源在线播放| 日韩精品午夜视频| 国产精品一区二区久久精品爱涩| 成人理论电影网| 欧美片网站yy| 欧美激情中文不卡| 亚洲国产综合人成综合网站| 久久精品国产999大香线蕉| 国产成人免费av在线| 色视频欧美一区二区三区| 8v天堂国产在线一区二区| 国产婷婷精品av在线| 亚洲自拍偷拍综合| 国产麻豆精品久久一二三| 在线视频国内自拍亚洲视频| 亚洲精品一线二线三线无人区| 国产精品色哟哟| 蜜臀a∨国产成人精品| 99久久精品情趣| 日韩精品影音先锋| 中文字幕一区在线观看| 免费黄网站欧美| 91视频观看视频| 欧美成人vps| 亚洲午夜精品一区二区三区他趣| 国产精品18久久久久久vr| 在线亚洲精品福利网址导航| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品自拍动漫在线| 韩国v欧美v日本v亚洲v| 精品污污网站免费看| 国产精品污污网站在线观看| 男女激情视频一区| 欧洲生活片亚洲生活在线观看| 久久久久久久av麻豆果冻| 日韩国产成人精品| 欧美午夜在线观看| 亚洲欧美日韩综合aⅴ视频| 国产精品一线二线三线| 91精品在线一区二区| 亚洲欧美激情一区二区| 国产成人超碰人人澡人人澡| 日韩三级中文字幕| 日韩高清一区在线| 91福利精品视频| 亚洲视频一区二区免费在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 国产米奇在线777精品观看| 538在线一区二区精品国产| 亚洲人成人一区二区在线观看| 国产老肥熟一区二区三区| 欧美videofree性高清杂交| 亚洲国产成人91porn| 91在线视频播放地址| 国产精品久久久久国产精品日日| 国产在线精品免费| 精品国产区一区| 麻豆91在线播放免费| 正在播放亚洲一区| 午夜一区二区三区视频| 欧美亚洲精品一区| 一区二区三区不卡在线观看 | 国产精品1024| 久久久不卡影院| 国产一区二区三区精品视频 | 亚洲一区二区三区四区在线观看 | 欧美久久一区二区| 亚洲成人你懂的| 欧美日韩国产一级片| 首页国产欧美久久| 日韩欧美中文一区| 国产最新精品精品你懂的| 精品999在线播放| 韩国一区二区三区| 国产亚洲欧美中文| caoporen国产精品视频| 亚洲人成7777| 欧美日韩国产免费一区二区 | 欧美一区二区三区系列电影| 五月天丁香久久| 777亚洲妇女| 美女视频免费一区| 国产清纯在线一区二区www| 成人免费观看男女羞羞视频| 欧美韩日一区二区三区四区| 成人a区在线观看| 亚洲一区二区三区不卡国产欧美 | 欧美精品色综合| 蜜桃av噜噜一区二区三区小说| 26uuu国产一区二区三区| 成人伦理片在线| 亚洲第一精品在线| 2023国产精品视频| 99精品视频在线播放观看| 亚洲高清视频在线| 精品日韩99亚洲| 不卡av电影在线播放| 亚洲国产精品精华液网站| 精品三级在线观看| 99久久综合精品| 婷婷激情综合网| 国产日韩影视精品| 欧美性色综合网| 国产精品白丝jk白祙喷水网站| 国产精品久久久久久久久动漫| 欧美视频精品在线观看| 国内一区二区在线| 一二三四社区欧美黄| 欧美大度的电影原声| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 欧美私人免费视频| 麻豆国产精品视频| 亚洲女厕所小便bbb| 精品久久五月天| 色诱视频网站一区| 激情文学综合丁香| 一区二区三区久久久| 精品理论电影在线观看| 91浏览器打开| 国产在线精品一区在线观看麻豆| 亚洲精品久久久蜜桃| 精品福利一区二区三区| 91黄视频在线观看| 国产精品18久久久久久vr| 亚洲va中文字幕| 亚洲视频一二三区| 2019国产精品| 91精品国产综合久久精品| 国产成人精品亚洲午夜麻豆| 午夜精品免费在线| 国产精品福利一区| 日韩免费视频一区| 欧美午夜在线一二页| 9久草视频在线视频精品| 国产一区二区中文字幕| 秋霞影院一区二区|