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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gw_drag.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
#include <misc.h>#include <params.h>module gw_drag!---------------------------------------------------------------------------------! Purpose:!! Module to compute the forcing due to parameterized gravity waves. Both an ! orographic and an internal source spectrum are considered.!! Author: Byron Boville!!---------------------------------------------------------------------------------  use precision  use ppgrid,         only: pcols, pver  use physics_types,  only: physics_state, physics_ptend  use pmgrid, only:         masterproc  use history, only:        outfld  implicit none  save  private                         ! Make default type private to the module!! PUBLIC: interfaces!  public gw_inti                  ! Initialization  public gw_intr                  ! interface to actual parameterization!! PRIVATE: Rest of the data and interfaces are private to this module!  integer, parameter :: pgwv = 0  ! number of waves allowed  integer :: kbotbg, kbotoro      ! interface of gwd source  integer :: ktopbg, ktoporo      ! top interface of gwd region  real(r8) :: alpha(0:pver)       ! newtonian cooling coefficients  real(r8) :: c(-pgwv:pgwv)       ! list of wave phase speeds  real(r8) :: cpair               ! specific heat of dry air (constant p)  real(r8) :: dback               ! background diffusivity  real(r8) :: effkwv              ! effective wavenumber (fcrit2*kwv)  real(r8) :: effgw               ! tendency efficiency  real(r8) :: fracldv             ! fraction of stress deposited in low level region  real(r8) :: g                   ! acceleration of gravity  real(r8) :: kwv                 ! effective horizontal wave number  real(r8) :: mxasym              ! max asymmetry between tau(c) and tau(-c)  real(r8) :: mxrange             ! max range of tau for all c  real(r8) :: n2min               ! min value of bouyancy frequency  real(r8) :: fcrit2              ! critical froude number  real(r8) :: oroko2              ! 1/2 * horizontal wavenumber  real(r8) :: orohmin             ! min surface displacment height for orographic waves  real(r8) :: orovmin             ! min wind speed for orographic waves  real(r8) :: r                   ! gas constant for dry air  real(r8) :: rog                 ! r / g  real(r8) :: taubgnd             ! background source strength (/tauscal)  real(r8) :: taumin              ! minimum (nonzero) stress  real(r8) :: tauscal             ! scale factor for background stress source  real(r8) :: tndmax              ! maximum wind tendency  real(r8) :: umcfac              ! factor to limit tendency to prevent reversing u-c  real(r8) :: ubmc2mn             ! min (u-c)**2  real(r8) :: zldvcon             ! constant for determining zldv from tau0contains!===============================================================================  subroutine gw_inti (cpairx, cpwv, gx, rx, hypi)!-----------------------------------------------------------------------! Time independent initialization for multiple gravity wave parameterization.!-----------------------------------------------------------------------    use history,    only: addfld, add_default, phys_decomp!------------------------------Arguments--------------------------------    real(r8), intent(in) :: cpairx                ! specific heat of dry air (constant p)    real(r8), intent(in) :: cpwv                  ! specific heat of water vapor (constant p)    real(r8), intent(in) :: gx                    ! acceleration of gravity    real(r8), intent(in) :: rx                    ! gas constant for dry air    real(r8), intent(in) :: hypi(pver+1)          ! reference interface pressures!---------------------------Local storage-------------------------------    integer :: k!-----------------------------------------------------------------------! Copy model constants    cpair  = cpairx    g      = gx    r      = rx! Set MGWD constants    effgw  = 0.125            ! efficiency of the tendencies    kwv    = 6.28e-5          ! 100 km wave length    dback  = 0.05             ! background diffusivity    fcrit2 = 0.5              ! critical froude number squared    tauscal= 0.001            ! scale factor for background stress    taubgnd= 6.4              ! background stress amplitude    fracldv= 0.0              ! fraction of tau0 diverged in low level region    zldvcon= 10.              ! constant for determining zldv! Set phase speeds     do k = -pgwv, pgwv       c(k)   = 10. * k       ! 0, +/- 10, +/- 20, ... m/s    end do    if (masterproc) then       write(6,*) ' '       write(6,*) 'GW_INTI: pgwv = ', pgwv       write(6,*) 'GW_INTI: c(l) = ', c       write(6,*) ' '    end if! Set radiative damping times    do k = 0, pver       alpha(k) = 1.e-6       ! about 10 days.    end do! Min and max values to keep things reasonable    mxasym = 0.1              ! max factor of 10 from |tau(c)| to |tau(-c)|    mxrange= 0.001            ! factor of 100 from max to min |tau(c)|    n2min  = 1.e-8            ! min value of Brunt-Vaisalla freq squared    orohmin= 10.              ! min surface displacement for orographic wave drag    orovmin=  2.              ! min wind speed for orographic wave drag    taumin = 1.e-10           ! min stress considered > 0    tndmax = 500. / 86400.    ! max permitted tendency (500 m/s/day)    umcfac = 0.5              ! max permitted reduction in u-c    ubmc2mn= 0.01             ! min value of (u-c)^2! Determine other derived constants    oroko2 = 0.5 * kwv    effkwv = fcrit2 * kwv    rog    = r/g! Determine the bounds of the background and orographic stress regions    ktopbg  = 0    kbotoro = pver    do k = 0, pver       if (hypi(k+1) .lt. 10000.) kbotbg  = k    ! spectrum source at 100 mb!!$       if (hypi(k+1) .lt.  3000.) ktoporo = k    end do    ktoporo = 0    if (masterproc) then       write (6,*) 'KTOPBG  =',ktopbg       write (6,*) 'KBOTBG  =',kbotbg       write (6,*) 'KTOPORO =',ktoporo       write (6,*) 'KBOTORO =',kbotoro    end if! Declare history variables for orgraphic term    call addfld ('TTGWORO ','K/s     ',pver, 'A','T tendency - orographic gravity wave drag',phys_decomp)    call addfld ('UTGWORO ','m/s2    ',pver, 'A','U tendency - orographic gravity wave drag',phys_decomp)    call addfld ('VTGWORO ','m/s2    ',pver, 'A','V tendency - orographic gravity wave drag',phys_decomp)    call addfld ('TAUGWX  ','N/m2    ',1,    'A','Zonal gravity wave surface stress',        phys_decomp)    call addfld ('TAUGWY  ','N/m2    ',1,    'A','Meridional gravity wave surface stress',   phys_decomp)    call add_default ('UTGWORO ', 1, ' ')    call add_default ('VTGWORO ', 1, ' ')    call add_default ('TAUGWX  ', 1, ' ')    call add_default ('TAUGWY  ', 1, ' ')! Declare history variables for spectrum    if (pgwv > 0) then       call addfld ('TTGWSPEC','K/s     ',pver, 'A','T tendency - gravity wave spectrum',       phys_decomp)       call addfld ('UTGWSPEC','m/s2    ',pver, 'A','U tendency - gravity wave spectrum',       phys_decomp)       call addfld ('VTGWSPEC','m/s2    ',pver, 'A','V tendency - gravity wave spectrum',       phys_decomp)       call add_default ('UTGWSPEC', 1, ' ')       call add_default ('VTGWSPEC', 1, ' ')    end if    return  end  subroutine gw_inti!===============================================================================  subroutine gw_intr (state,  sgh,  pblh,   dt, ptend)!-----------------------------------------------------------------------! Interface for multiple gravity wave drag parameterization.!-----------------------------------------------------------------------!------------------------------Arguments--------------------------------    real(r8), intent(in) :: sgh(pcols)            ! standard deviation of orography    real(r8), intent(in) :: pblh(pcols)           ! planetary boundary layer height    real(r8), intent(in) :: dt                    ! time step    type(physics_state), intent(in) :: state      ! physics state structure    type(physics_ptend), intent(inout):: ptend    ! parameterization tendency structure!---------------------------Local storage-------------------------------    integer :: lchnk                              ! chunk identifier    integer :: ncol                               ! number of atmospheric columns    integer :: i,k                                ! loop indexes    integer :: kldv(pcols)                        ! top interface of low level stress divergence region    integer :: kldvmn                             ! min value of kldv    integer :: ksrc(pcols)                        ! index of top interface of source region    integer :: ksrcmn                             ! min value of ksrc    real(r8) :: ttgw(pcols,pver)                  ! temperature tendency    real(r8) :: utgw(pcols,pver)                  ! zonal wind tendency    real(r8) :: vtgw(pcols,pver)                  ! meridional wind tendency    real(r8) :: ni(pcols,0:pver)                  ! interface Brunt-Vaisalla frequency    real(r8) :: nm(pcols,pver)                    ! midpoint Brunt-Vaisalla frequency    real(r8) :: rdpldv(pcols)                     ! 1/dp across low level divergence region    real(r8) :: rhoi(pcols,0:pver)                ! interface density    real(r8) :: tau(pcols,-pgwv:pgwv,0:pver)      ! wave Reynolds stress    real(r8) :: tau0x(pcols)                      ! c=0 sfc. stress (zonal)    real(r8) :: tau0y(pcols)                      ! c=0 sfc. stress (meridional)    real(r8) :: ti(pcols,0:pver)                  ! interface temperature    real(r8) :: ubi(pcols,0:pver)                 ! projection of wind at interfaces    real(r8) :: ubm(pcols,pver)                   ! projection of wind at midpoints    real(r8) :: xv(pcols)                         ! unit vectors of source wind (x)    real(r8) :: yv(pcols)                         ! unit vectors of source wind (y)!-----------------------------------------------------------------------------    lchnk = state%lchnk    ncol  = state%ncol! Profiles of background state variables    call gw_prof(lchnk, ncol, &         state%u   , state%v   , state%t   , state%pmid   , state%pint, &         rhoi      , ni        , ti        , nm)!-----------------------------------------------------------------------------! Non-orographic backgound gravity wave spectrum!-----------------------------------------------------------------------------    if (pgwv >0) then! Determine the wave source for a background spectrum at ~100 mb       call gw_bgnd (lchnk          , ncol       ,                           &            state%u    , state%v    , state%t    , state%pmid , state%pint , &            state%pdel , state%rpdel, state%lnpint,kldv       , kldvmn     , &            ksrc       , ksrcmn     , rdpldv     , tau        , ubi        , &            ubm        , xv         , yv         , PGWV       , kbotbg     )! Solve for the drag profile       call gw_drag_prof (lchnk     , ncol       ,                           &            PGWV       , kbotbg     , ktopbg     , state%u    , state%v    , &            state%t    , state%pint , state%pdel , state%rpdel, state%lnpint,&            rhoi       , ni         , ti         , nm         , dt         , &            kldv       , kldvmn     , ksrc       , ksrcmn     , rdpldv     , &            tau        , ubi        , ubm        , xv         , yv         , &            utgw       , vtgw       , tau0x      , tau0y                   )! Add the momentum tendencies to the output tendency arrays       do k = 1, pver          do i = 1, ncol             ptend%u(i,k) = utgw(i,k)             ptend%v(i,k) = vtgw(i,k)          end do       end do! Write output fields to history file       call outfld ('UTGWSPEC', utgw, pcols, lchnk)       call outfld ('VTGWSPEC', vtgw, pcols, lchnk)! zero net tendencies if no spectrum computed    else       ptend%u = 0.       ptend%v = 0.    end if!-----------------------------------------------------------------------------! Orographic stationary gravity wave!-----------------------------------------------------------------------------! Determine the orographic wave source    call gw_oro (lchnk, ncol,                                             &         state%u    , state%v    , state%t    , sgh        , state%pmid , &         state%pint , state%pdel , state%zm   , nm         , pblh       , &         kldv       , kldvmn     , ksrc       , ksrcmn     , rdpldv     , &         tau        , ubi        , ubm        , xv         , yv         )! Solve for the drag profile    call gw_drag_prof (lchnk, ncol,                                  &         0          , kbotoro    , ktoporo    , state%u    , state%v    , &         state%t    , state%pint , state%pdel , state%rpdel, state%lnpint,&         rhoi       , ni         , ti         , nm         , dt         , &         kldv       , kldvmn     , ksrc       , ksrcmn     , rdpldv     , &         tau        , ubi        , ubm        , xv         , yv         , &         utgw       , vtgw       , tau0x      , tau0y                   )! Add the orographic tendencies to the spectrum tendencies! Compute the temperature tendency from energy conservation (includes spectrum).    do k = 1, pver       do i = 1, ncol          ptend%u(i,k) = ptend%u(i,k) + utgw(i,k)          ptend%v(i,k) = ptend%v(i,k) + vtgw(i,k)          ptend%s(i,k) = -(ptend%u(i,k) * (state%u(i,k) + ptend%u(i,k)*0.5*dt) &                          +ptend%v(i,k) * (state%v(i,k) + ptend%v(i,k)*0.5*dt))          ttgw(i,k) = ptend%s(i,k) / cpair       end do    end do! Set flags for nonzero tendencies, q not yet affected by gwd    ptend%name  = "vertical diffusion"    ptend%lq(:) = .FALSE.    ptend%ls    = .TRUE.    ptend%lu    = .TRUE.    ptend%lv    = .TRUE.! Write output fields to history file    call outfld ('UTGWORO', utgw,  pcols, lchnk)    call outfld ('VTGWORO', vtgw,  pcols, lchnk)    call outfld ('TTGWORO', ttgw,  pcols, lchnk)    call outfld ('TAUGWX',  tau0x, pcols, lchnk)    call outfld ('TAUGWY',  tau0y, pcols, lchnk)    call outfld ('SGH    ', sgh,   pcols, lchnk)    return  end  subroutine gw_intr!===============================================================================  subroutine gw_prof (lchnk, ncol, u, v, t, pm, pi, rhoi, ni, ti, nm)!-----------------------------------------------------------------------! Compute profiles of background state quantities for the multiple! gravity wave drag parameterization.! ! The parameterization is assumed to operate only where water vapor ! concentrations are negligible in determining the density.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级在线播放| 国产天堂亚洲国产碰碰| 国产91丝袜在线播放| 亚洲不卡一区二区三区| 国产精品欧美一区二区三区| 日韩一卡二卡三卡国产欧美| 日本韩国精品一区二区在线观看| 狠狠久久亚洲欧美| 午夜视频一区在线观看| 一区二区在线观看av| 国产欧美日韩卡一| 2021国产精品久久精品 | 欧美色网站导航| 国产成人午夜片在线观看高清观看| 亚洲国产精品久久艾草纯爱| 国产精品不卡在线观看| 久久综合久久鬼色| 日韩欧美国产不卡| 欧美精品三级在线观看| 日本道免费精品一区二区三区| 国产成人av电影在线播放| 久久99精品久久久久婷婷| 三级不卡在线观看| 偷窥国产亚洲免费视频| 亚洲午夜在线视频| 亚洲国产视频直播| 亚洲永久精品大片| 亚洲精品欧美激情| 亚洲美女偷拍久久| 亚洲视频小说图片| 综合色天天鬼久久鬼色| 日韩一区欧美一区| 国产精品萝li| 亚洲色图制服诱惑 | 亚洲精品国久久99热| 欧美国产日韩一二三区| 国产网站一区二区| 国产亚洲人成网站| 日本一区二区三区高清不卡| 国产亚洲欧洲997久久综合 | 欧美日韩国产综合一区二区三区| 日本高清不卡一区| 欧美亚州韩日在线看免费版国语版| 色天使久久综合网天天| 欧美中文字幕一区| 777a∨成人精品桃花网| 欧美一级国产精品| 26uuu精品一区二区| 国产女主播一区| 中文字幕日韩一区二区| 亚洲欧美一区二区三区极速播放| 一区二区三区 在线观看视频| 亚洲在线视频免费观看| 视频一区中文字幕| 精品中文av资源站在线观看| 国产河南妇女毛片精品久久久| 国产激情视频一区二区三区欧美| bt7086福利一区国产| 色猫猫国产区一区二在线视频| 欧美日韩亚洲综合在线| 欧美一级免费观看| 中文字幕国产精品一区二区| 亚洲美女屁股眼交| 日韩精品久久理论片| 国产九九视频一区二区三区| 91在线精品一区二区三区| 在线观看91精品国产入口| 日韩视频国产视频| 中文字幕日本不卡| 亚洲va中文字幕| 国产一区二区三区免费| 91视频91自| 日韩一二三四区| 国产精品久久久久影院色老大| 亚洲一区在线观看视频| 韩国毛片一区二区三区| 91亚洲大成网污www| 91麻豆精品国产91久久久久| 久久久不卡影院| 洋洋av久久久久久久一区| 激情国产一区二区| 在线看一区二区| 久久久久久黄色| 亚洲国产日韩av| 丁香啪啪综合成人亚洲小说| 欧美日韩一区在线观看| 欧美国产日本韩| 日韩av在线免费观看不卡| 99免费精品视频| 日韩欧美国产麻豆| 亚洲色图制服诱惑| 国产另类ts人妖一区二区| 欧美精品免费视频| 国产精品久久久久久久岛一牛影视 | 欧美一区欧美二区| 日韩美女视频一区| 国产一区在线观看视频| 欧美日韩一区二区在线观看 | 欧美一区二区黄| 亚洲人成在线播放网站岛国| 久久99最新地址| 欧美日韩你懂的| 亚洲老妇xxxxxx| 国产一级精品在线| 日韩一级黄色片| 亚洲福利视频一区| 91亚洲精华国产精华精华液| 久久久欧美精品sm网站| 美腿丝袜亚洲一区| 欧美丰满美乳xxx高潮www| 日韩伦理免费电影| 不卡的av电影| 国产女主播在线一区二区| 精品一区二区在线观看| 91精品视频网| 亚洲一区二区三区四区在线| 91麻豆国产香蕉久久精品| 国产精品天干天干在线综合| 韩国av一区二区三区四区| 欧美xfplay| 狠狠色综合播放一区二区| 日韩精品一区二区三区视频播放| 亚洲18女电影在线观看| 在线亚洲+欧美+日本专区| 亚洲乱码一区二区三区在线观看| av在线播放一区二区三区| 国产精品区一区二区三区| 成人手机在线视频| 国产精品久久久久久久久动漫 | 国产一区二区在线观看免费| 日韩午夜av电影| 开心九九激情九九欧美日韩精美视频电影| 91国偷自产一区二区开放时间| 亚洲精品乱码久久久久久久久 | 欧美日韩国产a| 亚洲午夜激情网页| 欧美日韩精品一区二区| 午夜精品福利视频网站| 91精品国产丝袜白色高跟鞋| 蜜桃av噜噜一区| 久久一区二区三区四区| 国产高清无密码一区二区三区| 久久久精品日韩欧美| 成人午夜又粗又硬又大| 中文字幕一区二区三区在线播放 | 国产精品一卡二| 国产蜜臀av在线一区二区三区| 成人中文字幕电影| 亚洲欧洲另类国产综合| 欧美性受xxxx黑人xyx性爽| 丝袜诱惑亚洲看片| 日韩你懂的在线播放| 国产精品白丝av| 国产精品你懂的| 欧美性猛片xxxx免费看久爱| 免费在线观看成人| 久久久久久久久久久电影| 成人一区二区在线观看| 亚洲男人的天堂一区二区| 欧美日韩国产精品自在自线| 麻豆精品蜜桃视频网站| 日本一二三不卡| 欧美色视频在线观看| 美日韩一级片在线观看| 中文字幕不卡在线| 欧美日韩精品一二三区| 国产一区免费电影| 樱桃视频在线观看一区| 日韩免费观看2025年上映的电影| 国产aⅴ综合色| 亚洲在线免费播放| 久久亚洲免费视频| 欧美影院一区二区三区| 国产一区二区91| 亚洲一卡二卡三卡四卡无卡久久| 日韩女优毛片在线| 91同城在线观看| 精品综合久久久久久8888| 亚洲欧美日韩系列| 精品福利在线导航| 91久久奴性调教| 国产一区二区三区观看| 夜夜嗨av一区二区三区网页 | 精品在线播放午夜| 伊人开心综合网| 国产亚洲欧美色| 91精品国产综合久久国产大片| 成人高清免费观看| 久久精品国产一区二区三| 亚洲综合图片区| 欧美国产日韩精品免费观看| 91麻豆精品国产91久久久| 97精品超碰一区二区三区| 激情综合色播激情啊| 亚洲第一精品在线| 综合色中文字幕| 欧美激情在线免费观看| 欧美日韩高清在线| 91成人免费在线视频| 国产91色综合久久免费分享|