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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? spetru.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 3 頁
字號:
#include <misc.h>#include <params.h>subroutine spetru (ps      ,phis    ,u3      ,v3      ,t3      , &                   q3      ,div     ,dpsl    ,dpsm    ,tl      , &                   tm      ,ql      ,qm      ,phi     ,phisl   , &                   phism   ,phis_hires)!-----------------------------------------------------------------------!! Purpose:! Spectrally truncate input fields which have already been transformed into ! fourier space.  Some arrays are dimensioned (2,...), where (1,...) is the! real part of the complex fourier coefficient, and (2,...) is the imaginary.! Any array dimensioned (plond,...) *cannot* be dimensioned (2,plond/2,...) ! because plond *may* be (and in fact currently is) odd. In these cases ! reference to real and imaginary parts is by (2*m-1,...) and (2*m  ,...) ! respectively.!! Author:  J. Rosinski!!-----------------------------------------------------------------------  use precision  use pmgrid  use constituents, only: pcnst, pnats  use pspect  use comspe  use rgrid,        only: nlon, nmmax  use commap,       only: w, xm, rsq, cs  use dynconst,     only: ez, ra, rearth  implicit none#include <comctl.h>#include <comfft.h>!------------------------------Arguments--------------------------------!  real(r8), intent(inout):: ps   (plond,plat)      ! Fourier -> spec. coeffs. for ln(ps)  real(r8), intent(inout):: phis (plond,plat)      ! Fourier -> spec. coeffs. for sfc geo.  real(r8), intent(inout):: u3   (plond,plev,plat) ! Fourier -> spec. coeffs. for u-wind  real(r8), intent(inout):: v3   (plond,plev,plat) ! Fourier -> spec. coeffs. for v-wind  real(r8), intent(inout):: t3   (plond,plev,plat) ! Fourier -> spec. coeffs. for temp  real(r8), intent(inout):: q3   (plond,plev*(pcnst+pnats),plat)!                                                  ! Fourier -> spec. coeffs. for q  real(r8), intent(out)  :: div  (plond,plev,plat) ! Spectrally truncated divergence  real(r8), intent(out)  :: dpsl (plond,plat)      ! Spectrally trunc d(ln(ps))/d(long)  real(r8), intent(out)  :: dpsm (plond,plat)      ! Spectrally trunc d(ln(ps))/d(lat )  real(r8), intent(out)  :: tl   (plond,plev,plat) ! Spectrally trunc d(T)/d(longitude)  real(r8), intent(out)  :: tm   (plond,plev,plat) ! Spectrally trunc d(T)/d(latitude)  real(r8), intent(out)  :: ql   (plond,plev,plat) ! Spectrally trunc d(q)/d(longitude)  real(r8), intent(out)  :: qm   (plond,plev,plat) ! Spectrally trunc d(q)/d(latitude)  real(r8), intent(out)  :: phi  (2,psp/2)         ! used in spectral truncation of phis  real(r8), intent(out)  :: phisl(plond,plat)      ! Spectrally trunc d(phis)/d(longitude)  real(r8), intent(out)  :: phism(plond,plat)      ! Spectrally trunc d(phis)/d(latitude)  logical , intent(in)   :: phis_hires             ! true => PHIS came from hi res topog!!---------------------------Local workspace-----------------------------!  real(r8) alpn (pspt)          ! alp*rsq*xm*ra  real(r8) dalpn(pspt)          ! dalp*rsq*ra  real(r8) tmp1                 ! vector temporary  real(r8) tmp2                 ! vector temporary  real(r8) tmpr                 ! vector temporary (real)  real(r8) tmpi                 ! vector temporary (imaginary)  real(r8) phialpr,phialpi      ! phi*alp (real and imaginary)  real(r8) phdalpr,phdalpi      ! phi*dalp (real and imaginary)  real(r8) zwalp                ! zw*alp  real(r8) zwdalp               ! zw*dalp  real(r8) psdalpr,psdalpi      ! alps (real and imaginary)*dalp  real(r8) psalpr,psalpi        ! alps (real and imaginary)*alp  real(r8) zrcsj                ! ra/(cos**2 latitude)  real(r8) zw                   ! w**2  real(r8) filtlim              ! filter function  real(r8) ft                   ! filter multiplier for spectral coefficients#if ( ! defined USEFFTLIB )  real(r8) work((plon+1)*plev)  ! Workspace for fft#else  real(r8) work((plon+1)*pcray) ! Workspace for fft#endif  real(r8) zsqcs  integer ir,ii                 ! indices complex coeffs. of spec. arrs.  integer i,k                   ! longitude, level indices  integer irow                  ! latitude pair index  integer latm,latp             ! symmetric latitude indices  integer lat                   ! index  integer m                     ! longitudinal wavenumber index (non-PVP)!                               ! along-diagonal index (PVP)  integer n                     ! latitudinal wavenumber index (non-PVP)!                               ! diagonal index (PVP)  integer nspec                 ! index#if ( defined PVP )                integer ne                    ! index into rsq  integer ic                    ! complex coeff. index  integer ialp                  ! index into legendre polynomials#else  integer mr,mc                 ! spectral indices#endif!!-----------------------------------------------------------------------!! Zero spectral arrays!  alps(:)   = 0.  vz  (:,:) = 0.  d   (:,:) = 0.  t   (:,:) = 0.  q   (:,:) = 0.  phi (:,:) = 0.!! Compute the quantities which are transformed to spectral space:!   1. u = u*sqrt(1-mu*mu),   u * cos(phi)!   2. v = v*sqrt(1-mu*mu),   v * cos(phi)!   3. t = t                  T!   4. ps= ln(ps). !  do lat=1,plat     irow = lat     if (lat.gt.plat/2) irow = plat - lat + 1     zsqcs = sqrt(cs(irow))     do k=1,plev        do i=1,nlon(lat)           u3(i,k,lat) = u3(i,k,lat)*zsqcs           v3(i,k,lat) = v3(i,k,lat)*zsqcs        end do     end do     do i=1,nlon(lat)        ps(i,lat) = log(ps(i,lat))     end do!! Transform grid -> fourier! 1st transform: U,V,T and Q! 2nd transform: LN(PS).  3rd transform: surface geopotential!     call fft991 (u3(1,1,lat),work     ,trig(1,irow),ifax(1,irow),1       , &                     plond   ,nlon(lat),plev        ,-1         )     call fft991 (v3(1,1,lat),work     ,trig(1,irow),ifax(1,irow),1       , &                     plond, nlon(lat)  ,plev        ,-1         )     call fft991 (t3(1,1,lat),work     ,trig(1,irow),ifax(1,irow),1       , &                     plond, nlon(lat)  ,plev        ,-1         )     call fft991 (q3(1,1,lat),work     ,trig(1,irow),ifax(1,irow),1       , &                     plond, nlon(lat)  ,plev        ,-1         )     call fft991 (ps(1,lat),work       ,trig(1,irow),ifax(1,irow),1       , &                     plond, nlon(lat)  ,1           ,-1         )     call fft991 (phis(1,lat),work     ,trig(1,irow),ifax(1,irow),1       , &                     plond, nlon(lat)  ,1           ,-1         )  end do                    ! lat=1,plat!! Loop over latitude pairs!  do irow=1,plat/2     latp = irow     latm = plat - irow + 1     zrcsj = ra/cs(irow)     zw = w(irow)*2.     do i=1,2*nmmax(irow)!! Compute symmetric and antisymmetric components: ps first, then phis!        tmp1 = 0.5*(ps(i,latm) - ps(i,latp))        tmp2 = 0.5*(ps(i,latm) + ps(i,latp))        ps(i,latm) = tmp1        ps(i,latp) = tmp2        tmp1 = 0.5*(phis(i,latm) - phis(i,latp))        tmp2 = 0.5*(phis(i,latm) + phis(i,latp))        phis(i,latm) = tmp1        phis(i,latp) = tmp2     end do!! Multi-level fields: U, V, T!     do k=1,plev        do i=1,2*nmmax(irow)           tmp1 = 0.5*(u3(i,k,latm) - u3(i,k,latp))           tmp2 = 0.5*(u3(i,k,latm) + u3(i,k,latp))           u3(i,k,latm) = tmp1           u3(i,k,latp) = tmp2           tmp1 = 0.5*(v3(i,k,latm) - v3(i,k,latp))           tmp2 = 0.5*(v3(i,k,latm) + v3(i,k,latp))           v3(i,k,latm) = tmp1           v3(i,k,latp) = tmp2           tmp1 = 0.5*(t3(i,k,latm) - t3(i,k,latp))           tmp2 = 0.5*(t3(i,k,latm) + t3(i,k,latp))           t3(i,k,latm) = tmp1           t3(i,k,latp) = tmp2           tmp1 = 0.5*(q3(i,k,latm) - q3(i,k,latp))           tmp2 = 0.5*(q3(i,k,latm) + q3(i,k,latp))           q3(i,k,latm) = tmp1           q3(i,k,latp) = tmp2        end do     end do!     ! Compute vzmn,dmn and ln(p*)mn and also phi*mn,tmn and qmn!#if ( defined PVP )     do n=1,pmax,2        ic = ncoefi(n) - 1        ialp = nalp(n)        do m=1,nmreduced(n,irow)           zwalp = zw*alp(ialp+m,irow)           phi(1,ic+m) = phi(1,ic+m) + zwalp*phis(2*m-1,latp)           phi(2,ic+m) = phi(2,ic+m) + zwalp*phis(2*m  ,latp)           ir = 2*(ic+m) - 1           ii = ir + 1           alps(ir) = alps(ir) + zwalp*ps(2*m-1,latp)           alps(ii) = alps(ii) + zwalp*ps(2*m  ,latp)        end do     end do!     do n=2,pmax,2        ic = ncoefi(n) - 1        ialp = nalp(n)        do m=1,nmreduced(n,irow)           zwalp = zw*alp(ialp+m,irow)           phi(1,ic+m) = phi(1,ic+m) + zwalp*phis(2*m-1,latm)           phi(2,ic+m) = phi(2,ic+m) + zwalp*phis(2*m  ,latm)           ir = 2*(ic+m) - 1           ii = ir + 1           alps(ir) = alps(ir) + zwalp*ps(2*m-1,latm)           alps(ii) = alps(ii) + zwalp*ps(2*m  ,latm)        end do     end do#else     do m=1,nmmax(irow)        mr = nstart(m)        mc = 2*mr        do n=1,nlen(m),2           zwalp = zw*alp(mr+n,irow)           phi(1,mr+n) = phi(1,mr+n) + zwalp*phis(2*m-1,latp)           phi(2,mr+n) = phi(2,mr+n) + zwalp*phis(2*m  ,latp)           ir = mc + 2*n - 1           ii = ir + 1           alps(ir) = alps(ir) + zwalp*ps(2*m-1,latp)           alps(ii) = alps(ii) + zwalp*ps(2*m  ,latp)        end do        do n=2,nlen(m),2           zwalp = zw*alp(mr+n,irow)           phi(1,mr+n) = phi(1,mr+n) + zwalp*phis(2*m-1,latm)           phi(2,mr+n) = phi(2,mr+n) + zwalp*phis(2*m  ,latm)           ir = mc + 2*n - 1           ii = ir + 1           alps(ir) = alps(ir) + zwalp*ps(2*m-1,latm)           alps(ii) = alps(ii) + zwalp*ps(2*m  ,latm)        end do     end do#endif     do k=1,plev#if ( defined PVP )        do n=1,pmax,2           ic = ncoefi(n) - 1           ialp = nalp(n)           do m=1,nmreduced(n,irow)              zwdalp   = zw*dalp(ialp+m,irow)              zwalp    = zw*alp (ialp+m,irow)              ir       = 2*(ic+m) - 1              ii       = ir + 1              d(ir,k)  = d(ir,k) - (zwdalp*v3(2*m-1,k,latm) + &                         xm(m)*zwalp*u3(2*m  ,k,latp))*zrcsj              d(ii,k)  = d(ii,k) - (zwdalp*v3(2*m  ,k,latm) - &                         xm(m)*zwalp*u3(2*m-1,k,latp))*zrcsj              t(ir,k)  = t(ir,k) + zwalp*t3(2*m-1,k,latp)              t(ii,k)  = t(ii,k) + zwalp*t3(2*m  ,k,latp)              q(ir,k)  = q(ir,k) + zwalp*q3(2*m-1,k,latp)              q(ii,k)  = q(ii,k) + zwalp*q3(2*m  ,k,latp)              vz(ir,k) = vz(ir,k) + (zwdalp*u3(2*m-1,k,latm) - &                         xm(m)*zwalp*v3(2*m  ,k,latp))*zrcsj              vz(ii,k) = vz(ii,k) + (zwdalp*u3(2*m  ,k,latm) + &                         xm(m)*zwalp*v3(2*m-1,k,latp))*zrcsj           end do        end do!        do n=2,pmax,2           ic = ncoefi(n) - 1           ialp = nalp(n)           do m=1,nmreduced(n,irow)              zwdalp   = zw*dalp(ialp+m,irow)              zwalp    = zw*alp (ialp+m,irow)              ir       = 2*(ic+m) - 1              ii       = ir + 1              d(ir,k)  = d(ir,k) - (zwdalp*v3(2*m-1,k,latp) + &                         xm(m)*zwalp*u3(2*m  ,k,latm))*zrcsj              d(ii,k)  = d(ii,k) - (zwdalp*v3(2*m  ,k,latp) - &                         xm(m)*zwalp*u3(2*m-1,k,latm))*zrcsj              t(ir,k)  = t(ir,k) + zwalp*t3(2*m-1,k,latm)              t(ii,k)  = t(ii,k) + zwalp*t3(2*m  ,k,latm)              q(ir,k)  = q(ir,k) + zwalp*q3(2*m-1,k,latm)              q(ii,k)  = q(ii,k) + zwalp*q3(2*m  ,k,latm)              vz(ir,k) = vz(ir,k) + (zwdalp*u3(2*m-1,k,latp) - &                         xm(m)*zwalp*v3(2*m  ,k,latm))*zrcsj              vz(ii,k) = vz(ii,k) + (zwdalp*u3(2*m  ,k,latp) + &                         xm(m)*zwalp*v3(2*m-1,k,latm))*zrcsj           end do        end do#else        do m=1,nmmax(irow)           mr = nstart(m)           mc = 2*mr           do n=1,nlen(m),2              zwdalp   = zw*dalp(mr+n,irow)              zwalp    = zw*alp (mr+n,irow)              ir       = mc + 2*n - 1              ii       = ir + 1              d(ir,k)  = d(ir,k) - (zwdalp*v3(2*m-1,k,latm) + &                         xm(m)*zwalp*u3(2*m  ,k,latp))*zrcsj              d(ii,k)  = d(ii,k) - (zwdalp*v3(2*m  ,k,latm) - &                         xm(m)*zwalp*u3(2*m-1,k,latp))*zrcsj              t(ir,k)  = t(ir,k) + zwalp*t3(2*m-1,k,latp)              t(ii,k)  = t(ii,k) + zwalp*t3(2*m  ,k,latp)              q(ir,k)  = q(ir,k) + zwalp*q3(2*m-1,k,latp)              q(ii,k)  = q(ii,k) + zwalp*q3(2*m  ,k,latp)              vz(ir,k) = vz(ir,k) + (zwdalp*u3(2*m-1,k,latm) - &                         xm(m)*zwalp*v3(2*m  ,k,latp))*zrcsj              vz(ii,k) = vz(ii,k) + (zwdalp*u3(2*m  ,k,latm) + &                         xm(m)*zwalp*v3(2*m-1,k,latp))*zrcsj           end do        end do        do m=1,nmmax(irow)           mr = nstart(m)           mc = 2*mr           do n=2,nlen(m),2              zwdalp   = zw*dalp(mr+n,irow)              zwalp    = zw*alp (mr+n,irow)              ir       = mc + 2*n - 1              ii       = ir + 1              d(ir,k)  = d(ir,k) - (zwdalp*v3(2*m-1,k,latp) + &                         xm(m)*zwalp*u3(2*m  ,k,latm))*zrcsj              d(ii,k)  = d(ii,k) - (zwdalp*v3(2*m  ,k,latp) - &                         xm(m)*zwalp*u3(2*m-1,k,latm))*zrcsj              t(ir,k)  = t(ir,k) + zwalp*t3(2*m-1,k,latm)              t(ii,k)  = t(ii,k) + zwalp*t3(2*m  ,k,latm)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人av在线播放| 日韩高清中文字幕一区| 国产成人综合亚洲91猫咪| 欧美成人一级视频| 激情深爱一区二区| 日本一区二区成人在线| 成人在线视频一区| 中文字幕在线免费不卡| 91国产免费观看| 成人免费小视频| 国产成人av影院| 日韩精品一区二区三区蜜臀| 国内精品久久久久影院薰衣草 | 成人av集中营| 国产精品久久久久久久久久久免费看| 岛国精品在线播放| 洋洋av久久久久久久一区| 欧美日韩亚洲综合| 美女任你摸久久| 中文字幕在线观看一区二区| 欧洲亚洲国产日韩| 久久精品久久99精品久久| 2024国产精品| 9人人澡人人爽人人精品| 一区二区三区在线播放| 欧美日韩性生活| 久久狠狠亚洲综合| 国产精品高潮久久久久无| 欧美午夜精品一区二区蜜桃| 久久国产视频网| 亚洲精品国产一区二区三区四区在线 | 蜜臀va亚洲va欧美va天堂| 日本一区二区不卡视频| 538prom精品视频线放| 国产精品69久久久久水密桃 | 婷婷国产在线综合| 日本一区二区电影| 欧美成人在线直播| 亚洲人成精品久久久久| 精品一区二区在线视频| 国产精品午夜在线| 欧美一区二区三区思思人| 99久久99久久精品国产片果冻| 日本中文在线一区| 亚洲欧美精品午睡沙发| 久久综合色综合88| 欧美在线不卡一区| 国产999精品久久久久久绿帽| 亚洲精品视频在线观看免费| 337p日本欧洲亚洲大胆精品 | 在线不卡一区二区| 成人不卡免费av| 激情av综合网| 肉丝袜脚交视频一区二区| 国产精品久久久久久久岛一牛影视| 欧美一级一区二区| 成人少妇影院yyyy| 蜜臀av在线播放一区二区三区| 一区二区三区在线免费| 国产欧美一区二区在线| 日韩精品一区二区三区老鸭窝 | 久久女同精品一区二区| 欧美日本在线视频| 欧日韩精品视频| av动漫一区二区| 成人一区在线看| 国产精品中文欧美| 日韩av在线发布| 天堂一区二区在线| 亚洲一区在线观看免费观看电影高清| 国产精品国模大尺度视频| 欧美精品一区二区三区在线播放| 欧美理论片在线| 91同城在线观看| 国产成人免费在线视频| 国产乱一区二区| 国产馆精品极品| 成人免费毛片嘿嘿连载视频| 成人看片黄a免费看在线| 欧美日韩成人在线| 欧美成人aa大片| 欧美一区二区三区精品| 欧美三级日本三级少妇99| 在线亚洲欧美专区二区| 在线欧美小视频| 欧美日韩高清不卡| 欧美一区二区在线看| 欧美一卡2卡三卡4卡5免费| 欧美一区二区大片| 久久久久久一二三区| 亚洲品质自拍视频| 国产精品情趣视频| 亚洲另类在线制服丝袜| 亚洲尤物视频在线| 男女男精品视频网| 婷婷中文字幕综合| 亚洲免费电影在线| 亚洲成a人片综合在线| 婷婷一区二区三区| 美国一区二区三区在线播放| 国产精品自在欧美一区| heyzo一本久久综合| 欧洲一区在线电影| 久久久久久久电影| 一区二区三区在线影院| 中日韩av电影| 久久久精品蜜桃| 亚洲欧洲三级电影| 亚洲成人www| 精品一区二区影视| 狠狠色综合日日| 91丨porny丨最新| 日韩无一区二区| 欧美一区二区啪啪| 国产精品女同一区二区三区| 亚洲国产日韩一区二区| 乱中年女人伦av一区二区| 国产91精品一区二区麻豆网站| 一本久久综合亚洲鲁鲁五月天| 欧美午夜理伦三级在线观看| 日韩视频免费观看高清在线视频| 国产片一区二区| 亚洲国产精品视频| 国产美女精品一区二区三区| 色94色欧美sute亚洲线路一久| 3d成人动漫网站| 中文字幕永久在线不卡| 男男视频亚洲欧美| 91猫先生在线| 久久精品人人做人人综合 | 久久影院电视剧免费观看| 亚洲精品国久久99热| 国产成人亚洲综合a∨婷婷图片 | 国产精品色一区二区三区| 狠狠网亚洲精品| 欧美亚洲国产一区二区三区va| 久久久久久久国产精品影院| 日韩一区精品字幕| 91美女片黄在线观看| 中文一区二区完整视频在线观看| 三级欧美韩日大片在线看| 色哟哟国产精品| 国产精品水嫩水嫩| 国产一区二区三区久久悠悠色av | 精品亚洲欧美一区| 欧美久久久久久久久久| 亚洲麻豆国产自偷在线| 丰满放荡岳乱妇91ww| 精品国产一区二区精华| 日本视频中文字幕一区二区三区| 欧美在线视频不卡| 亚洲日本在线视频观看| 成人午夜在线播放| 久久久国产精品午夜一区ai换脸| 蜜桃一区二区三区在线| 在线国产电影不卡| 亚洲女同一区二区| 99re这里只有精品首页| 国产亚洲欧洲997久久综合| 日韩成人免费电影| 欧美一区二区性放荡片| 视频一区国产视频| 在线电影欧美成精品| 亚洲成人av电影| 欧美区一区二区三区| 午夜视频在线观看一区二区| 欧美色区777第一页| 夜色激情一区二区| 欧美三级日韩在线| 丝袜美腿亚洲综合| 欧美一区二区三区视频在线观看 | a美女胸又www黄视频久久| 国产精品理伦片| 91在线观看美女| 亚洲人成精品久久久久久| 91成人国产精品| 午夜精品久久久久久久久久| 欧美xingq一区二区| 韩国v欧美v日本v亚洲v| 欧美mv日韩mv亚洲| 国产激情一区二区三区四区| 国产欧美视频一区二区| eeuss鲁片一区二区三区在线观看| 中文字幕日本乱码精品影院| 91免费精品国自产拍在线不卡| 亚洲欧美另类久久久精品| 欧美视频自拍偷拍| 久久精品国产亚洲aⅴ| 久久久国产一区二区三区四区小说 | 国产精品国产自产拍在线| 色婷婷激情一区二区三区| 亚洲一区二区三区国产| 678五月天丁香亚洲综合网| 久久99久久精品| 国产精品超碰97尤物18| 欧美日韩在线播放一区| 激情丁香综合五月| 自拍偷拍国产亚洲| 91麻豆精品国产91久久久久久 | 亚洲国产岛国毛片在线|