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

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

?? rtmmod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
#include <misc.h>#include <preproc.h>module RtmMod#if (defined RTM) !----------------------------------------------------------------------- ! ! Purpose: ! River Routing Model! Contains routines: Rtmgridini, Rtmlandini, Rtmriverflux, Rtm! ! Method: ! (U. of Texas River Transport Model) !! Author: Sam Levis! !-----------------------------------------------------------------------! $Id: RtmMod.F90,v 1.10.6.5 2002/04/27 15:38:55 erik Exp $!-----------------------------------------------------------------------  use precision  use clm_varpar, only : lsmlon, lsmlat, rtmlon, rtmlat   implicit none! RTM grid info  integer , private :: numlon_r(rtmlat)               !number of lon points at each lat  real(r8), private, dimension(4) :: rtmedge = (/ 90., 180., -90., -180. /)  !N,E,S,W edges of rtm grid  real(r8), public, allocatable :: latixy_r(:,:)      !rtm latitudes  of grid cells (degrees)         real(r8), public, allocatable :: longxy_r(:,:)      !rtm longitudes of grid cells (degrees)         real(r8), public :: area_r(rtmlon,rtmlat)           !rtm gridcell area (km^2)            integer , public :: mask_r(rtmlon,rtmlat)           !rtm landmask (land=1,ocean=0)! land model to RTM mapping. for each rtm grid cell:  integer , private :: mxovr_s2r                      !max number of overlapping cells  integer , private :: novr_s2r(rtmlon,rtmlat)        !number    of overlapping cells  integer , private, allocatable :: iovr_s2r(:,:,:)   !lon index of overlapping cells  integer , private, allocatable :: jovr_s2r(:,:,:)   !lat index of overlapping cells  real(r8), private, allocatable :: wovr_s2r(:,:,:)   !weight    of overlapping cells! RTM runoff for coupled communication  integer , public, allocatable :: ocnrof_iindx(:)    !rtm longitude index of ocean runoff point  integer , public, allocatable :: ocnrof_jindx(:)    !rtm latitude index of ocean runoff point  real(r8), public, allocatable :: ocnrof_vec(:)      !rtm runoff vector (1/2 deg grid, kg/m^2/s)! RTM history file variables  real(r8), public, allocatable :: qchan2(:)          !river (channel) flow (m**3 H2O /s)  real(r8), public, allocatable :: qchocn2(:)         !river (channel) flow into ocean (m**3/s)! time averaging for rtm calculatino  real(r8), public, allocatable :: totrunin_ave(:)    !time averaged vector of input fluxes  real(r8), public, allocatable :: prec_ave(:)        !time averaged vector of precipitation  real(r8), public, allocatable :: evap_ave(:)        !time averaged vector of evaporation  real(r8), public :: delt_rtm                        !rtm time step  integer , public :: ncount_rtm                      !number of time samples to average over! fluxes  integer , private :: rdirc(0:rtmlon+1,0:rtmlat+1)   !rtm river flow direction (0-8)  real(r8), private :: fluxout(0:rtmlon+1,0:rtmlat+1) !water flux out of cell (m^3/s)  real(r8), private :: ddist(rtmlon,rtmlat)           !downstream distance (m)  real(r8), private :: rivarea(rtmlon,rtmlat)         !cell area (m^2)  real(r8), public  :: volr(rtmlon,rtmlat)            !water volume in cell (m^3)  real(r8), private, allocatable :: latsh(:)          !southern edge of cells at rtm grid       real(r8), private, allocatable :: lonwh(:,:)        !western  edge of cells at rtm grid     ! inputs to RTM at 1/2 degree resolution  real(r8), private :: totrunin_r(rtmlon,rtmlat)      !surface runoff (mm/s)! outputs returned from RTM at 1/2 degree resolution  real(r8), private :: flxlnd_r(rtmlon,rtmlat)        !river flux (m**3/s)  real(r8), private :: flxocn_r(rtmlon,rtmlat)        !river flux to the ocean (m**3/s)  real(r8), private :: dvolrdt_r(rtmlon,rtmlat)       !change in storage (mm/s)  real(r8), private :: volrtm(rtmlon,rtmlat)          !change in storage (m**3/s)  real(r8), private :: runrtm(rtmlon,rtmlat)          !input runoff on rtm grid (m**3/s)! RTM water flux into cell  real(r8), private :: sfluxin(rtmlon,rtmlat)         !water flux into cell (m3/s)! global averaging  character(len=*),parameter :: F40="('(diag) ',a17,'    date  ', &  &     '   prec        evap        runoff(lnd)   runoff(rtm) dvoldt(rtm) runoff-ocn(rtm)  (m^3/sec)')"  character(len=*),parameter :: F41="('(diag) ',a17,'   nstep  ', &  &     '   prec        evap        runoff(lnd)   runoff(rtm) dvoldt(rtm) runoff-ocn(rtm)  (m^3/sec)')"  character(len=*),parameter :: F21="('(diag) ',a17,' ----------------------', &  &     7('----------'))"  character(len=*),parameter :: F22="('(diag) ',a17,i8,6(d13.4))"  real(r8) prec_global            !total precipitation (m^3/sec)   real(r8) evap_global            !total evaporation (m^3/sec)  real(r8) runlnd_global          !total input runoff on land grid (m^3/sec)  real(r8) runrtm_global          !total input runoff on rtm grid (m^3/sec)  real(r8) ocnrtm_global          !total ocean runoff on rtm grid (m^3/sec)  real(r8) volrtm_global          !total change in storage on rtm (m^3/sec)  integer  ncount_global          !global counter   integer  yrold                  !old year  SAVE!=======================================================================CONTAINS!=======================================================================subroutine Rtmgridini!----------------------------------------------------------------------- ! ! Purpose: ! Initialize RTM grid and land mask (U. of Texas River Transport Model)! ! Method: ! ! Author: Sam Levis! !-----------------------------------------------------------------------  use spmdMod   , only : masterproc  use areaMod   , only : celledge, cellarea     use clm_varctl, only : frivinp_rtm  use clm_varcon, only : re  use shr_const_mod, only: SHR_CONST_PI! ------------------------ local variables ---------------------------  integer  :: ioff(0:8) = (/0,0,1,1,1,0,-1,-1,-1/) !calc dist as in hydra  integer  :: joff(0:8) = (/0,1,1,0,-1,-1,-1,0,1/) !of grid cell down stream  integer  :: i,j,k,n                       !loop indices  integer  :: i2,j2                         !downstream i and j  real(r8) :: deg2rad                       !pi/180  real(r8) :: dx                            !lon dist. between grid cells (m)  real(r8) :: dy                            !lat dist. between grid cells (m)  real(r8) :: dist(rtmlon,rtmlat)           !dist. of the grid cell down stream (m)   real(r8) :: tempg(rtmlon,rtmlat)          !temporary buffer  integer  :: tempgp(0:rtmlon+1,0:rtmlat+1) !temporary buffer  ! --------------------------------------------------------------------    if (masterproc) then! --------------------------------------------------------------------! Useful constants and initial values! --------------------------------------------------------------------     write(6,*)'Columns in RTM = ',rtmlon     write(6,*)'Rows in RTM    = ',rtmlat     allocate(latixy_r(rtmlon,rtmlat))     allocate(longxy_r(rtmlon,rtmlat))     allocate(latsh(rtmlat+1))        !southern edge of cells at rtm grid          allocate(lonwh(rtmlon+1,rtmlat)) !western  edge of cells at rtm grid               deg2rad = SHR_CONST_PI / 180.     volr = 0.! --------------------------------------------------------------------! Open and read input data (river direction file)! rtm operates from south to north and from the dateline! --------------------------------------------------------------------     open (1,file=frivinp_rtm)     write(6,*)'opened river direction data'     do j = 1,rtmlat        numlon_r(j) = 0        do i = 1,rtmlon           read(1,*) latixy_r(i,j),longxy_r(i,j),tempg(i,j)           if (longxy_r(i,j) /= 1.e36) numlon_r(j) = numlon_r(j) + 1           tempgp(i,j) = nint(tempg(i,j))        enddo     enddo     close(1)     write(6,*)'closed river direction data'     write(6,*)     ! --------------------------------------------------------------------! Determine RTM celledges, areas and interpolation masks! --------------------------------------------------------------------     call celledge (rtmlat    , rtmlon    , numlon_r  , longxy_r  , &                    latixy_r  , rtmedge(1), rtmedge(2), rtmedge(3), &                    rtmedge(4), latsh     , lonwh     )     call cellarea (rtmlat    , rtmlon    , numlon_r  , latsh     , lonwh , &                    rtmedge(1), rtmedge(2), rtmedge(3), rtmedge(4), area_r) ! --------------------------------------------------------------------! Determine rtm mask, downstream distance and area! --------------------------------------------------------------------! determine rtm ocn/land mask     do i=1,rtmlon        tempgp(i,0)        = tempgp(mod(i+rtmlon/2-1,rtmlon)+1,1)        tempgp(i,rtmlat+1) = tempgp(mod(i+rtmlon/2-1,rtmlon)+1,rtmlat)        if (tempgp(i,0)        /= 0) tempgp(i,0)        = mod(tempgp(i,0)       +4-1,8)+1        if (tempgp(i,rtmlat+1) /= 0) tempgp(i,rtmlat+1) = mod(tempgp(i,rtmlat+1)+4-1,8)+1     enddo     do j=0,rtmlat+1        tempgp(0,j) =tempgp(rtmlon,j)        tempgp(rtmlon+1,j)=tempgp(1,j)     enddo          do j=0,rtmlat+1        do i=0,rtmlon+1           rdirc(i,j)=tempgp(i,j)        enddo     enddo          do j=1,rtmlat        do i=1,rtmlon           if (rdirc(i,j) == 0) then              mask_r(i,j) = 0           else              mask_r(i,j) = 1           end if        enddo     enddo! determine downstream distance - instead of reading a distance file ! calculate the downstream distance as in hydra     do j=1,rtmlat        do i=1,rtmlon           i2 = i + ioff(tempgp(i,j))           j2 = j + joff(tempgp(i,j))           if (i2 == 0) i2 = 2                 !avoids i2 out of bounds in the following           if (i2 == rtmlon+1) i2 = rtmlon-1   !avoids i2 out of bounds in the following             dy = deg2rad * abs(latixy_r(i,j)-latixy_r(i2,j2)) * re*1000.           dx = deg2rad * abs(longxy_r(i,j)-longxy_r(i2,j2)) * re*1000. &                *0.5*(cos(latixy_r(i,j)*deg2rad)+cos(latixy_r(i2,j2)*deg2rad))           dist(i,j) = sqrt(dx*dx + dy*dy)           ddist(i,j) = dist(i,j)           rivarea(i,j)=1.e6 * area_r(i,j)     !convert into m**2        enddo     enddo    endif  ! end of if-masterproc blockend subroutine Rtmgridini!=======================================================================subroutine Rtmlandini!----------------------------------------------------------------------- ! ! Purpose: ! Initialize RTM-land interpolation weights (U. of Texas River Transport Model)! and variables related to runoff time averaging! ! Method: ! ! Author: Mariana Vertenstein! !-----------------------------------------------------------------------  use spmdMod     , only : masterproc  use areaMod     , only : areaini              use clm_varsur  , only : numlon, area, lats, lonw, landmask   use clm_varmap  , only : numpatch  use time_manager, only : get_curr_date! ------------------------ local variables ---------------------------  integer  :: i,j,k,n                    !loop indices  integer  :: is,js                      !land model grid indices  real(r8) :: maskone_s(lsmlon,lsmlat)   !dummy field: see below                   real(r8) :: maskone_r(rtmlon,rtmlat)   !dummy field: see below                   integer  :: ocnrof_mask(rtmlon,rtmlat) !rtm mask for ocean points with possible nonzero runoff  integer  :: ocnrof_num                 !number of valid ocean points with possible nonzero runoff  integer  :: yrnew                      !year (0, ...)  integer  :: mon                        !month (1, ..., 12)   integer  :: day                        !day of month (1, ..., 31)  integer  :: ncsec                      !seconds of current date! --------------------------------------------------------------------  if (masterproc) then! --------------------------------------------------------------------! The following section allows RTM and land model to coexist at different! horizontal resolutions! --------------------------------------------------------------------     write(6,*)     write(6,*) 'Initializing area-averaging interpolation for RTM.....'! To find fraction of each land model grid cell that is land based on rtm grid.! For this purpose, want all rtm grid cells to contribute to grid cell ! average on land model grid, i.e., all cells used regardless of whether land ! or ocean. Do this by setting [maskone_s] = 1 ! [maskone_s] = 1 means all grid cells on land model grid, regardless of whether! land or ocean, will contribute to rtm grid.     do j = 1, lsmlat        do i = 1, numlon(j)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国视频一区二区| 国产区在线观看成人精品| 久草在线在线精品观看| 久久久久久久久99精品| 成人va在线观看| 伊人一区二区三区| 精品sm在线观看| 99re热这里只有精品免费视频| 亚洲午夜免费电影| 国产婷婷一区二区| 欧美偷拍一区二区| 欧美日韩在线播放三区| 韩国精品在线观看| 亚洲在线成人精品| 久久日韩粉嫩一区二区三区| 日本精品一区二区三区高清| 国产精品99久久久久久似苏梦涵 | 欧美精品乱码久久久久久按摩 | 亚洲色图视频网站| 精品国产乱码久久久久久闺蜜| 91亚洲男人天堂| 国产一区二区不卡老阿姨| 亚洲一区二区免费视频| 久久久99精品免费观看| 7777精品久久久大香线蕉| 国产一区二区在线视频| 亚洲综合免费观看高清完整版| 久久蜜桃av一区精品变态类天堂| 欧美日韩午夜在线视频| 高清不卡在线观看| 久久激情五月婷婷| 亚洲v日本v欧美v久久精品| 国产精品美女久久久久aⅴ| 欧美日韩一区视频| 色综合久久99| 不卡一区二区中文字幕| 国产麻豆91精品| 蜜桃av一区二区| 亚洲激情成人在线| 亚洲色图制服诱惑| 国产精品国产三级国产普通话99| 精品国产乱码久久久久久图片 | 国产精品1024久久| 久久精品国产精品青草| 亚洲自拍与偷拍| 亚洲男人电影天堂| 日韩美女视频一区| 国产精品萝li| 国产日产欧产精品推荐色| 精品欧美一区二区三区精品久久| 欧美人与z0zoxxxx视频| 一本到高清视频免费精品| 成人精品鲁一区一区二区| 国产剧情一区在线| 国产综合色在线| 国产精品一区二区视频| 国产一区二区三区久久久| 激情伊人五月天久久综合| 亚洲综合色区另类av| 一区二区三区.www| 亚洲国产一区视频| 亚洲高清免费在线| 日韩精品一二区| 日韩国产精品大片| 91一区二区三区在线播放| 99re这里只有精品视频首页| 成人黄色在线网站| 99麻豆久久久国产精品免费| av午夜精品一区二区三区| 99久久婷婷国产综合精品电影| 91热门视频在线观看| 在线精品视频一区二区| 欧美三级视频在线| 欧美一卡二卡在线观看| 久久人人爽人人爽| 国产亚洲综合性久久久影院| 国产午夜精品久久久久久免费视 | 欧美日韩激情在线| 91精品国产入口| 精品欧美一区二区在线观看| 国产欧美精品日韩区二区麻豆天美| 国产精品乱人伦一区二区| 亚洲乱码日产精品bd| 亚洲色图在线视频| 天天射综合影视| 国产美女av一区二区三区| 成人av午夜电影| 欧美日韩国产色站一区二区三区| 91.xcao| 精品欧美乱码久久久久久1区2区| 国产精品毛片无遮挡高清| 亚洲一区二区视频在线观看| 久久福利视频一区二区| 国产91清纯白嫩初高中在线观看| 99riav久久精品riav| 欧美日韩黄色一区二区| 亚洲精品一区二区三区四区高清| 国产精品色眯眯| 一区二区久久久久| 蜜臀久久99精品久久久久宅男| 国产成人在线看| 欧美性受xxxx| 久久精品视频免费| 国产精品久久久久7777按摩| 亚洲国产精品自拍| 国产美女视频一区| 精品视频123区在线观看| 国产亚洲一区二区三区四区| 亚洲欧美一区二区三区孕妇| 麻豆精品久久精品色综合| 91社区在线播放| 精品国产成人在线影院| 亚洲中国最大av网站| aaa国产一区| 国产色产综合产在线视频| 日韩激情av在线| 欧美日韩精品一区视频| 一区二区三区免费网站| a级精品国产片在线观看| 国产精品区一区二区三区 | 91蝌蚪porny| 国产精品天干天干在观线| 国产伦精品一区二区三区在线观看| 7799精品视频| 图片区日韩欧美亚洲| 欧美在线不卡一区| 成人黄色av电影| 久久久综合视频| 国产综合色精品一区二区三区| 日韩欧美成人午夜| 美腿丝袜一区二区三区| 欧美成人vps| 久久99久久精品| 久久久美女毛片| 夫妻av一区二区| 中文字幕在线观看不卡视频| 成人激情av网| 一区二区三区视频在线观看| 91福利精品第一导航| 亚洲二区在线视频| 欧美一二三区在线观看| 久久精品国产精品亚洲精品| 2023国产精品自拍| 成人国产精品免费网站| 亚洲女人小视频在线观看| 欧美无乱码久久久免费午夜一区| 亚洲大片一区二区三区| 日韩一区二区三区四区| 国产高清在线精品| 国产精品美女久久久久久久网站| 色一情一伦一子一伦一区| 亚洲国产精品久久久久婷婷884| 8v天堂国产在线一区二区| 精品在线免费观看| 国产精品视频第一区| 在线欧美一区二区| 日韩高清一区在线| 久久久久久久国产精品影院| 成人在线一区二区三区| 亚洲综合一二三区| 欧美tk—视频vk| 9l国产精品久久久久麻豆| 午夜久久久久久久久久一区二区| 日韩一区二区三区在线视频| 国产成人综合视频| 亚洲一区二区三区中文字幕在线 | 一区二区三区四区在线播放 | 亚洲一区电影777| 日韩欧美国产不卡| 成人三级伦理片| 偷拍与自拍一区| 久久精品亚洲乱码伦伦中文| 99riav久久精品riav| 久久精品国产免费看久久精品| 国产精品家庭影院| 在线91免费看| av电影在线观看完整版一区二区| 亚洲综合视频网| 国产亚洲精品aa午夜观看| 欧美亚洲综合网| 国产美女一区二区三区| 亚洲国产日韩在线一区模特| 国产亚洲一区二区三区四区| 欧美在线短视频| 成人激情午夜影院| 免费一级欧美片在线观看| 中文字幕一区二区三区四区| 日韩欧美不卡在线观看视频| 色香色香欲天天天影视综合网| 狠狠色丁香久久婷婷综| 亚洲国产中文字幕在线视频综合| 国产欧美日韩在线观看| 日韩视频一区在线观看| 日本丰满少妇一区二区三区| 国产精品99久久久久久久vr | 精品免费99久久| 欧美色涩在线第一页| 9i在线看片成人免费| 国产在线视频精品一区| 日韩av电影天堂|