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

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

?? slttraj.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
#include <misc.h>#include <params.h>subroutine slttraj(pmap    ,jcen    ,lat     ,ztodt   ,ra      , &                   iter    ,lam     ,phi     ,dphi    ,etamid  , &                   etaint  ,detam   ,detai   ,lbasiy  ,lbasiz  , &                   lbassi  ,kdpmpf  ,kdpmph  ,idp     ,jdp     , &                   kdp     ,kkdp    ,xl      ,xr      ,wgt1x   , &                   wgt2x   ,wgt3x   ,wgt4x   ,hl      ,hr      , &                   dhl     ,dhr     ,ys      ,yn      ,wgt1y   , &                   wgt2y   ,wgt3y   ,wgt4y   ,hs      ,hn      , &                   dhs     ,dhn     ,rdphi   ,wgt1z   ,wgt2z   , &                   wgt3z   ,wgt4z   ,hb      ,ht      ,dhb     , &                   dht     ,rdz     ,lampr   ,phipr   ,upr     , &                   vpr     ,lamdp   ,phidp   ,sigdp   ,u3      , &                   v3      ,u3sld   ,v3sld   ,etadot  ,n3      , &                   n3m1    ,dlam    ,nlon    )!!-----------------------------------------------------------------------!! Purpose:! Determine trajectory departure point for each arrival point.! Assume that the first guess for the dep point coordinates are the! arrival point coordinates!! Author:  J. Olson!!-----------------------------------------------------------------------!! $Id: slttraj.F90,v 1.4.8.1 2002/04/22 19:09:52 erik Exp $! $Author: erik $!!-----------------------------------------------------------------------  use precision  use pmgrid  use comslt  use prognostics, only: ptimelevels#if (!defined CRAY)  use srchutil#endif  implicit none!------------------------------Arguments--------------------------------!  integer , intent(in)   :: pmap                ! artificial vert grid dim.  integer , intent(in)   :: jcen                ! index of lat slice(extend)  integer , intent(in)   :: lat                 ! index of lat slice (model)  real(r8), intent(in)   :: ztodt               ! time step (seconds)  real(r8), intent(in)   :: ra                  ! 1./(radius of earth)  integer , intent(in)   :: iter                ! iteration count  real(r8), intent(in)   :: lam   (plond,platd) ! long. coord of model grid  real(r8), intent(in)   :: phi   (platd)       ! lat.  coord of model grid  real(r8), intent(in)   :: dphi  (platd)       ! increment between lats.  real(r8), intent(in)   :: etamid(plev)        ! vertical full levels  real(r8), intent(in)   :: etaint(plevp)       ! vertical half levels  real(r8), intent(in)   :: detam (plev)        ! increment between full levs  real(r8), intent(in)   :: detai (plevp)       ! increment between half levs  real(r8), intent(in)   :: lbasiy(4,2,platd)   ! lat interp wts(lagrng)  real(r8), intent(in)   :: lbasiz(4,2,plev)    ! vert interp wghts (lagrng)  real(r8), intent(in)   :: lbassi(4,2,plevp)   ! vert interp wghts (lagrng)  integer , intent(in)   :: kdpmpf(pmap)        ! artificial vert grid indices  integer , intent(in)   :: kdpmph(pmap)        ! artificial vert grid indices  integer , intent(out)  :: idp   (plon,plev,4) ! zonal      dep point index  integer , intent(out)  :: jdp   (plon,plev)   ! meridional dep point index  integer , intent(out)  :: kdp   (plon,plev)   ! vertical   dep point index  integer , intent(in)   :: kkdp  (plon,plev)   ! index of z-coordinate of dep pt (alt)  real(r8), intent(out)  :: xl    (plon,plev,4) ! weight for x-interpolants (left)  real(r8), intent(out)  :: xr    (plon,plev,4) ! weight for x-interpolants (right)  real(r8), intent(in)   :: wgt1x (plon,plev,4) ! weight for x-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt2x (plon,plev,4) ! weight for x-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt3x (plon,plev,4) ! weight for x-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt4x (plon,plev,4) ! weight for x-interpolants (Lag Cubic)  real(r8), intent(in)   :: hl    (plon,plev,4) ! weight for x-interpolants (Hermite)  real(r8), intent(in)   :: hr    (plon,plev,4) ! weight for x-interpolants (Hermite)  real(r8), intent(in)   :: dhl   (plon,plev,4) ! weight for x-interpolants (Hermite)  real(r8), intent(in)   :: dhr   (plon,plev,4) ! weight for x-interpolants (Hermite)  real(r8), intent(out)  :: ys    (plon,plev)   ! weight for y-interpolants (south)  real(r8), intent(out)  :: yn    (plon,plev)   ! weight for y-interpolants (north)  real(r8), intent(in)   :: wgt1y (plon,plev)   ! weight for y-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt2y (plon,plev)   ! weight for y-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt3y (plon,plev)   ! weight for y-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt4y (plon,plev)   ! weight for y-interpolants (Lag Cubic)  real(r8), intent(in)   :: hs    (plon,plev)   ! weight for y-interpolants (Hermite)  real(r8), intent(in)   :: hn    (plon,plev)   ! weight for y-interpolants (Hermite)  real(r8), intent(in)   :: dhs   (plon,plev)   ! weight for y-interpolants (Hermite)  real(r8), intent(in)   :: dhn   (plon,plev)   ! weight for y-interpolants (Hermite)  real(r8), intent(in)   :: rdphi (plon,plev)   ! reciprocal of y-interval  real(r8), intent(in)   :: wgt1z (plon,plev)   ! weight for z-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt2z (plon,plev)   ! weight for z-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt3z (plon,plev)   ! weight for z-interpolants (Lag Cubic)  real(r8), intent(in)   :: wgt4z (plon,plev)   ! weight for z-interpolants (Lag Cubic)  real(r8), intent(in)   :: hb    (plon,plev)   ! weight for z-interpolants (Hermite)  real(r8), intent(in)   :: ht    (plon,plev)   ! weight for z-interpolants (Hermite)  real(r8), intent(in)   :: dhb   (plon,plev)   ! weight for z-interpolants (Hermite)  real(r8), intent(in)   :: dht   (plon,plev)   ! weight for z-interpolants (Hermite)  real(r8), intent(in)   :: rdz   (plon,plev)   ! reciprocal of z-interval  real(r8), intent(out)  :: lampr (plon,plev)   ! trajectory increment (x-direction)  real(r8), intent(out)  :: phipr (plon,plev)   ! trajectory increment (y-direction)  real(r8), intent(out)  :: upr   (plon,plev)   ! interpolated u field (local geodesic)  real(r8), intent(out)  :: vpr   (plon,plev)   ! interpolated v field (local geodesic)  real(r8), intent(out)  :: lamdp (plon,plev)   ! zonal      departure pt. coord.  real(r8), intent(inout):: phidp (plon,plev)   ! meridional departure pt. coord.  real(r8), intent(inout):: sigdp (plon,plev)   ! vertical   departure pt. coord.  real(r8), intent(in)   :: u3    (plond, plev, beglatex:endlatex,ptimelevels) ! u wind component  real(r8), intent(in)   :: v3    (plond, plev, beglatex:endlatex,ptimelevels) ! v wind component  real(r8), intent(in)   :: u3sld (plond,plev ,beglatex:endlatex)    ! u3 inpt for SLD int  real(r8), intent(in)   :: v3sld (plond,plev ,beglatex:endlatex)    ! v3 inpt for SLD int  real(r8), intent(in)   :: etadot(plond,plevp,beglatex:endlatex,ptimelevels)  ! Vertical motion  integer , intent(in)   :: n3                                       ! time indicies  integer , intent(in)   :: n3m1                                     ! time indicies  real(r8), intent(in)   :: dlam  (platd)                            ! d-long for each lat  integer , intent(in)   :: nlon                                     ! # of longitudes#if (defined CRAY)  integer,external :: ismin#endif!!---------------------------Local workspace-----------------------------!  real(r8) fac                  ! 1-eps  real(r8) tmp                  ! temp variable  real(r8) ump    (plon,plev)   ! interpolated u field  real(r8) vmp    (plon,plev)   ! interpolated v field  real(r8) wmp    (plon,plev)   ! interpolated w field  real(r8) wmpa   (plon,plev)   ! interpolated w field (arrival level)  real(r8) sigpr  (plon,plev)   ! trajectory increment (vertical)  real(r8) etamin               ! minimum eta  real(r8) etamax               ! maximum eta  real(r8) delsig (plev)        ! dist between dep point and model levs  real(r8) zt     (plon,plev)   ! top vertical interpolation weight   real(r8) zb     (plon,plev)   ! bot vertical interpolation weight   real(r8) zttmp                ! top vertical interpolation weight   real(r8) zbtmp                ! bot vertical interpolation weight   real(r8) rdx    (platd)       ! reciprocal of del-x  logical locgeo                ! local geodesic flag  logical lvert                 ! flag to compute vertical trajectory  logical larrival(plon)        ! flag to indicate whether or not to!                               ! place the alternative dep point at the!                               ! arrival point.  integer kount                 ! index counter  integer kkmin                 ! index of minimum "delsig"  integer i                     ! |  integer ii                    ! |  integer j                     ! |  integer jj2                   ! | - indices  integer jj3                   ! |  integer k                     ! |  integer kk                    ! |  integer n                     ! |!!-----------------------------------------------------------------------!  fac     = 1. - 10.*epsilon (fac)  locgeo  = .false.  if(abs(phi(jcen)) .ge. phigs) locgeo = .true.!! Interpolate arrival and departure vertical velocities!  do k = 1,plev     do i = 1,nlon        zttmp = ( etaint(k+1) - sigdp(i,k) )/detai(k)        zbtmp = 1. - zttmp        wmpa(i,k) = etadot(i1+i-1,k  ,jcen,n3  )*zttmp &                  + etadot(i1+i-1,k+1,jcen,n3  )*zbtmp        wmp (i,k) = etadot(i1+i-1,k  ,jcen,n3m1)*zttmp &                  + etadot(i1+i-1,k+1,jcen,n3m1)*zbtmp     end do  end do!! Set up computation of trajectory!  do k = 1,plev     do i = 1,nlon        ii = i + i1 - 1!! Place u/v on unit sphere!        ump(i,k) = 0.5*(u3sld(ii,k,jcen) + u3(ii,k,jcen,n3))*ra        vmp(i,k) = 0.5*(v3sld(ii,k,jcen) + v3(ii,k,jcen,n3))*ra        wmp(i,k) = 0.5*(wmp(i,k)         + wmpa(i,k)       )!! Estimate departure point of parcel trajectory.!        lampr(i,k) = -ztodt*ump(i,k)        phipr(i,k) = -ztodt*vmp(i,k)        sigpr(i,k) = -ztodt*wmp(i,k)        if (.not. locgeo) lampr(i,k) = lampr(i,k)/cos( phidp(i,k) )!! Initialize winds for use in g.c. calculations.!        if (locgeo) then           upr(i,k) = ump(i,k)           vpr(i,k) = vmp(i,k)        end if     end do  end do!! Estimate initial trajectory departure points!  lvert = .true.  call trajdp(lat     ,jcen    ,ztodt   ,locgeo  ,lvert   , &              lam(1,jcen),phi  ,etamid  ,upr     ,vpr     , &              lampr   ,phipr   ,sigpr   ,lamdp   ,phidp   , &              sigdp   ,nlon    )!! Loop over departure point iterates.!  do n = 1,iter!! Determine departure point indicies and interpolate u,v,w!     call bandij (dlam    ,phi     ,lamdp   ,phidp   ,idp     , &                  jdp     ,nlon    )     call kdpfnd (plev    ,pmap    ,etamid  ,sigdp   ,kdpmpf  , &                  kdp     ,nlon    )!! Compute weights for x,y,z dimensions!     do j = 1,platd        rdx(j) = 1./(lam(nxpt+2,j) - lam(nxpt+1,j))     end do     do k = 1,plev        do i = 1,nlon           jj2 = jdp(i,k)           jj3 = jdp(i,k) + 1           xl(i,k,2) = (lam(idp(i,k,2)+1,jj2) - lamdp(i,k))*rdx(jj2)           xl(i,k,3) = (lam(idp(i,k,3)+1,jj3) - lamdp(i,k))*rdx(jj3)           xr(i,k,2) = 1. - xl(i,k,2)           xr(i,k,3) = 1. - xl(i,k,3)           ys(i,k)   = ( phi(jdp(i,k)+1) - phidp(i,k) )/dphi(jdp(i,k))           yn(i,k)   = 1. - ys(i,k)           zt(i,k)   = (etamid(kdp(i,k)+1)-sigdp(i,k))/detam(kdp(i,k))           zb(i,k)   = 1. - zt(i,k)        end do     end do!     call sltlinint(plev    ,1       ,u3sld(1,1,beglatex),xl      ,xr      , &                    ys      ,yn      ,zt                 ,zb      ,idp     , &                    jdp     ,kdp     ,ump                ,nlon    )     call sltlinint(plev    ,1       ,v3sld(1,1,beglatex),xl      ,xr      , &                    ys      ,yn      ,zt                 ,zb      ,idp     , &                    jdp     ,kdp     ,vmp                ,nlon    )     call kdpfnd (plevp   ,pmap    ,etaint  ,sigdp   ,kdpmph  , &                  kdp     ,nlon    )     do k = 1,plev        do i = 1,nlon           zt(i,k)   = (etaint(kdp(i,k)+1)-sigdp(i,k))/detai(kdp(i,k))           zb(i,k)   = 1. - zt(i,k)        end do     end do     call sltlinint(plevp   ,1       ,etadot(1,1,beglatex,n3m1),xl      ,xr      , &                    ys      ,yn      ,zt                       ,zb      ,idp     , &                    jdp     ,kdp     ,wmp                      ,nlon    )!! Add arrival point velocities (n) to interpolated velocities!     do k = 1,plev        do i = 1,nlon           ii = i + i1 - 1           ump(i,k) = 0.5*(ump(i,k) + u3(ii,k,jcen,n3))           vmp(i,k) = 0.5*(vmp(i,k) + v3(ii,k,jcen,n3))           wmp(i,k) = 0.5*(wmp(i,k) + wmpa(i,k)       )        end do     end do!! Compute new trajectory departure points!     lvert = .true.     call depinc (jcen    ,ztodt   ,ra      ,locgeo  ,lvert   , &                  lam(1,jcen),phi  ,ump     ,vmp     ,wmp     , &                  upr     ,vpr     ,lamdp   ,phidp   ,lampr   , &                  phipr   ,sigpr   ,nlon    )     call trajdp (lat     ,jcen    ,ztodt   ,locgeo  ,lvert   , &                  lam(1,jcen),phi  ,etamid  ,upr     ,vpr     , &                  lampr   ,phipr   ,sigpr   ,lamdp   ,phidp   , &                  sigdp   ,nlon    )  end do!! Compile departure point binning statistics!  do k = 1,plev     if(k .eq. 1) then        etamin = etamid(k  )        etamax = etamid(k+1)     elseif(k .eq. plev) then        etamin = etamid(k-1)        etamax = etamid(k  )     else        etamin = etamid(k-1)        etamax = etamid(k+1)     end if     do i = 1,nlon        larrival(i) = sigdp(i,k) .ge. etamin .and. sigdp(i,k) .le. etamax     end do!! If:  Departure point is within one grid interval from the arrival! point, bin it in the ARRIVAL point bin!     tmp = 0.     do i = 1,nlon        if (larrival(i)) then           tmp           = tmp + 1.        end if     end do     levkntl(k,k,lat) = levkntl(k,k,lat) + tmp!! Else:  find departure point bin!     kount = 0     do i=1,nlon        if (larrival(i)) kount = kount + 1     end do     if (kount .ne. nlon) then        do i = 1,nlon           if (.not. larrival(i)) then              delsig(1) = 1.e+35              do kk = 2,plev                 delsig(kk) = abs( sigdp(i,k) - etaint(kk) )              end do              kkmin = ismin( plev,delsig,1 )              if(kkmin .gt. k) kkmin = kkmin-1              levkntl(kkmin,k,lat) = levkntl(kkmin,k,lat) + 1.           end if        end do     end if  end do!  returnend subroutine slttraj

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美bbbbb| 国产午夜精品久久久久久免费视 | 欧美色图片你懂的| 成人在线综合网| 国产精品资源网站| 国产精品一线二线三线精华| 国产麻豆一精品一av一免费 | 久久欧美一区二区| 精品国产麻豆免费人成网站| 欧美日韩国产系列| 日韩精品一区二区三区中文不卡 | 中文字幕一区二区在线播放| 亚洲色图一区二区三区| 亚洲欧美影音先锋| 亚洲一二三区不卡| 石原莉奈在线亚洲二区| 麻豆精品一区二区综合av| 精品在线一区二区| 粉嫩aⅴ一区二区三区四区五区 | 久久国产视频网| 国产麻豆精品久久一二三| 岛国精品一区二区| 欧美综合天天夜夜久久| 欧美一区二区三区视频在线 | 精品午夜久久福利影院| 丰满白嫩尤物一区二区| 欧美在线观看视频在线| 精品国产乱码久久久久久久 | 日韩欧美国产一区二区在线播放| 日韩精品中午字幕| 亚洲视频你懂的| 免费看日韩a级影片| 国产v综合v亚洲欧| 欧美欧美欧美欧美首页| 亚洲精品一区二区三区99| 亚洲欧美国产三级| 久草精品在线观看| 在线欧美小视频| 国产日韩成人精品| 石原莉奈在线亚洲二区| 成年人国产精品| 日韩你懂的电影在线观看| 日韩一区日韩二区| 国产一区三区三区| 欧美日韩在线一区二区| 国产精品无遮挡| 免费在线观看视频一区| 一本色道久久加勒比精品| 精品久久久网站| 五月天欧美精品| 91亚洲精华国产精华精华液| 精品日本一线二线三线不卡| 亚洲国产cao| 99精品久久只有精品| 日韩免费观看2025年上映的电影| 亚洲精选视频免费看| 国产成人精品免费看| 欧美一区二区三区电影| 亚洲国产裸拍裸体视频在线观看乱了 | 日韩毛片一二三区| 国产精品综合在线视频| 日韩女优电影在线观看| 日本美女一区二区三区| 欧美日韩一级二级| 一区二区国产视频| 不卡免费追剧大全电视剧网站| 精品成人a区在线观看| 蜜臀av国产精品久久久久| 欧美日韩免费观看一区三区| 亚洲激情校园春色| 在线亚洲免费视频| 一区二区三区中文免费| 91久久精品一区二区二区| 国产精品久久精品日日| 不卡一区中文字幕| 最新中文字幕一区二区三区| 99视频一区二区| 国产精品毛片大码女人| 成人av网站大全| 亚洲视频免费在线观看| 一本高清dvd不卡在线观看| 亚洲男同性恋视频| 在线免费观看日本欧美| 亚洲v中文字幕| 日韩视频国产视频| 老司机精品视频导航| 精品福利av导航| 成人激情小说网站| 亚洲欧美日韩国产手机在线 | 欧洲国产伦久久久久久久| 亚洲一线二线三线视频| 欧美疯狂做受xxxx富婆| 久久99精品久久久久久动态图 | 日本精品一区二区三区四区的功能| 亚洲欧洲综合另类| 欧美三级韩国三级日本三斤| 奇米精品一区二区三区四区 | 欧美丰满少妇xxxxx高潮对白| 日韩电影在线一区二区| 久久精品免视看| 91麻豆国产自产在线观看| 天堂一区二区在线| 久久精品一区二区三区不卡| 91年精品国产| 日韩1区2区日韩1区2区| 中文字幕av资源一区| 欧美三级视频在线| 国产精品一区二区不卡| 亚洲一区成人在线| 久久网站最新地址| 欧美午夜精品久久久| 国内精品伊人久久久久av影院| 综合久久一区二区三区| 欧美一级搡bbbb搡bbbb| 97精品久久久久中文字幕| 青青草视频一区| 中文字幕中文字幕一区| 日韩欧美一区在线| 99久久99久久精品免费观看| 老司机免费视频一区二区三区| 亚洲欧美色一区| 久久在线免费观看| 7777精品伊人久久久大香线蕉最新版| 国产在线国偷精品免费看| 亚洲一二三区视频在线观看| 国产欧美一区二区精品性色超碰 | 久久精品一区二区三区不卡| 欧美日韩在线播| 成人国产精品免费观看| 麻豆国产精品777777在线| 一区二区三区在线播| 国产精品久久夜| 欧美精品一区男女天堂| 欧美丝袜丝交足nylons| 色综合天天天天做夜夜夜夜做| 精品综合久久久久久8888| 天天av天天翘天天综合网 | 日本午夜一本久久久综合| 亚洲视频一区二区在线| 欧美国产日韩a欧美在线观看| 日韩欧美国产综合一区| 欧美夫妻性生活| 欧美日韩一区二区在线观看视频| 91亚洲精品久久久蜜桃| a4yy欧美一区二区三区| 成人福利电影精品一区二区在线观看| 九九国产精品视频| 国产在线一区观看| 国产美女视频91| 国产精品自拍三区| 国产a久久麻豆| av高清不卡在线| 97久久久精品综合88久久| 成人国产精品免费观看动漫 | 777欧美精品| 日韩一级视频免费观看在线| 欧美剧在线免费观看网站| 欧美日韩五月天| 欧美日本一区二区在线观看| 欧美日韩成人在线| 日韩一区二区精品葵司在线| 精品精品欲导航| 国产亚洲午夜高清国产拍精品| 国产亚洲一区二区三区在线观看| 日本一区免费视频| 亚洲精品中文字幕在线观看| 欧美视频一区二| 欧美狂野另类xxxxoooo| 精品久久国产老人久久综合| 欧美韩日一区二区三区四区| 亚洲免费色视频| 日韩精品福利网| 国产精品亚洲一区二区三区在线| 岛国一区二区在线观看| 欧美影院午夜播放| 91精品蜜臀在线一区尤物| 久久精品人人做| 亚洲女厕所小便bbb| 奇米综合一区二区三区精品视频| 国产做a爰片久久毛片| 成人国产在线观看| 欧美日韩精品三区| 欧美成va人片在线观看| 国产精品视频线看| 视频精品一区二区| 不卡一卡二卡三乱码免费网站| 精品视频一区二区不卡| 国产三级精品三级在线专区| 一区二区欧美视频| 风间由美性色一区二区三区| 欧美高清视频在线高清观看mv色露露十八| 日韩精品一区二区三区视频播放| 中文字幕一区二区在线播放| 免费成人结看片| 在线观看国产一区二区| 久久精品一区蜜桃臀影院| 性久久久久久久久久久久| 国产成人一区二区精品非洲| 欧美伦理视频网站| 最新国产成人在线观看|