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

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

?? inidat.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 2 頁
字號:
       do k=1,plev          hyad(k) = hyai(k+1) - hyai(k)       end do       do k=1,plev          do i=1,plon             pdela(i,k) = hyad(k)*ps0          end do       end do!        ! Initialize mass and moisture integrals for summation! in a third calculation loop (assures bit-for-bit compare! with non-random history tape).!       tmassf_tmp = 0.       qmass1_tmp = 0.       qmass2_tmp = 0.       zgsint_tmp = 0.!! Compute integrals of mass, moisture, and geopotential height!       do irow = 1,plat/2          do ihem=1,2             if (ihem.eq.1) then                lat = irow             else                lat = plat - irow + 1             end if!              ! Accumulate average mass of atmosphere!             call pdelb0 (ps_tmp(1,lat),pdelb   ,nlon(lat))             pssum  = 0.             zgssum = 0.             do i=1,nlon(lat)                pssum  = pssum  + ps_tmp  (i,lat)                zgssum = zgssum + phis_tmp(i,lat)             end do             tmassf_tmp = tmassf_tmp + w(irow)*pssum/nlon(lat)             zgsint_tmp = zgsint_tmp + w(irow)*zgssum/nlon(lat)!! Calculate global integrals needed for water vapor adjustment!             do k=1,plev                dotproda = 0.                dotprodb = 0.                do i=1,nlon(lat)                   dotproda = dotproda + q3_tmp(i,k,1,lat)*pdela(i,k)                   dotprodb = dotprodb + q3_tmp(i,k,1,lat)*pdelb(i,k)                end do                qmass1_tmp = qmass1_tmp + w(irow)*dotproda/nlon(lat)                qmass2_tmp = qmass2_tmp + w(irow)*dotprodb/nlon(lat)             end do          end do       end do                  ! end of latitude loop!! Normalize average mass, height!       tmassf_tmp = tmassf_tmp*.5/gravit       qmass1_tmp = qmass1_tmp*.5/gravit       qmass2_tmp = qmass2_tmp*.5/gravit       zgsint_tmp = zgsint_tmp*.5/gravit       qmassf_tmp = qmass1_tmp + qmass2_tmp!! Globally avgd sfc. partial pressure of dry air (i.e. global dry mass):!       tmass0 = 98222./gravit       if (ideal_phys) tmass0 = 100000./gravit       write(6,800) tmassf_tmp,tmass0,qmassf_tmp       write(6,810) zgsint_tmp800    format('INIDAT: MASS OF INITIAL DATA BEFORE CORRECTION = ' &              ,1p,e20.10,/,' DRY MASS WILL BE HELD = ',e20.10,/, &              ' MASS OF MOISTURE AFTER REMOVAL OF NEGATIVES = ',e20.10) 810    format(/69('*')/'INIDAT: Globally averaged geopotential ', &              'height = ',f16.10,' meters'/69('*')/)!! Compute and apply an initial mass fix factor which preserves horizontal! gradients of ln(ps).!     if (adiabatic .or. ideal_phys) then        fixmas = tmass0/tmassf_tmp     else        fixmas = (tmass0 + qmass1_tmp)/(tmassf_tmp - qmass2_tmp)     end if     do lat=1,plat        do i=1,nlon(lat)           ps_tmp(i,lat) = ps_tmp(i,lat)*fixmas        end do     end do    endif                     ! end of if-masterproc!!-----------------------------------------------------------------------! Copy temporary arrays to model arrays!-----------------------------------------------------------------------!    call copy_inidat!!-----------------------------------------------------------------------! Deallocate memory for temporary arrays!-----------------------------------------------------------------------!    deallocate ( ps_tmp )    deallocate ( u3_tmp )    deallocate ( v3_tmp )    deallocate ( t3_tmp )    deallocate ( q3_tmp )    deallocate ( qcwat_tmp )    deallocate ( lcwat_tmp )    deallocate ( tl_tmp )    deallocate ( tm_tmp )    deallocate ( ql_tmp )    deallocate ( qm_tmp )    deallocate ( phis_tmp )            deallocate ( phisl_tmp )            deallocate ( phism_tmp )            deallocate ( landfrac_tmp )    deallocate ( landm_tmp )    deallocate ( sgh_tmp )    deallocate ( ts_tmp )    deallocate ( tsice_tmp )    deallocate ( tssub_tmp )    deallocate ( dpsl_tmp )    deallocate ( dpsm_tmp )    deallocate ( div_tmp )    deallocate ( sicthk_tmp )    deallocate ( snowhice_tmp )!    return  end subroutine read_inidat!*********************************************************************C  subroutine copy_inidat!-----------------------------------------------------------------------!! Purpose:! Copy temporary arrays to model arrays ! note that the use statements below contain the definitions! of the model arrays!!-----------------------------------------------------------------------    use precision    use pmgrid    use prognostics    use buffer    use comsrf    use phys_grid    use tracers, only: ixcldw#if ( defined SPMD )    use mpishorthand    use spmd_dyn, only: npes, compute_gsfactors#endif    implicit none#include <comqfl.h>!!---------------------------Local workspace-----------------------------!    real(r8), allocatable :: tmpchunk3d(:,:,:)                 real(r8), allocatable :: tmpchunk(:,:)                 integer, parameter :: iend = i1+plon-1 ! last "real model" i-index in extended grid    integer, parameter :: jend = j1+plat-1 ! last "real model" j-index in extended grid    integer begj, endj    integer n,i,j#if ( defined SPMD )    integer :: numperlat         ! number of values per latitude band    integer :: numsend(0:npes-1) ! number of items to be sent    integer :: numrecv           ! number of items to be received    integer :: displs(0:npes-1)  ! displacement array#endif!!-----------------------------------------------------------------------!#ifdef HADVTEST!!JR Overwrite fields for flat-earth solid-body rotation!    call hadvtest_init#endif    begj = beglatex + numbnd    endj = begj + numlats - 1!PW Dynamics fields#if ( defined SPMD )    numperlat = plond    call compute_gsfactors (numperlat, numrecv, numsend, displs)    call mpiscatterv (ps_tmp    ,numsend, displs, mpir8,ps    (1,beglat,1) ,numrecv, mpir8,0,mpicom)    call mpiscatterv (phis_tmp  ,numsend, displs, mpir8,phis  (1,beglat)   ,numrecv, mpir8,0,mpicom)    call mpiscatterv (phisl_tmp ,numsend, displs, mpir8,phisl (1,beglat)   ,numrecv, mpir8,0,mpicom)    call mpiscatterv (phism_tmp ,numsend, displs, mpir8,phism (1,beglat)   ,numrecv, mpir8,0,mpicom)    call mpiscatterv (dpsl_tmp  ,numsend, displs, mpir8,dpsl  (1,beglat)   ,numrecv, mpir8,0,mpicom)    call mpiscatterv (dpsm_tmp  ,numsend, displs, mpir8,dpsm  (1,beglat)   ,numrecv, mpir8,0,mpicom)    numperlat = plndlv    call compute_gsfactors (numperlat, numrecv, numsend, displs)    call mpiscatterv (u3_tmp    ,numsend, displs, mpir8,u3    (i1,1,begj,1),numrecv, mpir8,0,mpicom)    call mpiscatterv (v3_tmp    ,numsend, displs, mpir8,v3    (i1,1,begj,1),numrecv, mpir8,0,mpicom)    call mpiscatterv (t3_tmp    ,numsend, displs, mpir8,t3    (i1,1,begj,1),numrecv, mpir8,0,mpicom)    call mpiscatterv (div_tmp   ,numsend, displs, mpir8,div   (1,1,beglat,1) ,numrecv, mpir8,0,mpicom)    call mpiscatterv (tl_tmp    ,numsend, displs, mpir8,tl    (1,1,beglat) ,numrecv, mpir8,0,mpicom)    call mpiscatterv (tm_tmp    ,numsend, displs, mpir8,tm    (1,1,beglat) ,numrecv, mpir8,0,mpicom)    call mpiscatterv (ql_tmp    ,numsend, displs, mpir8,ql    (1,1,beglat) ,numrecv, mpir8,0,mpicom)    call mpiscatterv (qm_tmp    ,numsend, displs, mpir8,qm    (1,1,beglat) ,numrecv, mpir8,0,mpicom)    numperlat = plndlv*(pcnst+pnats)    call compute_gsfactors (numperlat, numrecv, numsend, displs)    call mpiscatterv (q3_tmp, numsend, displs, mpir8, q3(i1,1,1,begj,1), numrecv, mpir8, 0, mpicom)    call mpibcast   (lnpstar   ,psp,mpir8,0 , mpicom)#else    ps    (:,:,1) = ps_tmp    (:,:)    phis  (:,:)   = phis_tmp  (:,:)    phisl (:,:)   = phisl_tmp (:,:)    phism (:,:)   = phism_tmp (:,:)    dpsl  (:,:)   = dpsl_tmp  (:,:)    dpsm  (:,:)   = dpsm_tmp  (:,:)    u3    (i1:iend,:,j1:jend,1) = u3_tmp(:,:,:)    v3    (i1:iend,:,j1:jend,1) = v3_tmp(:,:,:)    t3    (i1:iend,:,j1:jend,1) = t3_tmp(:,:,:)    div   (:,:,:,1) = div_tmp   (:,:,:)    tl    (:,:,:) = tl_tmp    (:,:,:)    tm    (:,:,:) = tm_tmp    (:,:,:)    ql    (:,:,:) = ql_tmp    (:,:,:)    qm    (:,:,:) = qm_tmp    (:,:,:)    q3    (i1:iend,:,:,j1:jend,1) = q3_tmp(:,:,:,:)#endif    dpsmm1(:,:)   = dpsm (:,:)    dpsmp1(:,:)   = dpsm (:,:)    dpslm1(:,:)   = dpsl (:,:)    dpslp1(:,:)   = dpsl (:,:)    tlm1  (:,:,:) = tl   (:,:,:)    tmm1  (:,:,:) = tm   (:,:,:)    ed1   (:,:,:) = 0.!PW Physics fields    allocate ( tmpchunk(pcols,begchunk:endchunk) )    allocate ( tmpchunk3d(pcols,plevmx,begchunk:endchunk) )    call scatter_field_to_chunk(1,1,1,plond,landfrac_tmp,landfrac(1,begchunk))    call scatter_field_to_chunk(1,1,1,plond,landm_tmp,landm(1,begchunk))    call scatter_field_to_chunk(1,1,1,plond,sgh_tmp,sgh(1,begchunk))    call scatter_field_to_chunk(1,1,1,plond,tsice_tmp,tsice(1,begchunk))    call scatter_field_to_chunk(1,1,1,plond,ts_tmp,tmpchunk)    do i =begchunk,endchunk       srfflx_state2d(i)%ts(:) = tmpchunk(:,i)    end do#if ( defined COUP_SOM )    call scatter_field_to_chunk(1,1,1,plond,sicthk_tmp,sicthk(1,begchunk))#endif    call scatter_field_to_chunk(1,1,1,plond,snowhice_tmp,snowhice(1,begchunk))    call scatter_field_to_chunk(1,plevmx,1,plond,tssub_tmp,tmpchunk3d)    do i =begchunk,endchunk       surface_state2d(i)%tssub(:,:) = tmpchunk3d(:,:,i)    end do!!JR cloud and cloud water initialization.  Does this belong somewhere else?!      if (masterproc) then         qcwat_tmp(:plon,:,:) = q3_tmp(:plon,:,1,:)         lcwat_tmp(:plon,:,:) = q3_tmp(:plon,:,ixcldw,:)      endif      call scatter_field_to_chunk(1,plev,1,plond,qcwat_tmp,qcwat(1,1,begchunk,1))      call scatter_field_to_chunk(1,plev,1,plond,lcwat_tmp,lcwat(1,1,begchunk,1))      call scatter_field_to_chunk(1,plev,1,plond,t3_tmp,tcwat(1,1,begchunk,1))      cld(:,:,:,1) = 0.      do n=2,2         cld(:,:,:,n) = 0.         qcwat(:,:,:,n) = qcwat(:,:,:,1)          tcwat(:,:,:,n) = tcwat(:,:,:,1)          lcwat(:,:,:,n) = lcwat(:,:,:,1)       end do!! Global integerals!    if (masterproc) then       tmassf = tmassf_tmp       qmass1 = qmass1_tmp       qmass2 = qmass2_tmp       qmassf = qmassf_tmp       zgsint = zgsint_tmp    endif#if ( defined SPMD )    call mpibcast (tmass0,1,mpir8,0,mpicom)    call mpibcast (tmassf,1,mpir8,0,mpicom)    call mpibcast (qmass1,1,mpir8,0,mpicom)    call mpibcast (qmass2,1,mpir8,0,mpicom)    call mpibcast (qmassf,1,mpir8,0,mpicom)    call mpibcast (zgsint,1,mpir8,0,mpicom)#endif    deallocate ( tmpchunk )    deallocate ( tmpchunk3d)  end subroutine copy_inidat#ifdef HADVTEST  subroutine hadvtest_init    use pmgrid    use rgrid    use physconst, only:    use commap    implicit none#include <comhyb.h>#include <hadvtest.h>!!---------------------------Local workspace-----------------------------!    integer i   !    integer k   ! - indices    integer lat !    real(r8) h0, u0, small_r, big_r, theta, theta_c, lambda, lambda_c    real(r8) alfa, dlam, pie    real(r8) pie!!-----------------------------------------------------------------------!! First: zero sgh and phis fields!    sgh_tmp(:,:) = 0.    phis_tmp(:,:) = 0.!!JR Analytic IC and wind!    pie = acos(-1.)!!jr Define wind and constituent fields!    h0 = 1000.    u0 = 2.*pie*rearth/(12.*86400.)    big_r = rearth/3.    theta_c = +60.*pie/180.   ! 60 deg north    theta_c = -60.*pie/180.   ! 60 deg south    theta_c = 0.              ! equator    lambda_c = 0.             ! Greenwich    lambda_c = 3.*pie/2.    do lat=1,plat       theta = clat(lat)       do k=1,plev          alfa = 0.          if (k.eq.1) then             alfa = 0.          else if (k.eq.2) then             alfa = 0.05          else if (k.eq.plev-1) then             alfa = 0.5*pie - 0.05          else if (k.eq.plev) then             alfa = 0.5*pie      ! blows north          else             alfa = (k-2)*pie/(2.*(plev-3))          end if          do i=1,nlon(lat)             lambda = 2.*pie*(i-1)/nlon(lat)!!jr Use these settings in conjunction with theta_c to start the blob at !jr Greenwich!             usave(i,k,lat)    = u0*(cos(theta)*cos(alfa) + &                                 sin(theta)*cos(lambda-0.5*pie)*sin(alfa))             vsave(i,k,lat)    = -u0*sin(lambda-0.5*pie)*sin(alfa)!!jr Use these settings in conjunction with theta_c to start the blob at 270.!             usave(i,k,lat)    = u0*(cos(theta)*cos(alfa) + &                                 sin(theta)*cos(lambda)*sin(alfa))             vsave(i,k,lat)    = -u0*sin(lambda)*sin(alfa)             u3_tmp(i,k,lat)   = usave(i,k,lat)             v3_tmp(i,k,lat)   = vsave(i,k,lat)             dlam              = lambda - lambda_c             small_r           = rearth*acos(sin(theta_c)*sin(theta) + &                                 cos(theta_c)*cos(theta)*cos(dlam))             q3_tmp(i,k,1,lat) = 0.             if (small_r .lt. big_r) then                q3_tmp(i,k,1,lat) = h0/2.*(1. + cos(pie*small_r/big_r))             end if!!jr Stick Q into T to test spectral advection (of what's in T)!jr Or put 300 in T.!             t3_tmp(i,k,lat) = 300.             t3_tmp(i,k,lat) = q3_tmp(i,k,1,lat)          end do       end do!!jr Save surface pressure for future timesteps.  Set to 1.e5 everywhere!       do i=1,nlon(lat)          ps_tmp(i,lat) = ps0          pssave(i,lat) = ps_tmp(i,lat)       end do    end do    return  end subroutine hadvtest_init#endifend module inidat

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区三区中文字幕| 久久久久久久久久久电影| 亚洲蜜桃精久久久久久久| 一本色道亚洲精品aⅴ| 亚洲综合图片区| 91.xcao| 国产一区二区三区在线观看免费| 久久综合九色欧美综合狠狠| 国产精品99久久久久久久女警 | 91.成人天堂一区| 久久精品国产**网站演员| 国产亚洲精品bt天堂精选| 91尤物视频在线观看| 视频一区在线播放| 久久人人超碰精品| 一本久道久久综合中文字幕| 日本欧美一区二区三区| 国产亚洲1区2区3区| 91影院在线观看| 美国精品在线观看| 国产精品三级久久久久三级| 欧美人牲a欧美精品| 国产精品亚洲第一区在线暖暖韩国| 亚洲天堂a在线| 日韩欧美国产成人一区二区| av资源站一区| 免费精品视频最新在线| 亚洲视频一区在线观看| 精品欧美一区二区久久| 91丨九色丨黑人外教| 蜜桃av噜噜一区| 一区二区高清视频在线观看| 精品日韩一区二区三区| 91久久精品一区二区三| 激情文学综合插| 亚洲国产日韩av| 国产精品美女久久久久久久久 | 国内外精品视频| 亚洲欧美日韩人成在线播放| 精品国产一区二区精华| 在线观看日韩毛片| 风间由美一区二区三区在线观看| 日本亚洲免费观看| 亚洲综合区在线| 中文字幕不卡在线观看| 精品欧美一区二区三区精品久久| 在线观看日韩高清av| 成熟亚洲日本毛茸茸凸凹| 免费在线看成人av| 亚洲午夜国产一区99re久久| 国产精品免费人成网站| 欧美成人三级电影在线| 欧美美女喷水视频| 日韩亚洲欧美成人一区| 色天使久久综合网天天| 成人性生交大合| 韩国欧美一区二区| 蜜桃视频一区二区三区 | 国产精品久久久久影院色老大| 欧美无砖专区一中文字| 99久久国产综合精品女不卡| 国产精品亚洲综合一区在线观看| 秋霞午夜鲁丝一区二区老狼| 一区二区三区免费网站| 中文字幕字幕中文在线中不卡视频| 精品奇米国产一区二区三区| 日韩一区二区三区三四区视频在线观看 | 3atv在线一区二区三区| 在线观看成人免费视频| 91免费版pro下载短视频| 国产成人激情av| 国产suv一区二区三区88区| 韩国三级电影一区二区| 激情成人午夜视频| 国产精品夜夜嗨| 国产精品亚洲午夜一区二区三区 | 中文字幕不卡的av| 中文字幕欧美区| 国产精品久久久久久久久免费丝袜| 2024国产精品| 国产女主播在线一区二区| 日本一区二区三区久久久久久久久不| 久久久美女艺术照精彩视频福利播放| 精品999在线播放| 久久久精品免费网站| 国产日韩av一区| 中文字幕一区二区三区四区不卡| 中文字幕av一区 二区| 亚洲欧美一区二区三区久本道91| 日韩理论片一区二区| 亚洲一区二区av电影| 天天免费综合色| 久久www免费人成看片高清| 国产永久精品大片wwwapp| 国产suv精品一区二区6| 91啪亚洲精品| 91精品视频网| 久久精品欧美一区二区三区不卡 | 午夜视频久久久久久| 美女视频黄久久| 国产成人免费视频精品含羞草妖精| 国产成人在线色| 91一区二区在线观看| 欧美浪妇xxxx高跟鞋交| 精品蜜桃在线看| 中文字幕一区二区不卡| 亚洲图片欧美色图| 久久99精品久久久久久动态图| 国产精品99久久久久久久vr| 91麻豆国产福利精品| 91麻豆精品国产91久久久 | 欧美一区二区三区视频免费播放| 337p粉嫩大胆色噜噜噜噜亚洲| 中文字幕视频一区| 婷婷综合五月天| 从欧美一区二区三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美自拍偷拍一区| 精品国产一区二区三区不卡| 亚洲少妇最新在线视频| 日韩国产高清在线| 成人在线视频一区二区| 69堂国产成人免费视频| 日本一区二区不卡视频| 日韩高清不卡一区| 91免费在线播放| 久久久久久久久97黄色工厂| 婷婷久久综合九色综合绿巨人| 岛国av在线一区| 精品美女一区二区三区| 亚洲午夜视频在线观看| 成人网男人的天堂| 亚洲精品在线电影| 亚洲国产成人av网| 波多野结衣一区二区三区| 欧美一区二区三区的| 亚洲欧美一区二区三区国产精品| 国产美女精品在线| 日韩一级高清毛片| 亚洲线精品一区二区三区八戒| 北岛玲一区二区三区四区| 精品福利一二区| 天天综合网天天综合色| 一本大道久久a久久综合| 欧美国产日韩a欧美在线观看 | 国产精品欧美久久久久无广告| 裸体歌舞表演一区二区| 欧美日韩精品一区视频| 亚洲婷婷综合色高清在线| 粉嫩av一区二区三区在线播放| 日韩亚洲欧美在线| 日韩精品1区2区3区| 精品视频999| 亚洲猫色日本管| aaa亚洲精品| 国产精品视频一二三区| 国产精品一区免费视频| 久久亚洲精华国产精华液 | 99久久精品费精品国产一区二区| 久久久综合精品| 一本大道av伊人久久综合| 国产精品二三区| 99re6这里只有精品视频在线观看| 国产三级一区二区三区| 国产美女一区二区| 精品久久国产字幕高潮| 狠狠久久亚洲欧美| 亚洲精品一区二区三区影院| 久久精品国产亚洲高清剧情介绍| 欧美一区二区三区视频免费播放| 热久久免费视频| 欧美电影免费观看高清完整版| 欧美bbbbb| 久久亚洲二区三区| 国产精品白丝av| 日韩一区欧美小说| 在线观看视频欧美| 日韩 欧美一区二区三区| 欧美成人一区二区| 国产乱国产乱300精品| 国产日韩视频一区二区三区| 成人网在线播放| 亚洲美女视频在线观看| 欧美亚洲丝袜传媒另类| 日本午夜一区二区| 久久久久久亚洲综合影院红桃| 丁香激情综合国产| 亚洲激情图片小说视频| 欧美午夜理伦三级在线观看| 麻豆精品新av中文字幕| 亚洲国产高清在线观看视频| 色婷婷激情一区二区三区| 亚洲午夜电影网| 日韩精品一区二区三区在线播放| 国产成人小视频| 亚洲主播在线播放| 精品噜噜噜噜久久久久久久久试看| 国产成人一区在线| 亚洲自拍偷拍网站| 精品美女在线播放|