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

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

?? sltint.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 4 頁
字號:
#include <misc.h>#include <params.h>subroutine sltint(kdim    ,ikcnst  ,jcen    ,fb      ,lam     , &                  rdphi   ,rdz     ,lbasdy  ,wdz     ,xl      , &                  xr      ,wgt1x   ,wgt2x   ,wgt3x   ,wgt4x   , &                  hl      ,hr      ,dhl     ,dhr     ,ys      , &                  yn      ,wgt1y   ,wgt2y   ,wgt3y   ,wgt4y   , &                  hs      ,hn      ,dhs     ,dhn     ,wgt1z   , &                  wgt2z   ,wgt3z   ,wgt4z   ,hb      ,ht      , &                  dhb     ,dht     ,idp     ,jdp     ,kdp     , &                  kkdp    ,lhrzint ,lvrtint ,limdrh  ,limdrv  , &                  fdp     ,nlon    )!!-----------------------------------------------------------------------!! Purpose:! Interpolate field to departure points using Hermite or Lagrange! Cubic interpolation!! Author:  J. Olson!!-----------------------------------------------------------------------!! $Id: sltint.F90,v 1.3 2000/06/14 19:32:12 erik Exp $! $Author: erik $!!-----------------------------------------------------------------------  use precision  use pmgrid#if (!defined CRAY)  use srchutil, only: wheneq#endif  implicit none!----------------------------- Parameters ------------------------------!  integer, parameter :: ppdy = 4 ! length of interpolation grid stencil  integer, parameter :: ppdz = 4 ! length of interp. grid stencil in z!!------------------------------Arguments--------------------------------!  integer , intent(in)   :: kdim                ! vertical dimension  integer , intent(in)   :: ikcnst              ! constituent index  integer , intent(in)   :: jcen                ! index of latitude in extended grid  real(r8), intent(in)   :: fb(plond,kdim*ikcnst,beglatex:endlatex) ! input field  real(r8), intent(in)   :: lam   (plond,platd) ! longitude coordinates of model grid  real(r8), intent(in)   :: rdphi (plon,plev)   ! reciprocal of y-interval  real(r8), intent(in)   :: rdz   (plon,plev)   ! reciprocal of z-interval  real(r8), intent(in)   :: lbasdy(4,2,platd)   ! basis functions for lat deriv est.  real(r8), intent(in)   :: wdz   (4,2,kdim)    ! basis functions for vert deriv est.  real(r8), intent(in)   :: xl    (plon,plev,4) ! weight for x-interpolants (left)  real(r8), intent(in)   :: 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(in)   :: ys    (plon,plev)   ! weight for y-interpolants (south)  real(r8), intent(in)   :: 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)   :: 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)  integer , intent(in)   :: idp   (plon,plev,4) ! index of x-coordinate of dep pt  integer , intent(in)   :: jdp   (plon,plev)   ! index of y-coordinate of dep pt  integer , intent(in)   :: kdp   (plon,plev)   ! index of z-coordinate of dep pt  integer , intent(in)   :: kkdp  (plon,plev)   ! index of z-coordinate of dep pt (alt)  logical , intent(in)   :: lhrzint             ! flag to do horizontal interpolation  logical , intent(in)   :: lvrtint             ! flag to do vertical   interpolation  logical , intent(in)   :: limdrh              ! horizontal derivative limiter flag  logical , intent(in)   :: limdrv              ! vertical   derivative limiter flag  real(r8), intent(out)  :: fdp(plon,plev)      ! interpolant  integer , intent(in)   :: nlon                ! number of longitudes for this latitude!!---------------------------Local workspace-----------------------------!  integer i                           ! |  integer ii1,ii2,ii3,ii4             ! |  integer ii,jj,j                     ! |  integer k                           ! |  integer kk                          ! |  integer jmin                        ! |  integer jmax                        ! | -- indices  integer jdpval                      ! |  integer kdpval                      ! |  integer icount                      ! |  integer indx(plon)                  ! |  integer nval                        ! |  integer kdimm1                      ! |  integer kdimm2                      ! |  integer kdimm3                      ! |!  real(r8) fac                        ! factor applied in limiter  real(r8) tmp1                       ! derivative factor  real(r8) tmp2                       ! abs(tmp1)  real(r8) deli                       ! linear derivative  real(r8) dx                         ! delta x  real(r8) rdx (platd)                ! 1./dx  real(r8) rdx6(platd)                ! 1./(6*dx)  real(r8) fxl                        ! left  derivative estimate  real(r8) fxr                        ! right derivative estimate!  real(r8) f1                         ! |  real(r8) f2                         ! |  real(r8) f3                         ! |  real(r8) f4                         ! |  real(r8) tmptop                     ! | -- work arrays  real(r8) tmpbot                     ! |  real(r8) fintx(plon,plev,ppdy,ppdz) ! |  real(r8) finty(plon,plev     ,ppdz) ! |  real(r8) fbot (plon,plev,ppdz)      ! |  real(r8) ftop (plon,plev,ppdz)      ! |!!-----------------------------------------------------------------------!  fac  = 3.*(1. - 10.*epsilon(fac))  kdimm1 = kdim - 1  kdimm2 = kdim - 2  kdimm3 = kdim - 3!  do j = 1,platd     dx      = lam(nxpt+2,j) - lam(nxpt+1,j)     rdx (j) = 1./dx     rdx6(j) = 1./(6.*dx)  end do!!-----------------------------------------------------------------------!------------------------- Code Description ----------------------------!! Each block of code performs a specific interpolation as follows:!!  For 3-D (horizontal AND vertical) interpolation:!!    10XX loops: Hermite  cubic/linear interpolation in the horizontal!    20XX loops: Lagrange cubic/linear interpolation in the horizontal!    30XX loops: Hermite  cubic/linear interpolation in the vertical!    40XX loops: Lagrange cubic/linear interpolation in the vertical!!  For horizontal interpolation only:!!    50XX loops: an optimized Lagrange cubic/linear algorithm!    60XX loops: Hermite cubic/linear interpolation in the horizontal!!  For vertical interpolation only:!!    70XX loops: an optimized Lagrange cubic/linear algorithm (no!                Hermite interpolator available)!!-----------------------------------------------------------------------!-----------------------------------------------------------------------!  if( lhrzint .and. lvrtint ) then!!-----------------------------------------------------------------------!-----------------------------------------------------------------------!!    10XX loops: Hermite  cubic/linear interpolation in the horizontal!!-----------------------------------------------------------------------!-----------------------------------------------------------------------!     if( limdrh ) then!! PART 1:  x-interpolation!! Loop over fields.! ..x interpolation at each height needed for z interpolation.! ...x interpolation at each latitude needed for y interpolation.!        do k=1,plev           do i=1,nlon              ii1 = idp(i,k,1)              ii2 = idp(i,k,2)              ii3 = idp(i,k,3)              ii4 = idp(i,k,4)              jj = jdp(i,k)              kk = kkdp(i,k)!! Height level 1:  Linear interpolation on inner two latitudes only!!!!           fintx(i,k,1,1) = not used              fintx(i,k,2,1) = fb (ii2  ,kk-1,jj  )*xl (i,k,2) &                             + fb (ii2+1,kk-1,jj  )*xr (i,k,2)              fintx(i,k,3,1) = fb (ii3  ,kk-1,jj+1)*xl (i,k,3) &                             + fb (ii3+1,kk-1,jj+1)*xr (i,k,3)!!!           fintx(i,k,4,1) = not used!! Height level 2!!   Latitude 1:  Linear interpolation!              fintx(i,k,1,2) = fb (ii1  ,kk,jj-1)*xl (i,k,1) &                             + fb (ii1+1,kk,jj-1)*xr (i,k,1)!!   Latitude 2:  Cubic interpolation!              fxl = (   - 2.*fb (ii2-1,kk,jj) &                        - 3.*fb (ii2  ,kk,jj) &                        + 6.*fb (ii2+1,kk,jj) &                        -    fb (ii2+2,kk,jj) )*rdx6(jj)              fxr = (        fb (ii2-1,kk,jj) &                        - 6.*fb (ii2  ,kk,jj) &                        + 3.*fb (ii2+1,kk,jj) &                        + 2.*fb (ii2+2,kk,jj) )*rdx6(jj)!              deli = (       fb (ii2+1,kk,jj) - &                             fb (ii2  ,kk,jj) )*rdx(jj)              tmp1 = fac*deli              tmp2 = abs( tmp1 )              if( deli*fxl   .le. 0.0  ) fxl = 0.              if( deli*fxr   .le. 0.0  ) fxr = 0.              if( abs( fxl ) .gt. tmp2 ) fxl = tmp1              if( abs( fxr ) .gt. tmp2 ) fxr = tmp1!              fintx(i,k,2,2) = fb (ii2  ,kk,jj)*hl (i,k,2) &                             + fb (ii2+1,kk,jj)*hr (i,k,2) &                             + fxl*dhl(i,k,2) + fxr*dhr(i,k,2)!!   Latitude 3:  Cubic interpolation!              fxl = (   - 2.*fb (ii3-1,kk  ,jj+1) &                        - 3.*fb (ii3  ,kk  ,jj+1) &                        + 6.*fb (ii3+1,kk  ,jj+1) &                        -    fb (ii3+2,kk  ,jj+1) )*rdx6(jj+1)              fxr = (        fb (ii3-1,kk  ,jj+1) &                        - 6.*fb (ii3  ,kk  ,jj+1) &                        + 3.*fb (ii3+1,kk  ,jj+1) &                        + 2.*fb (ii3+2,kk  ,jj+1) )*rdx6(jj+1)!              deli = (       fb (ii3+1,kk  ,jj+1) - &                             fb (ii3  ,kk  ,jj+1) )*rdx(jj+1)              tmp1 = fac*deli              tmp2 = abs( tmp1 )              if( deli*fxl   .le. 0.0  ) fxl = 0.              if( deli*fxr   .le. 0.0  ) fxr = 0.              if( abs( fxl ) .gt. tmp2 ) fxl = tmp1              if( abs( fxr ) .gt. tmp2 ) fxr = tmp1!              fintx(i,k,3,2) = fb (ii3  ,kk  ,jj+1)*hl (i,k,3) &                             + fb (ii3+1,kk  ,jj+1)*hr (i,k,3) &                             + fxl*dhl(i,k,3) + fxr*dhr(i,k,3)!!   Latitude 4:  Linear interpolation!              fintx(i,k,4,2) = fb (ii4  ,kk,jj+2)*xl (i,k,4) &                             + fb (ii4+1,kk,jj+2)*xr (i,k,4)!! Height level 3!!   Latitude 1:  Linear interpolation!              fintx(i,k,1,3) = fb (ii1  ,kk+1,jj-1)*xl (i,k,1) &                             + fb (ii1+1,kk+1,jj-1)*xr (i,k,1)!!   Latitude 2:  Cubic interpolation!              fxl = (   - 2.*fb (ii2-1,kk+1,jj  ) &                        - 3.*fb (ii2  ,kk+1,jj  ) &                        + 6.*fb (ii2+1,kk+1,jj  ) &                        -    fb (ii2+2,kk+1,jj  ) )*rdx6(jj)              fxr = (        fb (ii2-1,kk+1,jj  ) &                        - 6.*fb (ii2  ,kk+1,jj  ) &                        + 3.*fb (ii2+1,kk+1,jj  ) &                        + 2.*fb (ii2+2,kk+1,jj  ) )*rdx6(jj)!              deli = (       fb (ii2+1,kk+1,jj  ) - &                             fb (ii2  ,kk+1,jj  ) )*rdx(jj)              tmp1 = fac*deli              tmp2 = abs( tmp1 )              if( deli*fxl   .le. 0.0  ) fxl = 0.              if( deli*fxr   .le. 0.0  ) fxr = 0.              if( abs( fxl ) .gt. tmp2 ) fxl = tmp1              if( abs( fxr ) .gt. tmp2 ) fxr = tmp1!              fintx(i,k,2,3) = fb (ii2  ,kk+1,jj  )*hl (i,k,2) &                             + fb (ii2+1,kk+1,jj  )*hr (i,k,2) &                             + fxl*dhl(i,k,2) + fxr*dhr(i,k,2)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲精华液精华液精华液 | 日本中文字幕一区| 色香蕉成人二区免费| 国产精品福利av| 国产suv一区二区三区88区| 久久久精品国产免费观看同学| 久久99国产精品免费网站| 日韩精品中文字幕一区二区三区 | 91猫先生在线| 欧美电影免费观看高清完整版在| 国产自产高清不卡| 欧美激情一区二区三区| 欧美综合久久久| 奇米影视一区二区三区小说| 亚洲国产精品精华液2区45| 99久久久无码国产精品| 免费一级片91| 国产精品免费aⅴ片在线观看| 91国产丝袜在线播放| 精品一区二区三区日韩| 亚洲欧美日韩久久| 欧美成人高清电影在线| av动漫一区二区| 亚洲777理论| 欧美成人bangbros| 欧美另类久久久品| 国产精品一区二区黑丝| 日韩va亚洲va欧美va久久| 777欧美精品| 国产传媒一区在线| 91网站在线播放| 欧美日韩你懂的| 久久综合精品国产一区二区三区| 青娱乐精品视频在线| 欧美mv日韩mv国产网站app| 麻豆精品在线视频| 国产午夜久久久久| 成人午夜电影久久影院| 伊人开心综合网| 欧美中文字幕一区| 亚洲欧洲精品成人久久奇米网| 欧美成人精精品一区二区频| 色综合久久99| 国产在线播精品第三| 亚洲国产综合在线| 亚洲欧美日韩精品久久久久| 日韩欧美国产1| 欧美亚洲国产一区在线观看网站| 国产真实精品久久二三区| 7777女厕盗摄久久久| 99精品久久99久久久久| 蜜桃视频在线观看一区| 亚洲欧美区自拍先锋| 中文字幕乱码亚洲精品一区| 精品福利在线导航| 6080亚洲精品一区二区| 91蝌蚪porny| 成人h动漫精品一区二| 亚洲国产va精品久久久不卡综合| 精品少妇一区二区三区免费观看 | 性久久久久久久| 亚洲大型综合色站| 亚洲精品国产精品乱码不99| 日本不卡一二三| 亚洲国产精品尤物yw在线观看| 日韩一区国产二区欧美三区| 色综合久久中文综合久久97| 色综合色狠狠综合色| 欧美高清激情brazzers| 中文字幕乱码一区二区免费| 欧美人xxxx| 日韩中文字幕不卡| 亚洲精品一区二区三区99| 色婷婷国产精品| 看片网站欧美日韩| 亚洲欧美激情一区二区| 日韩一区二区三| 97精品电影院| 美女视频黄频大全不卡视频在线播放| 久久久一区二区| 国产剧情一区二区| 91在线视频18| 欧美三区在线观看| 欧美精品久久99| 久久久久久久网| 中文字幕一区二区三区不卡| 日韩伦理av电影| 一区二区三区日韩欧美| 午夜精品久久久久久久99樱桃 | 91免费看视频| 欧美影视一区在线| 欧美精品一区二区久久久| 久久久99精品久久| 国产色综合一区| 一区二区欧美视频| 国产激情精品久久久第一区二区 | 亚洲免费三区一区二区| 性久久久久久久久| 国产精品一级在线| 欧美日韩一区视频| 国产欧美一区二区精品秋霞影院| 专区另类欧美日韩| 粉嫩欧美一区二区三区高清影视| 成人精品视频一区二区三区尤物| 6080午夜不卡| 欧美视频一区在线观看| 91福利社在线观看| 欧美激情自拍偷拍| 三级一区在线视频先锋| 精品福利一区二区三区免费视频| 99re66热这里只有精品3直播| 日本大胆欧美人术艺术动态| 国产精品丝袜91| 久久久久亚洲蜜桃| 欧美成人a视频| 色www精品视频在线观看| 粉嫩嫩av羞羞动漫久久久| 麻豆91在线观看| 麻豆精品在线看| 日韩精品91亚洲二区在线观看| 亚洲国产一区二区a毛片| 日韩一区欧美一区| 中文字幕一区二区视频| 久久久精品一品道一区| 日本女人一区二区三区| 99久久精品免费精品国产| 精品乱码亚洲一区二区不卡| 日本vs亚洲vs韩国一区三区 | 亚洲欧美在线aaa| 天堂一区二区在线| 欧美色爱综合网| 精品一区二区国语对白| 亚洲国产毛片aaaaa无费看| 中文字幕乱码亚洲精品一区| 在线不卡a资源高清| 色中色一区二区| 国产精品1区2区| 日本电影亚洲天堂一区| 久久九九99视频| 日本精品视频一区二区| 成人一区在线看| 另类小说一区二区三区| 婷婷一区二区三区| 亚洲精品少妇30p| 久久人人97超碰com| 欧美一区二区成人6969| 高清在线成人网| 国产一区二区不卡| 久久99国产精品成人| 青青国产91久久久久久| 亚洲一区二区黄色| 亚洲精品国产第一综合99久久| 精品国产一区二区三区久久影院| 欧美日本韩国一区| 欧美精品v日韩精品v韩国精品v| 精品视频资源站| 欧美精品日日鲁夜夜添| 欧美日本高清视频在线观看| 欧美日本视频在线| 欧美精品一级二级三级| 欧美日韩亚洲综合在线| 欧洲中文字幕精品| 日本高清不卡在线观看| 亚洲午夜日本在线观看| 日韩三级高清在线| 99久久99久久久精品齐齐| 亚洲成a人在线观看| 欧美电影免费观看完整版| 成人精品亚洲人成在线| 天天综合网 天天综合色| 久久新电视剧免费观看| 91视频xxxx| 欧美视频在线播放| 欧美tickling网站挠脚心| 久久嫩草精品久久久精品| 亚洲色图制服诱惑| 天堂一区二区在线| 国产麻豆成人精品| 一本色道久久加勒比精品| 欧美精品丝袜久久久中文字幕| 久久日一线二线三线suv| 亚洲国产精品黑人久久久| 亚洲激情校园春色| 麻豆极品一区二区三区| 国产激情91久久精品导航| 欧洲国内综合视频| 欧美一区二区在线观看| 中文字幕一区免费在线观看| 性久久久久久久| 国产 欧美在线| 欧美无砖砖区免费| 久久蜜桃一区二区| 亚洲精品视频免费看| 丝袜脚交一区二区| 成人午夜免费电影| 日本韩国一区二区三区| 久久精品亚洲乱码伦伦中文| 一区二区三区资源| 国产精品99久久久| 91捆绑美女网站|