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

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

?? 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: 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天综合网天天综合色| 国产精品污污网站在线观看| 国产制服丝袜一区| 亚洲视频免费看| 日韩精品专区在线影院重磅| 丁香一区二区三区| 午夜精品影院在线观看| **性色生活片久久毛片| 精品国产91乱码一区二区三区 | 日本高清成人免费播放| 麻豆精品国产91久久久久久| 一区二区视频免费在线观看| 久久久久亚洲蜜桃| 欧美精品一二三区| 在线精品视频免费播放| 成人久久视频在线观看| 久久精品国产色蜜蜜麻豆| 午夜精品一区二区三区电影天堂 | 99久久综合99久久综合网站| 国产精品一区二区在线播放| 三级亚洲高清视频| 亚洲一二三四在线| 18欧美亚洲精品| 国产精品的网站| 久久精品夜夜夜夜久久| 日韩欧美一区二区在线视频| 国产精品毛片a∨一区二区三区| 国产福利一区在线观看| 日韩电影在线一区二区| 一区二区三区高清不卡| 国产精品日日摸夜夜摸av| 欧美人伦禁忌dvd放荡欲情| 欧美综合在线视频| 91官网在线免费观看| 色视频成人在线观看免| 91福利社在线观看| 91黄色免费网站| 91色porny蝌蚪| 日本高清成人免费播放| 在线看国产日韩| 91视频com| 91香蕉国产在线观看软件| 粗大黑人巨茎大战欧美成人| 国产成人日日夜夜| 免费成人在线观看| 韩国精品一区二区| 国产成人夜色高潮福利影视| 国产精品一线二线三线精华| 国产成人鲁色资源国产91色综 | 在线观看亚洲精品| 欧美视频在线不卡| 91精品国产91久久久久久最新毛片| 777亚洲妇女| 精品国一区二区三区| 国产色产综合产在线视频| 国产亚洲1区2区3区| 国产精品久久久久久久久久久免费看| 亚洲欧洲日韩在线| 亚洲综合清纯丝袜自拍| 日韩中文字幕91| 国模少妇一区二区三区| 成人激情免费视频| 欧美色网一区二区| 欧美本精品男人aⅴ天堂| 久久先锋影音av鲁色资源 | 五月激情综合色| 毛片av中文字幕一区二区| 国产精品一区二区三区99| 91免费视频大全| 欧美精品自拍偷拍| 精品va天堂亚洲国产| 国产精品久线在线观看| 亚洲v精品v日韩v欧美v专区| 精品一区二区在线视频| caoporn国产精品| 欧美军同video69gay| 精品乱人伦一区二区三区| 亚洲欧洲99久久| 免费观看30秒视频久久| eeuss鲁片一区二区三区在线看| 欧美视频一区二区三区| 久久久久久亚洲综合影院红桃| 亚洲乱码国产乱码精品精98午夜| 人禽交欧美网站| 99精品视频在线免费观看| 51久久夜色精品国产麻豆| 欧美韩日一区二区三区| 一区二区三区在线视频免费观看| 欧美吻胸吃奶大尺度电影 | 中文字幕av不卡| 亚洲成av人片在www色猫咪| 国产剧情一区二区| 欧美日韩一级片在线观看| 久久久噜噜噜久久人人看| 亚洲国产cao| 成人免费av资源| 日韩一区二区在线免费观看| 国产精品国产三级国产aⅴ无密码| 日韩国产高清影视| 91在线精品秘密一区二区| 日韩视频一区二区在线观看| 1区2区3区欧美| 国产精品一区二区男女羞羞无遮挡| 欧洲精品一区二区三区在线观看| 日本一区二区三区四区| 青青草国产精品亚洲专区无| 欧美羞羞免费网站| 亚洲精品五月天| 99在线热播精品免费| 久久综合九色综合欧美98| 日韩国产欧美三级| 在线免费观看日本欧美| 国产精品电影院| 国产九色sp调教91| 9191精品国产综合久久久久久 | 日韩高清在线电影| 91福利社在线观看| 中文字幕在线不卡一区| 狠狠色丁香久久婷婷综合丁香| 69久久99精品久久久久婷婷| 国产精品国产馆在线真实露脸| 国产精品一级片| 久久综合丝袜日本网| 日本不卡免费在线视频| 777午夜精品免费视频| 亚洲成人激情av| 欧美私模裸体表演在线观看| 亚洲精品美国一| 成人sese在线| 国产精品麻豆一区二区| 国产91精品一区二区麻豆网站| 欧美成人官网二区| 激情五月婷婷综合网| 日韩欧美一级片| 久久av资源网| 欧美成人精品3d动漫h| 国模大尺度一区二区三区| 久久综合久久鬼色| 国产精品一区在线| 国产精品黄色在线观看| 91原创在线视频| 亚洲精品午夜久久久| 精品国产亚洲一区二区三区在线观看| 国产成人精品三级麻豆| 欧美激情在线一区二区| 国产精品综合在线视频| 国产欧美日本一区二区三区| 成人免费毛片片v| 亚洲色图.com| 欧美性感一类影片在线播放| 亚洲一区二区三区在线| 这里只有精品电影| 精油按摩中文字幕久久| 国产亚洲人成网站| 色综合视频一区二区三区高清| 一区二区三区精品视频| 欧美日韩国产在线观看| 日韩成人精品在线观看| 精品久久五月天| 成人动漫在线一区| 偷窥少妇高潮呻吟av久久免费 | 日韩理论在线观看| 色网站国产精品| 日韩制服丝袜先锋影音| 精品成人一区二区三区| 成人av第一页| 婷婷丁香久久五月婷婷| 欧美va亚洲va香蕉在线| 国产高清在线观看免费不卡| 亚洲欧美色一区| 7777精品久久久大香线蕉| 国内外精品视频| 亚洲欧美欧美一区二区三区| 91精品国产综合久久久久久久久久 | 精品一区二区三区在线视频| 欧美国产精品中文字幕| 色av一区二区| 久久久精品影视| 久久不见久久见中文字幕免费| 国产亚洲精品资源在线26u| 91网站视频在线观看| 日本中文字幕不卡| 中文字幕精品一区二区精品绿巨人 | 日韩一区二区中文字幕| 97久久精品人人澡人人爽| 老司机精品视频线观看86| 亚洲色图视频免费播放| 欧美一区二区三区小说| 99久久婷婷国产综合精品电影| 日本欧美久久久久免费播放网| 日韩一区有码在线| 久久综合五月天婷婷伊人| 欧美午夜精品久久久久久超碰| 丰满亚洲少妇av| 老司机免费视频一区二区三区| 一区二区三区日韩| 国产日韩欧美不卡在线| 欧美变态tickle挠乳网站| 欧美日韩中文字幕一区二区| 从欧美一区二区三区|