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

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

?? sw_core.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 2 頁
字號:
#include <misc.h>module sw_core!! This module contains vertical independent part of the Lagrangian dynamicscontains!-------------------------------------------------------------------------- subroutine c_sw(u,    v,  pt, delp,                       &                 uc,   vc,   ptc,   delpf,   ptk,                    &                cosp,   acosp,   cose,   coslon,   sinlon,           &                cosl5,  sinl5,   dxdt,   dxe,      dtdx2,            &                dtdx4,  dtxe5,   rdxe,   dycp,     dydt,             &                 dtdy5,  cye,     fc,     ifax,     trigs,            &                dc,     sc,      zt_c,   tiny,     rcap,             &                im,     jm,      jfirst, jlast,    ng_c,             &                ng_d,   ng_s,    js2g0,  jn2g0,    js2gc,            &                jn1gc,   iord,   jord        )!--------------------------------------------------------------------------! Routine for shallow water dynamics on the C-grid! !USES:  use precision  use tp_core  use pft_module  implicit none! INPUT:  integer, intent(in):: im  integer, intent(in):: jm  integer, intent(in):: jfirst  integer, intent(in):: jlast  integer, intent(in):: js2g0  integer, intent(in):: jn2g0  integer, intent(in):: js2gc  integer, intent(in):: jn1gc  integer, intent(in):: iord  integer, intent(in):: jord  integer, intent(in):: ng_c  integer, intent(in):: ng_s  integer, intent(in):: ng_d! polar filter related input arrays:  integer, intent(in)::  ifax(13)                      !ECMWF fft  real(r8), intent(in):: trigs(3*im/2+1)  real(r8), intent(in):: dc(im,js2g0:jn2g0)  real(r8), intent(in):: sc(js2g0:jn2g0)! Prognostic variables:  real(r8), intent(in):: u(im,jfirst-ng_c:jlast+ng_c+1)  real(r8), intent(in):: v(im,jfirst-ng_c-1:jlast+ng_c)  ! Wind in Y  real(r8), intent(in):: pt(im,jfirst-ng_c:jlast+ng_c)   ! Wind in Y  real(r8), intent(in):: delp(im,jfirst:jlast)         ! Delta pressure  real(r8), intent(in):: delpf(im,jfirst-ng_c:jlast+ng_c)  real(r8), intent(in):: fc(js2gc:jn1gc)  real(r8), intent(in):: cosp(jm)  real(r8), intent(in):: acosp(jm)  real(r8), intent(in):: cose(jm)  real(r8), intent(in):: dxdt(jm)  real(r8), intent(in):: dxe(jm)  real(r8), intent(in):: rdxe(jm)  real(r8), intent(in):: dtdx2(jm)  real(r8), intent(in):: dtdx4(jm)  real(r8), intent(in):: dtxe5(jm)  real(r8), intent(in):: dycp(jm)  real(r8), intent(in)::  cye(jm)  real(r8), intent(in):: sinlon(im)  real(r8), intent(in):: coslon(im)  real(r8), intent(in):: sinl5(im)  real(r8), intent(in):: cosl5(im)  real(r8), intent(in):: zt_c  real(r8), intent(in):: rcap  real(r8), intent(in):: tiny  real(r8), intent(in):: dydt  real(r8), intent(in):: dtdy5! Output:  real(r8), intent(out):: uc(im,jfirst-ng_c:jlast+ng_c)  real(r8), intent(out):: vc(im,jfirst-2   :jlast+2 )  real(r8), intent(out):: ptc(im,jfirst:jlast)  real(r8), intent(out):: ptk(im,jfirst:jlast)!--------------------------------------------------------------! Local     real(r8)   fx(im,jfirst:jlast)    real(r8)  xfx(im,jfirst:jlast)    real(r8) trm2(im,jfirst:jlast)    real(r8)  wk1(im,jfirst-1:jlast+1)    real(r8)  cry(im,jfirst-1:jlast+1)    real(r8)   fy(im,jfirst-1:jlast+1)    real(r8) ymass(im,jfirst:  jlast+1)     real(r8)  yfx(im,jfirst:  jlast+1)    real(r8) trm1(im,jfirst-1:jlast+2)    real(r8)   va(im,jfirst-1:jlast)    real(r8)   ub(im,jfirst:  jlast+1)    real(r8)  wk2(im,jfirst-ng_d:jlast+ng_d)    real(r8)   u2(im,jfirst-ng_d:jlast+ng_d)    real(r8)   v2(im,jfirst-ng_d:jlast+ng_d)    real(r8)  crx(im,jfirst-ng_d:jlast+ng_d)    real(r8) fxj(im)    real(r8) p1d(im)    real(r8) cx1(im)    real(r8) qtmp(-im/3:im+im/3)    real(r8) slope(-im/3:im+im/3)    real(r8) al(-im/3:im+im/3)    real(r8) ar(-im/3:im+im/3)    real(r8) a6(-im/3:im+im/3)    real(r8) us, vs, un, vn    real(r8) p1ke, p2ke    logical ffsl(jm)    logical sld    integer i, j, im2    integer js1g1    integer js2g1    integer js2gc1    integer js2gcp1    integer jn2gc    integer jn1g1    im2 = im/2! Set loop limits    js1g1 = max(1,jfirst-1)    js2g1 = max(2,jfirst-1)    js2gcp1 = max(2,jfirst-ng_c-1)   ! NG-1 latitudes on S (starting at 2)    jn1g1 = min(jm,jlast+1)    jn2gc = min(jm-1,jlast+ng_c)   ! NG latitudes on N (ending at jm-1) !! Treat the special case of ng_c = 1!    if ( ng_c == 1 .AND. ng_d > 1 ) THEN        js2gc1 = js2gc    else        js2gc1 = max(2,jfirst-ng_c+1)   ! NG-1 latitudes on S (starting at 2)    endif    do j=js2gcp1,jn2gc                ! u2 local partition only, not jlast       do i=1,im-1          v2(i,j) = v(i,j) + v(i+1,j)       enddo       v2(im,j) = v(im,j) + v(1,j)    enddo    do j=js2gc,jn2gc       do i=1,im          u2(i,j) = u(i,j) + u(i,j+1)       enddo    enddo        if ( jfirst == 1 ) then! Projection at SP          us = 0.          vs = 0.          do i=1,im2            us = us + (u2(i+im2,2)-u2(i,2))*sinlon(i)         &                    + (v2(i,2)-v2(i+im2,2))*coslon(i)            vs = vs + (u2(i+im2,2)-u2(i,2))*coslon(i)         &                    + (v2(i+im2,2)-v2(i,2))*sinlon(i)          enddo          us = us/im          vs = vs/im! SP          do i=1,im2            u2(i,1)  = -us*sinlon(i) - vs*coslon(i)            v2(i,1)  =  us*coslon(i) - vs*sinlon(i)            u2(i+im2,1)  = -u2(i,1)            v2(i+im2,1)  = -v2(i,1)          enddo          p1ke = 0.125*(u2(1, 1)**2 + v2(1, 1)**2)        endif        if ( jlast == jm ) then! Projection at NP          un = 0.          vn = 0.          j = jm-1          do i=1,im2            un = un + (u2(i+im2,j)-u2(i,j))*sinlon(i)        &                    + (v2(i+im2,j)-v2(i,j))*coslon(i)            vn = vn + (u2(i,j)-u2(i+im2,j))*coslon(i)        &                    + (v2(i+im2,j)-v2(i,j))*sinlon(i)          enddo          un = un/im          vn = vn/im! NP          do i=1,im2            u2(i,jm) = -un*sinlon(i) + vn*coslon(i)            v2(i,jm) = -un*coslon(i) - vn*sinlon(i)            u2(i+im2,jm) = -u2(i,jm)            v2(i+im2,jm) = -v2(i,jm)          enddo          p2ke = 0.125*(u2(1,jm)**2 + v2(1,jm)**2)        endif! A -> C        do j=js2gc,jn2gc                ! uc needed N*ng S*ng! i=1            uc(1,j) = 0.25*(u2(1,j)+u2(im,j))          do i=2,im            uc(i,j) = 0.25*(u2(i,j)+u2(i-1,j))          enddo        enddo        do j=js2gc,jn1gc                ! vc needed N*ng, S*ng (for ycc)          do i=1,im            vc(i,j) = 0.25*(v2(i,j)+v2(i,j-1))  ! v2 needed N*ng S*(ng+1)          enddo        enddo        do j=js2g1,jn1g1                   ! cry needed on NS          do i=1,im            cry(i,j) = dtdy5*vc(i,j)          enddo        enddo        do j=js2g0,jn1g1                     ! ymass needed on NS          do i=1,im            ymass(i,j) = cry(i,j)*cose(j)          enddo        enddo! New va definition        do j=js2g1,jn2g0                     ! va needed on S (for YCC, iv==1)          do i=1,im            va(i,j) = 0.5*(cry(i,j)+cry(i,j+1))          enddo        enddo! SJL: Check if FFSL integer fluxes need to be computed        do 2222 j=js2gc,jn2gc                ! ffsl needed on N*sg S*sg          do i=1,im            crx(i,j) = uc(i,j)*dtdx2(j)          enddo          ffsl(j) = .false.          if( cosp(j) < zt_c ) then            do i=1,im              if( abs(crx(i,j)) > 1. ) then                ffsl(j) = .true.                 go to 2222              endif            enddo          endif2222    continue! 2D transport of polar filtered delp (for computing fluxes!)! Update is done on the unfiltered delp   call tp2c( trm2,  va(1,jfirst),  delpf(1,jfirst-ng_c),    &              crx(1,jfirst-ng_c), cry(1,jfirst),             &              im, jm, iord, jord, ng_c, xfx,                 &              yfx, ffsl, rcap, acosp,                        &              crx(1,jfirst), ymass, cosp,                    &              0, jfirst, jlast)   do j=js2g0,jn2g0                      ! xfx not ghosted      if( ffsl(j) ) then         do i=1,im           xfx(i,j) = xfx(i,j)/sign(max(abs(crx(i,j)),tiny),crx(i,j))         enddo      endif   enddo! pt-advection using pre-computed mass fluxes! use ub below as the storage for pt (wk2) increment! WS 99.09.20 : pt, crx need on N*ng S*ng, yfx on N    call tp2c(ub ,va(1,jfirst), pt(1,jfirst-ng_c),        &              crx(1,jfirst-ng_c), cry(1,jfirst),          &              im, jm,  iord, jord, ng_c, fx,              &              fy(1,jfirst), ffsl, rcap, acosp,            &              xfx, yfx, cosp, 1, jfirst, jlast)#if defined ( ALT_PFT )! Alternative way of polar filter; nothing to be done here#else     call pft2d(trm2(1,js2g0), sc(js2g0), dc(1,js2g0), im,  &                jn2g0-js2g0+1,  ifax, trigs )     call pft2d( ub(1,js2g0), sc(js2g0), dc(1,js2g0),  im,  &                 jn2g0-js2g0+1,  ifax, trigs )#endif    do j=jfirst,jlast       do i=1,im          ptk(i,j) = delp(i,j) + trm2(i,j)          ptc(i,j) = (pt(i,j)*delp(i,j) + ub(i,j))/ptk(i,j)       enddo    enddo!------------------! Momentum equation!------------------     call ycc(im, jm, fy, vc(1,jfirst-2), va(1,jfirst-1),   &              va(1,jfirst-1), jord, 1, jfirst, jlast)     do j=js2g1,jn2g0          do i=1,im            cx1(i) = dtdx4(j)*u2(i,j)          enddo          sld = .false.          if( cosp(j) < zt_c ) then            do i=1,im              if( abs(cx1(i)) > 1. ) then                sld = .true.                 go to 3333              endif            enddo          endif3333      continue          p1d(im) = uc(1,j)          do i=1,im-1            p1d(i) = uc(i+1,j)          enddo          call xtp(im,   sld, fxj, p1d, cx1, iord,   &                   cx1,  cosp(j),  0,   slope,       &                   qtmp, al,       ar,  a6)           do i=1,im            wk1(i,j) = dxdt(j)*fxj(i) + dydt*fy(i,j)          enddo     enddo     if ( jfirst == 1 ) then          do i=1,im            wk1(i,1) = p1ke          enddo     endif     if ( jlast == jm ) then          do i=1,im            wk1(i,jm) = p2ke          enddo     endif! crx redefined as trm1     do j=js2gc1,jn1gc! i=1            trm1(1,j) = dtxe5(j)*u(im,j)          do i=2,im            trm1(i,j) = dtxe5(j)*u(i-1,j)          enddo     enddo     do j=js1g1,jlast                       ! cry needed on S          do i=1,im            cry(i,j) = dtdy5*v(i,j)          enddo     enddo     do j=jfirst,jlast          do i=1,im            ymass(i,j) = cry(i,j)*cosp(j)       ! ymass actually unghosted          enddo     enddo     do j=js2g0,jlast          do i=1,im            trm2(i,j) = 0.5*(cry(i,j)+cry(i,j-1)) ! cry ghosted on S           enddo     enddo!    Compute absolute vorticity on the C-grid.     if ( jfirst == 1 ) then          do i=1,im            wk2(i,1) = 0.          enddo     endif     do j=js2gc,jn2gc          do i=1,im            wk2(i,j) = uc(i,j)*cosp(j)          enddo     enddo     if ( jlast == jm ) then          do i=1,im            wk2(i,jm) = 0.          enddo     endif     do j=js2gc1,jn1gc! The computed absolute vorticity on C-Grid is assigned to v2          v2(1,j) = fc(j) + (wk2(1,j-1)-wk2(1,j))*cye(j) +     &                    (vc(1,j) - vc(im,j))*rdxe(j)          do i=2,im             v2(i,j) = fc(j) + (wk2(i,j-1)-wk2(i,j))*cye(j) +  &                       (vc(i,j) - vc(i-1,j))*rdxe(j)          enddo     enddo

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿亚洲综合| 国产精品免费网站在线观看| 久久精品一区二区三区av| 中文字幕精品—区二区四季| 亚洲精品国久久99热| 石原莉奈一区二区三区在线观看| 精品一区二区三区在线观看国产| 成人精品免费网站| 欧美亚洲动漫制服丝袜| 亚洲精品在线电影| 亚洲激情欧美激情| 精品一区二区三区免费观看| 99re视频这里只有精品| 欧美日韩精品一区二区| 久久久久久久久免费| 亚洲综合视频网| 国产精品原创巨作av| 欧美午夜视频网站| 国产色产综合产在线视频| 午夜不卡av在线| 成人性生交大片免费看中文 | 久久久亚洲欧洲日产国码αv| 亚洲三级小视频| 日本免费新一区视频| 97久久超碰精品国产| 日韩欧美在线观看一区二区三区| 亚洲欧美色综合| 极品销魂美女一区二区三区| 91老司机福利 在线| www激情久久| 亚洲成人精品影院| 成人动漫视频在线| 日韩美女一区二区三区| 亚洲黄色av一区| 高清成人免费视频| 日韩精品一区二区三区三区免费| 一区二区三区精品在线| 国产91综合网| 欧美mv日韩mv| 日本人妖一区二区| 一本久久a久久精品亚洲| 国产日韩欧美精品综合| 老司机午夜精品| 91精品婷婷国产综合久久竹菊| 亚洲日韩欧美一区二区在线| 国产福利视频一区二区三区| 精品剧情在线观看| 日韩电影在线一区二区| 欧美三级中文字幕| 洋洋av久久久久久久一区| 成人做爰69片免费看网站| 日韩欧美不卡一区| 日韩不卡免费视频| 欧美日韩国产成人在线91| 亚洲综合一区二区三区| 99re这里只有精品首页| 国产精品久久久久久久岛一牛影视 | 国产成人欧美日韩在线电影| 日韩欧美电影在线| 日本成人在线电影网| 91精品国产乱码久久蜜臀| 亚洲一区二区三区四区在线免费观看| 99精品热视频| 亚洲欧美激情视频在线观看一区二区三区 | 3d动漫精品啪啪一区二区竹菊| 成人欧美一区二区三区黑人麻豆 | 自拍偷拍欧美激情| 99精品在线观看视频| 亚洲欧洲日韩在线| 91在线视频播放地址| 国产精品美女久久久久久2018| 福利一区二区在线观看| 中文字幕av一区 二区| 成人高清视频免费观看| 国产精品久久久久久福利一牛影视 | 欧美一区二区三区四区五区| 丝袜亚洲另类欧美综合| 91麻豆精品久久久久蜜臀| 奇米在线7777在线精品| 欧美成人精品1314www| 国产一区二区三区观看| 国产亚洲欧美在线| av中文字幕在线不卡| 中文字幕佐山爱一区二区免费| 91麻豆国产自产在线观看| 亚洲综合一区二区三区| 3d动漫精品啪啪| 激情图区综合网| 国产日韩欧美精品在线| www.性欧美| 亚洲综合区在线| 日韩亚洲欧美在线观看| 国产乱码字幕精品高清av| 国产精品青草综合久久久久99| 色综合天天天天做夜夜夜夜做| 亚洲精品菠萝久久久久久久| 欧美精品久久天天躁| 久久av中文字幕片| 中日韩av电影| 欧美一a一片一级一片| 日韩成人精品视频| 国产喂奶挤奶一区二区三区| 色综合天天综合在线视频| 午夜精品aaa| 久久丝袜美腿综合| 97se亚洲国产综合自在线| 亚洲va欧美va国产va天堂影院| 欧美成人bangbros| 97久久久精品综合88久久| 首页亚洲欧美制服丝腿| 久久亚洲欧美国产精品乐播| 99久久久久久| 免费日韩伦理电影| 国产精品成人免费| 在线综合视频播放| 丁香婷婷综合色啪| 午夜欧美大尺度福利影院在线看| 久久先锋影音av鲁色资源网| 色综合中文字幕国产 | 日韩一区二区免费电影| 国产成人在线视频网站| 亚洲18色成人| 中文成人综合网| 欧美一区二区精美| 97久久超碰精品国产| 精品一区二区免费在线观看| 亚洲码国产岛国毛片在线| 欧美成人bangbros| 欧美性极品少妇| 国产成人av福利| 日韩电影在线观看一区| 国产精品大尺度| 欧美精品一区二区精品网| 欧美天天综合网| a级高清视频欧美日韩| 精品一区二区在线免费观看| 一区二区三区小说| 国产色一区二区| 日韩一级黄色大片| 在线观看亚洲精品视频| 国产精品一区免费在线观看| 午夜精品久久久久久久99水蜜桃| 国产精品久久久久久久久动漫| 日韩精品一区二区在线| 欧美日韩在线亚洲一区蜜芽| 菠萝蜜视频在线观看一区| 久久99热国产| 亚洲成av人片在线观看| 亚洲欧美国产三级| 国产精品久久影院| 欧美精品一区二区三区很污很色的| 欧美日韩精品系列| 91久久精品网| 99精品视频免费在线观看| 国产成人自拍网| 精品在线一区二区三区| 免费欧美日韩国产三级电影| 亚洲影视在线观看| 亚洲免费毛片网站| 国产精品你懂的在线欣赏| 久久久99精品久久| 久久综合久久综合久久综合| 日韩一区二区三区高清免费看看 | 久久国产日韩欧美精品| 婷婷开心激情综合| 亚洲综合免费观看高清完整版在线 | 狠狠色丁香婷综合久久| 午夜影视日本亚洲欧洲精品| 亚洲精品国产一区二区三区四区在线| 国产精品免费aⅴ片在线观看| 久久久www成人免费毛片麻豆 | 国产精品自拍三区| 久久99在线观看| 极品美女销魂一区二区三区免费| 免费人成在线不卡| 麻豆精品在线看| 精品一区二区三区影院在线午夜| 美女mm1313爽爽久久久蜜臀| 美国三级日本三级久久99| 秋霞av亚洲一区二区三| 日韩av网站免费在线| 美女国产一区二区| 国产综合色视频| 国产成人自拍网| av亚洲产国偷v产偷v自拍| 91免费国产视频网站| 91色综合久久久久婷婷| 91久久精品一区二区| 欧美三级电影网站| 91精品国产全国免费观看| 欧美一级日韩免费不卡| 精品美女一区二区| 久久综合久久鬼色| 中文字幕av一区二区三区免费看 | 在线观看三级视频欧美| 欧美日韩精品三区| 欧美一区二区三区四区高清| 精品久久人人做人人爽| 欧美激情一区二区三区蜜桃视频| 136国产福利精品导航|