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

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

?? quad.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
#include <misc.h>#include <params.h>! Note that this routine has 2 complete blocks of code for PVP vs.! non-PVP.  Make sure to make appropriate coding changes where! necessary.#if ( defined PVP )subroutine quad(n       ,grlps1  ,grlps2  ,grt1    ,grq1    , &                grz1    ,grd1    ,grfu1   ,grfv1   ,grt2    , &                grq2    ,grz2    ,grd2    ,grfu2   ,grfv2   )!-----------------------------------------------------------------------!! Purpose:! Perform gaussian quadrature to obtain the spectral coefficients of ! ln(ps), temperature, vorticity, divergence, and specific humidity! (to calculate derivatives only). Add the tendency terms requiring! meridional derivatives during the transform.!! Computational note: This routine is multitasked over each diagonal in! the spectral (i.e., [m,n]) data structure since each of these vector! elements are computationally independent of each other. Care should! be taken in interpreting the code since the diagonals are indexed! using the variable "n" (which is often used to denote 2-dimensional! wavenumber).!! Author:  J. Rosinski!!-----------------------------------------------------------------------!! $Id: quad.F90,v 1.4 2001/04/13 22:40:42 rosinski Exp $! $Author: rosinski $!!-----------------------------------------------------------------------  use precision  use pmgrid  use pspect  use comspe  use rgrid  use dynconst, only: rearth  use commap  implicit none!------------------------------Arguments--------------------------------!! Fourier coefficient arrays which have a latitude index on them for! multitasking. These arrays are defined in LINEMS and and used in QUAD! to compute spectral coefficients. They contain a latitude index so! that the sums over latitude can be performed in a specified order.!! Suffixes 1 and 2 refer to symmetric and antisymmetric components! respectively.!  integer , intent(in)   :: n                           ! spectral space "diagonal" index  real(r8), intent(in)   :: grlps1(2*pmmax,plat/2)      ! ln(ps) - symmetric  real(r8), intent(in)   :: grlps2(2*pmmax,plat/2)      ! ln(ps) - antisymmetric!! symmetric components!  real(r8), intent(in)   :: grt1  (2*pmmax,plev,plat/2) ! temperature  real(r8), intent(in)   :: grq1  (2*pmmax,plev,plat/2) ! moisture  real(r8), intent(in)   :: grz1  (2*pmmax,plev,plat/2) ! vorticity  real(r8), intent(in)   :: grd1  (2*pmmax,plev,plat/2) ! divergence  real(r8), intent(in)   :: grfu1 (2*pmmax,plev,plat/2) ! partial u momentum tendency (fu)  real(r8), intent(in)   :: grfv1 (2*pmmax,plev,plat/2) ! partial v momentum tendency (fv)!! antisymmetric components!  real(r8), intent(in)   :: grt2  (2*pmmax,plev,plat/2) ! temperature  real(r8), intent(in)   :: grq2  (2*pmmax,plev,plat/2) ! moisture  real(r8), intent(in)   :: grz2  (2*pmmax,plev,plat/2) ! vorticity  real(r8), intent(in)   :: grd2  (2*pmmax,plev,plat/2) ! divergence  real(r8), intent(in)   :: grfu2 (2*pmmax,plev,plat/2) ! partial u momentum tend (fu)  real(r8), intent(in)   :: grfv2 (2*pmmax,plev,plat/2) ! partial v momentum tend (fv)!!---------------------------Local workspace-----------------------------!  real(r8) alp2  (2*pmax,plat/2)  ! expand polynomials to complex  real(r8) dalp2 (2*pmax,plat/2)  ! expand polynomials to complex  integer j                       ! latitude pair index  integer m                       ! diagonal element(index)of sp.arr.  integer isp                     ! index into levls of sp. arrs.  integer k                       ! level index  integer ialp                    ! index into polynomials  real(r8) zcsj                   ! cos**2(lat)*radius of earth  real(r8) zrcsj                  ! 1./(a*cos^2(lat))  real(r8) zw    (plat/2)         ! 2*w  real(r8) ztdtrw(plat/2)         ! 2w*2dt/(a*cos^2(lat))!!-----------------------------------------------------------------------!! Compute constants!  do j = 1,plat/2     zcsj      = cs(j)*rearth     zrcsj     = 1./zcsj     zw(j)     = w(j)*2.     ztdtrw(j) = zrcsj*zw(j)  end do  ialp = nalp(n)  isp  = nco2(n) - 2  if (nm(n).gt.plat/2) then ! vectorize over diagonals     do j = 1,plat/2!! Expand polynomials to complex form to allow largest possible vector! length!!DIR$ IVDEP        do m = 1,nmreduced(n,j)           alp2 (2*m-1,j) = alp(ialp+m,j)*zw(j)           alp2 (2*m  ,j) = alp(ialp+m,j)*zw(j)           dalp2(2*m-1,j) = dalp(ialp+m,j)*ztdtrw(j)           dalp2(2*m  ,j) = dalp(ialp+m,j)*ztdtrw(j)        end do     end do  else                      ! vectorize over latitude     do m = 1,nm(n)!! Expand polynomials to complex form to allow largest possible vector! length!!DIR$ IVDEP        do j = 1,plat/2           alp2 (2*m-1,j) = alp(ialp+m,j)*zw(j)           alp2 (2*m  ,j) = alp(ialp+m,j)*zw(j)           dalp2(2*m-1,j) = dalp(ialp+m,j)*ztdtrw(j)           dalp2(2*m  ,j) = dalp(ialp+m,j)*ztdtrw(j)        end do     end do  end if!! Accumulate contributions to spectral coefficients of ln(p*), the only! single level field. Use symmetric or antisymmetric fourier cofficients! depending on whether the total wavenumber is even or odd.  Vectorize! over diagonals or latitude pair index depending on vector length.! Comparison is 2*nm(n) vs. plat/8 instead of plat/2 since latitude! sum is into a scalar variable.!  do m = 1,2*nm(n)     alps(isp+m) = 0.  end do  if (2*nm(n).gt.plat/8) then ! vectorize over diagonals     if (mod(n,2).ne.0) then        do j = 1,plat/2           do m = 1,2*nmreduced(n,j)              alps(isp+m) = alps(isp+m) + grlps1(m,j)*alp2(m,j)           end do        end do     else        do j = 1,plat/2           do m = 1,2*nmreduced(n,j)              alps(isp+m) = alps(isp+m) + grlps2(m,j)*alp2(m,j)           end do        end do     end if  else                      ! vectorize over latitude     if (mod(n,2).ne.0) then        do m = 1,2*nm(n)           do j = beglatpair((m+1)/2),plat/2              alps(isp+m) = alps(isp+m) + grlps1(m,j)*alp2(m,j)           end do        end do     else        do m = 1,2*nm(n)           do j = beglatpair((m+1)/2),plat/2              alps(isp+m) = alps(isp+m) + grlps2(m,j)*alp2(m,j)           end do        end do     end if  end if!! Accumulate contributions to spectral coefficients of the multilevel! fields (temperature, divergence, vorticity).  Use symmetric or! antisymmetric fourier coefficients depending on whether the total! wavenumber is even or odd.!  if (2*nm(n).gt.plev) then ! vectorize over diagonals     do k = 1,plev        do m = 1,2*nm(n)           t (isp+m,k) = 0.           q (isp+m,k) = 0.           d (isp+m,k) = 0.           vz(isp+m,k) = 0.        end do        if (mod(n,2).ne.0) then ! n is odd           do j = 1,plat/2              do m = 1,2*nmreduced(n,j)                 t (isp+m,k) = t (isp+m,k) + grt1 (m,k,j)*alp2 (m,j)                 q (isp+m,k) = q (isp+m,k) + grq1 (m,k,j)*alp2 (m,j)                 d (isp+m,k) = d (isp+m,k) + grd1 (m,k,j)*alp2 (m,j) - &                      grfv2(m,k,j)*dalp2(m,j)                 vz(isp+m,k) = vz(isp+m,k) + grz1 (m,k,j)*alp2 (m,j) + &                      grfu2(m,k,j)*dalp2(m,j)              end do           end do        else                    ! n is even           do j = 1,plat/2              do m = 1,2*nmreduced(n,j)                 t (isp+m,k) = t (isp+m,k) + grt2 (m,k,j)*alp2 (m,j)                 q (isp+m,k) = q (isp+m,k) + grq2 (m,k,j)*alp2 (m,j)                 d (isp+m,k) = d (isp+m,k) + grd2 (m,k,j)*alp2 (m,j) - &                      grfv1(m,k,j)*dalp2(m,j)                 vz(isp+m,k) = vz(isp+m,k) + grz2 (m,k,j)*alp2 (m,j) + &                      grfu1(m,k,j)*dalp2(m,j)              end do           end do        end if     end do  else                       ! vectorize over levels     do m = 1,2*nm(n)        do k = 1,plev           t (isp+m,k) = 0.           q (isp+m,k) = 0.           d (isp+m,k) = 0.           vz(isp+m,k) = 0.        end do        if (mod(n,2).ne.0) then ! n is odd           do j = beglatpair((m+1)/2),plat/2              do k = 1,plev                 t (isp+m,k) = t (isp+m,k) + grt1 (m,k,j)*alp2 (m,j)                 q (isp+m,k) = q (isp+m,k) + grq1 (m,k,j)*alp2 (m,j)                 d (isp+m,k) = d (isp+m,k) + grd1 (m,k,j)*alp2 (m,j) - &                      grfv2(m,k,j)*dalp2(m,j)                 vz(isp+m,k) = vz(isp+m,k) + grz1 (m,k,j)*alp2 (m,j) + &                      grfu2(m,k,j)*dalp2(m,j)              end do           end do        else                    ! n is even           do j=beglatpair((m+1)/2),plat/2              do k = 1,plev                 t (isp+m,k) = t (isp+m,k) + grt2 (m,k,j)*alp2 (m,j)                 q (isp+m,k) = q (isp+m,k) + grq2 (m,k,j)*alp2 (m,j)                 d (isp+m,k) = d (isp+m,k) + grd2 (m,k,j)*alp2 (m,j) - &                      grfv1(m,k,j)*dalp2(m,j)                 vz(isp+m,k) = vz(isp+m,k) + grz2 (m,k,j)*alp2 (m,j) + &                      grfu1(m,k,j)*dalp2(m,j)              end do           end do        end if     end do  end if!  returnend subroutine quad#elsesubroutine quad(m       ,grlps1  ,grlps2  ,grt1    ,grq1    , &                grz1    ,grd1    ,grfu1   ,grfv1   ,grt2    , &                grq2    ,grz2    ,grd2    ,grfu2   ,grfv2   )!-----------------------------------------------------------------------!! Purpose:! Perform gaussian quadrature for 1 Fourier wavenumber (m) to obtain the! spectral coefficients of ln(ps), temperature, vorticity, divergence! and specific humidity.  Add the tendency terms requiring meridional! derivatives during the transform.!! Author:  J. Rosinski!!-----------------------------------------------------------------------  use precision  use pmgrid  use pspect  use comspe  use rgrid  use commap  use dynconst, only: rearth  implicit none!------------------------------Arguments--------------------------------!! Fourier coefficient arrays which have a latitude index on them for! multitasking. These arrays are defined in LINEMS and and used in QUAD! to compute spectral coefficients. They contain a latitude index so! that the sums over latitude can be performed in a specified order.!! Suffixes 1 and 2 refer to symmetric and antisymmetric components! respectively.!  integer , intent(in)   :: m                           ! Fourier wavenumber  real(r8), intent(in)   :: grlps1(2*pmmax,plat/2)      ! ln(ps) - symmetric  real(r8), intent(in)   :: grlps2(2*pmmax,plat/2)      ! ln(ps) - antisymmetric!! symmetric components!  real(r8), intent(in)   :: grt1  (plev,2*pmmax,plat/2) ! temperature  real(r8), intent(in)   :: grq1  (plev,2*pmmax,plat/2) ! moisture  real(r8), intent(in)   :: grz1  (plev,2*pmmax,plat/2) ! vorticity  real(r8), intent(in)   :: grd1  (plev,2*pmmax,plat/2) ! divergence  real(r8), intent(in)   :: grfu1 (plev,2*pmmax,plat/2) ! partial u momentum tendency (fu)  real(r8), intent(in)   :: grfv1 (plev,2*pmmax,plat/2) ! partial v momentum tendency (fv)!! antisymmetric components!  real(r8), intent(in)   :: grt2  (plev,2*pmmax,plat/2) ! temperature  real(r8), intent(in)   :: grq2  (plev,2*pmmax,plat/2) ! moisture  real(r8), intent(in)   :: grz2  (plev,2*pmmax,plat/2) ! vorticity  real(r8), intent(in)   :: grd2  (plev,2*pmmax,plat/2) ! divergence  real(r8), intent(in)   :: grfu2 (plev,2*pmmax,plat/2) ! partial u momentum tend (fu)  real(r8), intent(in)   :: grfv2 (plev,2*pmmax,plat/2) ! partial v momentum tend (fv)!!---------------------------Local workspace-----------------------------!  integer j                 ! latitude pair index  integer n                 ! index  integer ir,ii             ! indices  integer mr,mc             ! indices  integer k                 ! level index  real(r8) zcsj             ! cos**2(lat)*radius of earth  real(r8) zrcsj            ! 1./(a*cos^2(lat))  real(r8) zw    (plat/2)   ! 2*w  real(r8) ztdtrw(plat/2)   ! 2w*2dt/(a*cos^2(lat))  real(r8) zwalp  real(r8) zwdalp!!-----------------------------------------------------------------------!! Compute constants!  do j = 1,plat/2     zcsj      = cs(j)*rearth     zrcsj     = 1./zcsj     zw(j)     = w(j)*2.     ztdtrw(j) = zrcsj*zw(j)  end do!! Accumulate contributions to spectral coefficients of ln(p*), the only! single level field. Use symmetric or antisymmetric fourier cofficients! depending on whether the total wavenumber is even or odd.!  mr = nstart(m)  mc = 2*mr  do n = 1,2*nlen(m)     alps(mc+n) = 0.  end do  do j=beglatpair(m),plat/2     do n=1,nlen(m),2        ir = mc + 2*n - 1        ii = ir + 1        zwalp    = zw(j)*alp(mr+n,j)        alps(ir) = alps(ir) + grlps1(2*m-1,j)*zwalp        alps(ii) = alps(ii) + grlps1(2*m  ,j)*zwalp     end do     do n = 2,nlen(m),2        ir = mc + 2*n - 1        ii = ir + 1        zwalp    = zw(j)*alp(mr+n,j)        alps(ir) = alps(ir) + grlps2(2*m-1,j)*zwalp        alps(ii) = alps(ii) + grlps2(2*m  ,j)*zwalp     end do  end do!! Accumulate contributions to spectral coefficients of the multilevel! fields.  Use symmetric or antisymmetric fourier coefficients depending! on whether the total wavenumber is even or odd.!  do k = 1,plev     do n = 1,2*nlen(m)        t (mc+n,k) = 0.        q (mc+n,k) = 0.        d (mc+n,k) = 0.        vz(mc+n,k) = 0.     end do     do j=beglatpair(m),plat/2        do n=1,nlen(m),2           zwdalp = ztdtrw(j)*dalp(mr+n,j)           zwalp  = zw(j)    *alp (mr+n,j)           ir = mc + 2*n - 1           ii = ir + 1           t (ir,k) = t (ir,k) + zwalp*grt1 (k,2*m-1,j)           t (ii,k) = t (ii,k) + zwalp*grt1 (k,2*m  ,j)           q (ir,k) = q (ir,k) + zwalp*grq1 (k,2*m-1,j)           q (ii,k) = q (ii,k) + zwalp*grq1 (k,2*m  ,j)           d (ir,k) = d (ir,k) + grd1 (k,2*m-1,j)*zwalp - grfv2(k,2*m-1,j)*zwdalp           d (ii,k) = d (ii,k) + grd1 (k,2*m  ,j)*zwalp - grfv2(k,2*m  ,j)*zwdalp           vz(ir,k) = vz(ir,k) + grz1 (k,2*m-1,j)*zwalp + grfu2(k,2*m-1,j)*zwdalp           vz(ii,k) = vz(ii,k) + grz1 (k,2*m  ,j)*zwalp + grfu2(k,2*m  ,j)*zwdalp        end do     end do     do j=beglatpair(m),plat/2        do n = 2,nlen(m),2           zwdalp = ztdtrw(j)*dalp(mr+n,j)           zwalp  = zw(j)    *alp (mr+n,j)           ir = mc + 2*n - 1           ii = ir + 1           t (ir,k) = t (ir,k) + zwalp*grt2(k,2*m-1,j)           t (ii,k) = t (ii,k) + zwalp*grt2(k,2*m  ,j)           q (ir,k) = q (ir,k) + zwalp*grq2(k,2*m-1,j)           q (ii,k) = q (ii,k) + zwalp*grq2(k,2*m  ,j)           d (ir,k) = d (ir,k) + grd2 (k,2*m-1,j)*zwalp - grfv1(k,2*m-1,j)*zwdalp           d (ii,k) = d (ii,k) + grd2 (k,2*m  ,j)*zwalp - grfv1(k,2*m  ,j)*zwdalp           vz(ir,k) = vz(ir,k) + grz2 (k,2*m-1,j)*zwalp + grfu1(k,2*m-1,j)*zwdalp           vz(ii,k) = vz(ii,k) + grz2 (k,2*m  ,j)*zwalp + grfu1(k,2*m  ,j)*zwdalp        end do     end do  end do!  returnend subroutine quad#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲综合另类| 国产毛片精品视频| 久久精品99久久久| 91蜜桃在线免费视频| 日韩三级精品电影久久久 | 欧美日韩免费在线视频| 日韩欧美国产wwwww| 亚洲老妇xxxxxx| 粉嫩aⅴ一区二区三区四区| 欧美美女视频在线观看| 最新不卡av在线| 国产凹凸在线观看一区二区 | 日本乱人伦一区| 久久天天做天天爱综合色| 亚洲成人精品影院| 91性感美女视频| 国产免费成人在线视频| 国产综合久久久久影院| 日韩免费一区二区| 日韩高清一级片| 欧美日韩电影在线播放| 亚洲国产裸拍裸体视频在线观看乱了| 成人久久18免费网站麻豆| 精品国产免费一区二区三区四区 | 国产激情精品久久久第一区二区| 精品国产亚洲在线| 亚洲第一福利视频在线| 欧美羞羞免费网站| 一区二区三区视频在线看| 不卡的电影网站| 国产精品免费久久| 成人av在线播放网址| 国产精品―色哟哟| 国产电影一区二区三区| 久久综合色鬼综合色| 国精产品一区一区三区mba桃花| 日韩网站在线看片你懂的| 亚洲国产毛片aaaaa无费看| 色妹子一区二区| 亚洲一区二区三区影院| 欧美人与禽zozo性伦| 午夜精品久久久久久不卡8050| 欧美视频一区二区| 日日摸夜夜添夜夜添国产精品 | 国产a区久久久| 日本一区二区在线不卡| 成人av在线播放网址| 亚洲天堂免费在线观看视频| 日本高清视频一区二区| 亚洲国产精品影院| 欧美一二三在线| 国产一区视频导航| 国产精品久久久久久久久免费丝袜 | 欧美精品一卡二卡| 麻豆传媒一区二区三区| 久久久久久免费| 婷婷久久综合九色综合绿巨人| 欧美一区日韩一区| 国产麻豆精品95视频| 中文字幕一区二区三区不卡在线 | 亚洲视频免费看| 欧美亚洲动漫精品| 日本不卡的三区四区五区| 337p日本欧洲亚洲大胆精品| 91碰在线视频| 日本欧美在线看| 欧美激情综合在线| 欧美在线短视频| 精品无人区卡一卡二卡三乱码免费卡| 中文在线一区二区| 欧美精品色综合| 国产999精品久久久久久| 亚洲二区在线视频| 久久精品欧美日韩精品| 欧美三级日本三级少妇99| 国产精品影视在线| 亚洲国产另类av| 国产精品免费视频观看| 制服丝袜亚洲色图| 99久久免费视频.com| 久久99国产精品麻豆| 一区二区三区四区不卡在线| 久久欧美一区二区| 欧美日韩视频在线观看一区二区三区| 国产在线麻豆精品观看| 亚洲综合久久久久| 国产精品欧美综合在线| 日韩一区二区影院| 欧美日韩国产大片| 91蝌蚪国产九色| 菠萝蜜视频在线观看一区| 日本欧美加勒比视频| 亚洲美女屁股眼交| 国产精品麻豆一区二区| 精品国产91久久久久久久妲己| 欧美日韩精品电影| 色婷婷久久久久swag精品| 国产aⅴ综合色| 紧缚奴在线一区二区三区| 偷拍亚洲欧洲综合| 一区二区日韩电影| 亚洲色图丝袜美腿| 国产精品久久久99| 日本一区二区电影| 久久久久国产成人精品亚洲午夜 | 国产精品美女久久久久av爽李琼 | 欧美系列一区二区| av一二三不卡影片| 波多野结衣中文一区| 高清不卡在线观看| 国产成人免费av在线| 狠狠色丁香婷婷综合| 极品瑜伽女神91| 国产在线精品国自产拍免费| 久久99国产乱子伦精品免费| 精品一区中文字幕| 激情综合色播激情啊| 国产在线看一区| 国产jizzjizz一区二区| 粉嫩绯色av一区二区在线观看 | 在线观看不卡视频| 在线观看www91| 欧美日韩免费观看一区二区三区| 欧美私模裸体表演在线观看| 欧美日韩在线播放三区四区| 欧洲另类一二三四区| 欧美日韩亚洲丝袜制服| 欧美疯狂做受xxxx富婆| 日韩一区二区麻豆国产| 精品国产3级a| 国产精品久久午夜| 一区二区三区在线免费播放| 午夜视黄欧洲亚洲| 久久爱www久久做| 国产成人av电影在线观看| fc2成人免费人成在线观看播放| 99国产精品久久久久| 欧美综合久久久| 日韩午夜av电影| 亚洲国产成人私人影院tom| 亚洲欧美一区二区久久 | 正在播放亚洲一区| 精品福利一二区| 欧美激情在线一区二区三区| 亚洲美女区一区| 麻豆精品国产传媒mv男同| 成人三级伦理片| 欧美午夜精品电影| 精品伦理精品一区| 亚洲少妇最新在线视频| 蜜臀av一级做a爰片久久| 风间由美中文字幕在线看视频国产欧美| 色呦呦日韩精品| 欧美精品一区二区三区在线| 国产精品久久久一区麻豆最新章节| 一区二区三区欧美亚洲| 国产乱码精品一品二品| 色老汉av一区二区三区| 精品国产露脸精彩对白| 亚洲三级电影全部在线观看高清| 全国精品久久少妇| eeuss鲁一区二区三区| 日韩午夜电影av| 一区二区欧美在线观看| 国产成人av资源| 91精品国产综合久久精品麻豆 | 亚洲一区二区三区国产| 国产精品一区二区在线观看不卡| 欧美性做爰猛烈叫床潮| 欧美韩国日本不卡| 日韩vs国产vs欧美| 日本道在线观看一区二区| 久久久精品国产99久久精品芒果 | 国产成人免费视频一区| 欧美疯狂性受xxxxx喷水图片| 亚洲视频综合在线| 国产乱码字幕精品高清av| 欧美丰满美乳xxx高潮www| 亚洲欧美视频在线观看视频| 国产二区国产一区在线观看| 日韩欧美一级片| 丝袜诱惑制服诱惑色一区在线观看| 成人精品gif动图一区| 精品嫩草影院久久| 日本视频免费一区| 欧美性大战久久| 亚洲图片激情小说| 成人av网在线| 国产精品久99| 波多野洁衣一区| 国产亚洲欧美日韩日本| 激情综合色播五月| 日韩一区二区免费在线观看| 婷婷综合在线观看| 欧美日韩中文精品| 亚洲国产成人精品视频| 欧美性做爰猛烈叫床潮| 亚洲国产欧美日韩另类综合| 在线精品国精品国产尤物884a| 一区二区三区精品在线观看|