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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? inicfilemod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 3 頁
字號:
#include <misc.h>#include <preproc.h>module inicFileMod!----------------------------------------------------------------------- ! Purpose: ! read and writes initial data netCDF history files!! Method: ! ! Author: Mariana Vertenstein! !-----------------------------------------------------------------------! $Id: inicFileMod.F90,v 1.10.10.5.6.1 2002/05/13 19:25:06 erik Exp $!-----------------------------------------------------------------------  use precision  use clm_varder  use clm_varmap  , only : begpatch, endpatch, numland, numpatch, &                           landvec,  patchvec, begland, endland  use clm_varpar  , only : nlevsno, nlevsoi, nlevlak, maxpatch, rtmlon, rtmlat  use clm_varcon  , only : spval  use fileutils   , only : getfil#if (defined SPMD)  use spmdMod     , only : masterproc, npes, compute_mpigs_patch, compute_mpigs_land  use mpishorthand, only : mpir8, mpiint, mpilog, mpicom#else  use spmdMod     , only : masterproc#endif#if (defined RTM)  use RtmMod      , only : volr#endif  implicit none! netcdf data  integer, private  :: ncid                !netCDF dataset id  integer, private  :: dimid               !netCDF dimension id   integer, private  :: varid               !netCDF variable id! input dataset dimensions  integer, private  :: numland_dim         !value for [numland] from dataset  integer, private  :: maxpatch_dim        !value for [maxpatch] from dataset  integer, private  :: nlevsoi_dim         !value for [nlevsoi] from dataset  integer, private  :: nlevsno_dim         !value for [nlevsno] from dataset  integer, private  :: nlevtot_dim         !number of total (snow+soil) levels from dataset    integer, private  :: rtmlon_dim          !number of RTM longitudes  integer, private  :: rtmlat_dim          !number of RTM latitudes! methods  public  :: do_inicwrite   private :: patch_to_land   private :: land_to_patch  private :: set_init_filename  INTERFACE patch_to_land     MODULE procedure patch_to_land_1d_int     MODULE procedure patch_to_land_1d_real     MODULE procedure patch_to_land_2d_real  END INTERFACE  INTERFACE land_to_patch     MODULE procedure land_to_patch_1d_int     MODULE procedure land_to_patch_1d_real     MODULE procedure land_to_patch_2d_real  END INTERFACE  SAVE!=======================================================================CONTAINS!=======================================================================  subroutine inicrd ()!----------------------------------------------------------------------- ! ! Purpose: ! read initial data from netCDF instantaneous initial data history file ! for variables:!   snlsno, dzsno, zsno, zisno, h2ocan, h2osno, snowdp, snowage, !   h2osoi_liq, h2osoi_ice, t_veg, t_grnd, t_soisno, t_lake!! Method: ! ! Author: Mariana Vertenstein! !-----------------------------------------------------------------------    use precision    use clm_varctl, only : finidat    implicit none    include 'netcdf.inc'! ------------------------ local variables -----------------------------    integer :: i,j,k,l,m,n        !loop indices    character(len=256) :: locfn   !local file name    integer :: ndim               !input dimension           integer :: ret                !netcdf return code#if (defined SPMD)    integer :: numrecvv(0:npes-1) !vector of items to be received      integer :: displsv(0:npes-1)  !displacement vector    integer :: numsend            !number of items to be sent    integer :: ier                !mpi return code#endif    integer , allocatable :: ibuf1dl(:,:)    integer , allocatable :: ibuf1dp(:)    real(r8), allocatable :: rbuf1dl(:,:)    real(r8), allocatable :: rbuf1dp(:)    real(r8), allocatable :: rbuf2dl(:,:,:)    real(r8), allocatable :: rbuf2dp(:,:)! --------------------------------------------------------------------! Open netCDF data file and read data    if (masterproc) then       call getfil (finidat, locfn, 0)       call wrap_open (locfn, nf_nowrite, ncid)! check input dimensions       call wrap_inq_dimid (ncid, 'numland', dimid)       call wrap_inq_dimlen (ncid, dimid, numland_dim)       if (numland_dim /= numland) then          write (6,*) 'INICRD error: numland values disagree'          write (6,*) 'finidat numland = ',numland_dim,' model numland = ',numland          call endrun       end if       call wrap_inq_dimid (ncid, 'maxpatch', dimid)       call wrap_inq_dimlen (ncid, dimid, maxpatch_dim)       if (maxpatch_dim /= maxpatch) then          write (6,*) 'INICRD error: maxpatch values disagree'          write (6,*) 'finidat maxpatch = ',maxpatch_dim,' model maxpatch = ',maxpatch          call endrun       end if       call wrap_inq_dimid (ncid, 'nlevsno', dimid)       call wrap_inq_dimlen (ncid, dimid, nlevsno_dim)       if (nlevsno_dim /= nlevsno) then          write (6,*) 'INICRD error: nlevsno values disagree'          write (6,*) 'finidat levsno = ',nlevsno_dim,' model nlevsno = ',nlevsno          call endrun       end if       call wrap_inq_dimid (ncid, 'nlevsoi', dimid)       call wrap_inq_dimlen (ncid, dimid, nlevsoi_dim)       if (nlevsoi_dim /= nlevsoi) then          write (6,*) 'INICRD error: nlevsoi values disagree'          write (6,*) 'finidat nlevsoi = ',nlevsoi_dim,' model nlevsoi = ',nlevsoi          call endrun       end if       call wrap_inq_dimid (ncid, 'nlevtot', dimid)       call wrap_inq_dimlen (ncid, dimid, nlevtot_dim)       if (nlevtot_dim /= nlevsoi+nlevsno) then          write (6,*) 'INICRD error: nlevtot values disagree'          write (6,*) 'finidat nlevtot = ',nlevtot_dim,' model nlevtot = ',nlevsno+nlevsoi          call endrun        end if#if (defined RTM)       ret = nf_inq_dimid (ncid, 'rtmlon', dimid)       if (ret == NF_NOERR) then          call wrap_inq_dimlen (ncid, dimid, rtmlon_dim)          if (rtmlon_dim /= rtmlon) then             write (6,*) 'INICRD error: rtmlon values disagree'             write (6,*) 'finidat rtmlon = ',rtmlon_dim,' model rtmlon = ',rtmlon             call endrun          end if       endif       ret = nf_inq_dimid (ncid, 'rtmlat', dimid)       if (ret == NF_NOERR) then          call wrap_inq_dimlen (ncid, dimid, rtmlat_dim)          if (rtmlat_dim /= rtmlat) then             write (6,*) 'INICRD error: rtmlat values disagree'             write (6,*) 'finidat rtmlat = ',rtmlat_dim,' model rtmlat = ',rtmlat             call endrun          end if       endif#endif    endif ! if-masterproc block! Obtain data - for the snow interfaces, are only examing the snow ! interfaces above zi=0 which is why zisno and zsno have the same ! level dimension below    allocate (rbuf1dl(numland,maxpatch))    allocate (ibuf1dl(numland,maxpatch))    allocate (rbuf1dp(begpatch:endpatch))    allocate (ibuf1dp(begpatch:endpatch))        ! Read in zisno    ! NOTE: zi(0) is set to 0 in routine iniTimeConst    allocate (rbuf2dp(-nlevsno+0:-1,begpatch:endpatch))    allocate (rbuf2dl(numland,maxpatch,-nlevsno+0:-1))     if (masterproc) then       call wrap_inq_varid (ncid, 'ZISNO_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf2dl)    endif    call land_to_patch (rbuf2dl, rbuf2dp, nlevsno)     do k = begpatch,endpatch       clm(k)%zi(-nlevsno+0:-1) = rbuf2dp(-nlevsno+0:-1,k)    end do    deallocate (rbuf2dl)    deallocate (rbuf2dp)        ! Read in zsno    allocate (rbuf2dl(numland,maxpatch,-nlevsno+1:0))    allocate (rbuf2dp(-nlevsno+1: 0,begpatch:endpatch))    if (masterproc) then       call wrap_inq_varid (ncid, 'ZSNO_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf2dl)    endif    call land_to_patch (rbuf2dl, rbuf2dp, nlevsno)    do k = begpatch,endpatch       clm(k)%z (-nlevsno+1:0) = rbuf2dp(-nlevsno+1:0,k)    end do    deallocate (rbuf2dl)    deallocate (rbuf2dp)        ! Read in dzsno    allocate (rbuf2dl(numland,maxpatch,-nlevsno+1:0))    allocate (rbuf2dp(-nlevsno+1: 0,begpatch:endpatch))    if (masterproc) then       call wrap_inq_varid (ncid, 'DZSNO_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf2dl)    endif    call land_to_patch (rbuf2dl, rbuf2dp, nlevsno)    do k = begpatch,endpatch       clm(k)%dz(-nlevsno+1:0) = rbuf2dp(-nlevsno+1:0,k)    end do    deallocate (rbuf2dl)    deallocate (rbuf2dp)    ! Read in h2osoi_liq    allocate (rbuf2dl(numland,maxpatch,-nlevsno+1:nlevsoi))     allocate (rbuf2dp(-nlevsno+1:nlevsoi,begpatch:endpatch))    if (masterproc) then       call wrap_inq_varid (ncid, 'H2OSOI_LIQ_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf2dl)    endif    call land_to_patch (rbuf2dl, rbuf2dp, nlevsno+nlevsoi)    do k = begpatch,endpatch       clm(k)%h2osoi_liq(-nlevsno+1:nlevsoi) = rbuf2dp(-nlevsno+1:nlevsoi,k)    end do    deallocate (rbuf2dl)    deallocate (rbuf2dp)        ! Read in h2osoi_ice    allocate (rbuf2dl(numland,maxpatch,-nlevsno+1:nlevsoi))     allocate (rbuf2dp(-nlevsno+1:nlevsoi,begpatch:endpatch))    if (masterproc) then       call wrap_inq_varid (ncid, 'H2OSOI_ICE_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf2dl)    endif    call land_to_patch (rbuf2dl, rbuf2dp, nlevsno+nlevsoi)    do k = begpatch,endpatch       clm(k)%h2osoi_ice(-nlevsno+1:nlevsoi) = rbuf2dp(-nlevsno+1:nlevsoi,k)    end do    deallocate (rbuf2dl)    deallocate (rbuf2dp)        ! Read in t_soisno    allocate (rbuf2dl(numland,maxpatch,-nlevsno+1:nlevsoi))     allocate (rbuf2dp(-nlevsno+1:nlevsoi,begpatch:endpatch))    if (masterproc) then       call wrap_inq_varid (ncid, 'T_SOISNO_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf2dl)    endif    call land_to_patch (rbuf2dl, rbuf2dp, nlevsno+nlevsoi)    do k = begpatch,endpatch       clm(k)%t_soisno(-nlevsno+1:nlevsoi) = rbuf2dp(-nlevsno+1:nlevsoi,k)    end do    deallocate (rbuf2dl)    deallocate (rbuf2dp)        ! Read in t_lake    allocate(rbuf2dl(numland,maxpatch,1:nlevlak))    allocate(rbuf2dp(1:nlevlak,begpatch:endpatch))    if (masterproc) then       call wrap_inq_varid (ncid, 'T_LAKE_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf2dl)    endif    call land_to_patch (rbuf2dl, rbuf2dp, nlevlak)    do k = begpatch,endpatch       clm(k)%t_lake(1:nlevlak) = rbuf2dp(1:nlevlak,k)    end do    deallocate (rbuf2dl)    deallocate (rbuf2dp)        ! Read in t_veg    if (masterproc) then       call wrap_inq_varid (ncid, 'T_VEG_INI', varid)       call wrap_get_var_realx (ncid, varid, rbuf1dl)    endif    call land_to_patch (rbuf1dl, rbuf1dp)    do k = begpatch,endpatch       clm(k)%t_veg  = rbuf1dp(k)    end do        ! Read in t_grnd    if (masterproc) then       call wrap_inq_varid (ncid, 'T_GRND_INI', varid)       call wrap_get_var_realx (ncid, varid, rbuf1dl)    endif    call land_to_patch (rbuf1dl, rbuf1dp)    do k = begpatch,endpatch       clm(k)%t_grnd = rbuf1dp(k)    end do        ! Read in h2ocan    if (masterproc) then       call wrap_inq_varid (ncid, 'H2OCAN_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf1dl)    endif    call land_to_patch (rbuf1dl, rbuf1dp)    do k = begpatch,endpatch       clm(k)%h2ocan = rbuf1dp(k)    end do    ! Read in h2osno    if (masterproc) then       call wrap_inq_varid (ncid, 'H2OSNO_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf1dl)    endif    call land_to_patch (rbuf1dl, rbuf1dp)    do k = begpatch,endpatch       clm(k)%h2osno = rbuf1dp(k)    end do        ! Read in snowdp    if (masterproc) then       call wrap_inq_varid (ncid, 'SNOWDP_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf1dl)    endif    call land_to_patch (rbuf1dl, rbuf1dp)    do k = begpatch,endpatch       clm(k)%snowdp = rbuf1dp(k)    end do        ! Read in snowage    if (masterproc) then       call wrap_inq_varid (ncid, 'SNOWAGE_INI', varid)       call wrap_get_var_realx(ncid, varid, rbuf1dl)    endif    call land_to_patch (rbuf1dl, rbuf1dp)    do k = begpatch,endpatch       clm(k)%snowage= rbuf1dp(k)    end do        ! Read in snlsno    if (masterproc) then       call wrap_inq_varid (ncid, 'SNLSNO_INI', varid)       call wrap_get_var_int(ncid, varid, ibuf1dl)    endif    call land_to_patch (ibuf1dl, ibuf1dp)    do k = begpatch,endpatch       clm(k)%snl = ibuf1dp(k)    end do#if (defined RTM)    if (masterproc) then       ret = nf_inq_varid (ncid, 'RTMVOLR', varid)       if (ret == NF_NOERR) then          write(6,*)'INICFILE: reading in river volr'          call wrap_get_var_realx(ncid, varid, volr)       endif    endif#endif    deallocate (ibuf1dl)    deallocate (rbuf1dl)    deallocate (ibuf1dp)    deallocate (rbuf1dp)    return  end subroutine inicrd!=======================================================================  subroutine inicwrt ()!----------------------------------------------------------------------- ! Purpose: ! write initial data to netCDF history file!! Method: 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产三级精品| 成人黄色网址在线观看| 久久一夜天堂av一区二区三区| 成人一区二区三区视频| 日韩国产精品91| 中文字幕一区在线观看| 精品国产伦一区二区三区观看体验| www.欧美.com| 国内久久精品视频| 亚洲成人久久影院| 欧美经典一区二区| 精品久久久久香蕉网| 在线观看免费视频综合| 国产成人福利片| 美女性感视频久久| 亚洲超碰精品一区二区| 中文字幕一区二| 国产视频不卡一区| 日韩精品一区二区三区视频播放| 欧美日韩第一区日日骚| 91在线视频官网| 成人18视频日本| 国产精品一区二区久久不卡 | 亚洲国产综合视频在线观看| 久久久久久久电影| 日韩一级在线观看| 欧美日韩1234| 欧美色欧美亚洲另类二区| 福利电影一区二区| 国产成a人无v码亚洲福利| 久久99精品久久久| 日本vs亚洲vs韩国一区三区| 亚洲国产精品久久久久婷婷884| 亚洲三级视频在线观看| 亚洲国产高清在线| 中文在线资源观看网站视频免费不卡| 精品国产第一区二区三区观看体验 | 欧美α欧美αv大片| 日韩三级中文字幕| 欧美一区二区在线看| 欧美日韩国产高清一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 奇米影视7777精品一区二区| 天天影视涩香欲综合网 | 亚洲成人av一区二区| 一区二区三区四区中文字幕| 亚洲精品免费看| 一区二区三区色| 午夜天堂影视香蕉久久| 婷婷国产在线综合| 久久99久久精品| 国产99久久久久| aaa亚洲精品| 在线观看成人小视频| 欧美日韩一区成人| 日韩精品综合一本久道在线视频| 精品久久久久久久久久久久久久久久久 | 久久av中文字幕片| 狠狠色狠狠色综合系列| 国产成人在线看| av中文一区二区三区| 在线亚洲+欧美+日本专区| 欧美午夜电影网| 精品伦理精品一区| 国产调教视频一区| 亚洲综合色成人| 久久国产乱子精品免费女| 国产精品一级二级三级| 91丝袜美女网| 欧美日韩一区二区欧美激情| 欧美sm美女调教| 亚洲日本乱码在线观看| 日本中文字幕不卡| 大桥未久av一区二区三区中文| 在线影视一区二区三区| 日韩三级免费观看| 国产精品国产成人国产三级| 一级特黄大欧美久久久| 久久99久国产精品黄毛片色诱| 成人福利视频在线| 欧美日韩精品一区二区天天拍小说| 久久夜色精品国产噜噜av| 亚洲女与黑人做爰| 狠狠色狠狠色合久久伊人| 91首页免费视频| 日韩欧美一区中文| 亚洲人成在线观看一区二区| 青青草97国产精品免费观看无弹窗版| 成人毛片在线观看| 欧美区在线观看| 中文字幕在线播放不卡一区| 久久国产夜色精品鲁鲁99| 99久久精品费精品国产一区二区| 日韩欧美电影在线| 樱桃国产成人精品视频| 国产精品夜夜爽| 91精选在线观看| 亚洲少妇中出一区| 国产成人在线免费观看| 在线不卡中文字幕| 日韩毛片一二三区| 国产剧情av麻豆香蕉精品| 777久久久精品| 亚洲精品伦理在线| 成人18精品视频| 久久综合九色综合久久久精品综合 | 亚洲成av人综合在线观看| 国产成人三级在线观看| 日韩亚洲国产中文字幕欧美| 亚洲精品国产a| 99久久婷婷国产| 国产拍揄自揄精品视频麻豆| 天天综合日日夜夜精品| 91福利精品视频| 亚洲同性gay激情无套| 国产福利精品一区二区| 亚洲精品在线观看网站| 秋霞电影网一区二区| 欧美日韩在线播放一区| 亚洲欧美另类小说视频| 成人在线视频一区| 久久先锋资源网| 麻豆极品一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 一级做a爱片久久| 色视频一区二区| 亚洲美女淫视频| 91在线观看视频| 亚洲欧洲日产国产综合网| 国产宾馆实践打屁股91| 久久久精品tv| 成人妖精视频yjsp地址| 国产亚洲女人久久久久毛片| 国产裸体歌舞团一区二区| 欧美mv日韩mv亚洲| 麻豆91在线看| 精品国产一区二区三区忘忧草| 免费成人在线网站| 日韩免费视频线观看| 久久精品72免费观看| 久久先锋影音av鲁色资源网| 国产精品影视在线观看| 久久中文娱乐网| 国产宾馆实践打屁股91| 国产精品乱人伦一区二区| 波多野结衣91| 亚洲激情自拍视频| 欧洲视频一区二区| 丝袜诱惑制服诱惑色一区在线观看 | 日韩精品一区二区三区在线观看| 久久国产精品一区二区| 久久久久久亚洲综合影院红桃| 高清不卡一二三区| 中文字幕在线观看一区| 91福利视频久久久久| 日韩在线观看一区二区| 日韩欧美在线综合网| 国产黄色精品网站| 中文字幕一区二区在线播放| 在线观看视频欧美| 日本一区中文字幕| 久久久久久久一区| av色综合久久天堂av综合| 亚洲午夜免费视频| 精品国产一区二区亚洲人成毛片 | 高清国产一区二区| 亚洲精品福利视频网站| 7777精品久久久大香线蕉| 国产美女精品人人做人人爽| 成人欧美一区二区三区黑人麻豆| 欧美日韩一区成人| 国产剧情在线观看一区二区| 伊人夜夜躁av伊人久久| 欧美成人video| 91免费观看在线| 免费国产亚洲视频| 国产精品不卡在线| 91精品国产综合久久香蕉麻豆| 国产在线看一区| 亚洲综合av网| 久久日韩精品一区二区五区| 在线视频一区二区三| 久久精品国产99久久6| 亚洲精品中文在线影院| 精品国产青草久久久久福利| 91麻豆成人久久精品二区三区| 美日韩一区二区| 亚洲综合免费观看高清完整版| 精品国产三级电影在线观看| 一本高清dvd不卡在线观看| 久久精品99国产精品日本| 亚洲欧美自拍偷拍色图| 精品美女被调教视频大全网站| 色综合天天综合网天天看片| 精品一区二区三区在线观看| 亚洲国产aⅴ成人精品无吗| 欧美高清在线一区| 日韩免费一区二区三区在线播放| 日本黄色一区二区| 成人在线一区二区三区|