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

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

?? surffilemod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 3 頁
字號:
                call endrun             else                longxy(i,j) = cam_longxy(i,j)             endif             if (cam_numlon(j) /= numlon(j)) then                                 write(6,*)'CAM numlon array different from input CLM2 value'                 write(6,*)'lat index= ',j,' cam numlon= ',cam_numlon(j), &                     ' clm2 numlon= ',numlon(j)                call endrun             else if (cam_landmask(i,j) /= landmask(i,j)) then                         write(6,*)'CAM land mask different from input CLM2 value'                 write(6,*)'lat index= ',j,' lon index= ',i,&                     ' cam landmask= ',cam_landmask(i,j),' clm2 landmask= ',landmask(i,j)                call endrun             elseif (cam_landfrac(i,j) /= landfrac(i,j)) then                write(6,*)'CAM fractional land different from CLM2 value'                 write(6,*)'lat index= ',j,' lon index= ',i,&                     ' cam landmask= ',cam_landfrac(i,j),' clm2 landfrac= ',landfrac(i,j)                call endrun             endif          end do       end do       call celledge (lsmlat, lsmlon, numlon, longxy, latixy, &                      lats  , lonw  )       call cellarea (lsmlat, lsmlon, numlon, lats, lonw, &                      area   )  #endif   ! Error check: valid PFTs and sum of cover must equal 100       sumvec(:,:) = abs(sum(pctpft,dim=3)-100.)       do j=1,lsmlat          do i=1,numlon(j)             do m = 1, maxpatch_pft                if (pft(i,j,m)<0 .or. pft(i,j,m)>numpft) then                   write(6,*)'SURFRD error: invalid PFT for i,j,m=',i,j,m,pft(i,j,m)                   call endrun                end if             end do             if (sumvec(i,j)>1.e-04 .and. landmask(i,j)==1) then                write(6,*)'SURFRD error: PFT cover ne 100 for i,j=',i,j                do m=1,maxpatch_pft                   write(6,*)'m= ',m,' pft= ',pft(i,j,m)                end do                write(6,*)'sumvec= ',sumvec(i,j)                call endrun             end if          end do       end do! Error check: percent glacier, lake, wetland, urban sum must be less than 100       do j=1,lsmlat          do i=1,numlon(j)             sumscl = pctlak(i,j)+pctwet(i,j)+pcturb(i,j)+pctgla(i,j)             if (sumscl > 100.+1.e-04) then                write(6,*)'SURFRD error: PFT cover>100 for i,j=',i,j                call endrun             end if          end do       end do! Check that urban parameterization is not yet implemented       do j=1,lsmlat          do i=1,numlon(j)             if (pcturb(i,j) /= 0.) then                write (6,*) 'urban parameterization not yet implemented'                call endrun             end if          end do       end do    endif                     !end of if-masterproc block#if ( defined SPMD )#if (defined OFFLINE)    call mpi_bcast (lsmedge , size(lsmedge) , mpir8 , 0, mpicom, ier)    call mpi_bcast (lats    , size(lats)    , mpir8 , 0, mpicom, ier)    call mpi_bcast (lonw    , size(lonw)    , mpir8 , 0, mpicom, ier)    call mpi_bcast (area    , size(area)    , mpir8 , 0, mpicom, ier)#endif    call mpi_bcast (numlon  , size(numlon)  , mpiint, 0, mpicom, ier)    call mpi_bcast (latixy  , size(latixy)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (longxy  , size(longxy)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (landmask, size(landmask), mpiint, 0, mpicom, ier)    call mpi_bcast (landfrac, size(landfrac), mpir8 , 0, mpicom, ier)    call mpi_bcast (soic2d  , size(soic2d)  , mpiint, 0, mpicom, ier)    call mpi_bcast (sand3d  , size(sand3d)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (clay3d  , size(clay3d)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (pctwet  , size(pctwet)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (pctlak  , size(pctlak)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (pctgla  , size(pctgla)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (pcturb  , size(pcturb)  , mpir8 , 0, mpicom, ier)    call mpi_bcast (pft     , size(pft)     , mpiint, 0, mpicom, ier)    call mpi_bcast (pctpft  , size(pctpft)  , mpir8 , 0, mpicom, ier)#endif! Make patch arrays, [veg] and [wt]:! [veg] sets the PFT for each of the [maxpatch] patches on the 2d model grid.! [wt]  sets the relative abundance of the PFT on the 2d model grid.! Fill in PFTs for vegetated portion of grid cell. Fractional areas for! these points [pctpft] pertain to "vegetated" area not to total grid area.! So need to adjust them for fraction of grid that is vegetated.! Next, fill in urban, lake, wetland, and glacier patches.    veg(:,:,:) = 0    wt(:,:,:)  = 0.    do j=1,lsmlat       do i=1,numlon(j)          if (landmask(i,j) == 1) then             sumscl = pcturb(i,j)+pctlak(i,j)+pctwet(i,j)+pctgla(i,j)             do m = 1, maxpatch_pft                veg(i,j,m) = pft(i,j,m)                wt(i,j,m) = pctpft(i,j,m) * (100.-sumscl)/10000.             end do             veg(i,j,npatch_urban) = noveg             wt(i,j,npatch_urban) = pcturb(i,j)/100.             veg(i,j,npatch_lake) = noveg             wt(i,j,npatch_lake) = pctlak(i,j)/100.             veg(i,j,npatch_wet) = noveg             wt(i,j,npatch_wet) = pctwet(i,j)/100.             veg(i,j,npatch_gla) = noveg             wt(i,j,npatch_gla) = pctgla(i,j)/100.          end if       end do    end do    sumvec(:,:) = abs(sum(wt,dim=3)-1.)    do j=1,lsmlat       do i=1,numlon(j)          if (sumvec(i,j) > 1.e-06 .and. landmask(i,j)==1) then             write (6,*) 'SURFRD error: WT > 1 occurs at i,j= ',i,j              call endrun          endif       end do    end do    if ( masterproc )then       write (6,*) 'Successfully read surface boundary data'       write (6,*)    end if    return  end subroutine surfrd!=======================================================================  subroutine surfwrt(fname, pft, pctpft, mlai, msai, mhgtt, mhgtb)!----------------------------------------------------------------------- ! ! Purpose: ! Write surface data file!! Method: ! ! Author: Mariana Vertenstein!! -----------------------------------------------------------------    use precision    use clm_varpar               use clm_varsur               use clm_varctl    use fileutils, only : get_filename    implicit none    include 'netcdf.inc'! ------------------------ arguments ------------------------------    character(len=*), intent(in) :: fname                        !filename to create    integer , intent(in) :: pft(lsmlon,lsmlat,maxpatch_pft)      !vegetation type    real(r8), intent(in) :: pctpft(lsmlon,lsmlat,maxpatch_pft)   !vegetation type subgrid weights    real(r8), intent(in) :: mlai (lsmlon,lsmlat,maxpatch_pft,12) !monthly lai    real(r8), intent(in) :: msai (lsmlon,lsmlat,maxpatch_pft,12) !monthly sai    real(r8), intent(in) :: mhgtt(lsmlon,lsmlat,maxpatch_pft,12) !monthly hgt at top    real(r8), intent(in) :: mhgtb(lsmlon,lsmlat,maxpatch_pft,12) !monthly hgt at bottom! -----------------------------------------------------------------! ------------------------ local variables ------------------------    integer i,m                  !indices    integer ncid                 !netcdf id    integer omode                !netcdf output mode    integer ret                  !netcdf return status    integer dimtim_id            !id for time dimension    integer dimlon_id            !id for grid longitude     integer dimlat_id            !id for grid latitude     integer dimlev_id            !id for soil layer dimension    integer dimpft_id            !id for plft    integer dimstr_id            !id for character string variables#if (defined OFFLINE)    integer edgen_id             !variable id    integer edgee_id             !variable id      integer edges_id             !variable id    integer edgew_id             !variable id#endif    integer longxy_id            !variable id    integer latixy_id            !variable id    integer numlon_id            !variable id    integer landmask_id          !variable id    integer landfrac_id          !variable id    integer soic2d_id            !variable id    integer sand3d_id            !variable id    integer clay3d_id            !variable id    integer pctlak_id            !variable id    integer pctwet_id            !variable id    integer pctgla_id            !variable id    integer pcturb_id            !variable id    integer pft_id               !variable id    integer pctpft_id            !variable id    integer mlai_id              !variable id    integer msai_id              !variable id    integer mhgtt_id             !variable id     integer mhgtb_id             !variable id    integer dim1_id(1)           !dim id for 1-d variables    integer dim2_id(2)           !dim id for 2-d variables    integer dim3_id(3)           !dim id for 3-d variables    integer dim4_id(4)           !dim id for 3-d variables    integer beg4d(4),len4d(4)    !netCDF variable edges    character(len=256) str       !global attribute string     character(len=256) name      !name of attribute    character(len=256) unit      !units of attribute    integer values(8)    character(len=18) datetime    character(len= 8) date    character(len=10) time    character(len= 5) zone! -----------------------------------------------------------------! Create new netCDF file. File will be in define mode! Set fill mode to "no fill" to optimize performance    call wrap_create (trim(fname), nf_clobber, ncid)    ret = nf_set_fill (ncid, nf_nofill, omode)    if (ret .ne. nf_noerr) then       write (6,*) ' netCDF error = ',nf_strerror(ret)       call endrun    end if! Create global attributes. Attributes are used to store information! about the data set. Global attributes are information about the! data set as a whole, as opposed to a single variable    str = 'NCAR-CSM'    call wrap_put_att_text (ncid, NF_GLOBAL, 'Conventions', trim(str))    call date_and_time (date, time, zone, values)    datetime(1:8) =        date(5:6) // '/' // date(7:8) // '/' // date(3:4)    datetime(9:)  = ' ' // time(1:2) // ':' // time(3:4) // ':' // time(5:6) // ' '    str = 'created on: ' // datetime     call wrap_put_att_text (ncid, NF_GLOBAL, 'History', trim(str))    call getenv ('LOGNAME', str)    call wrap_put_att_text (ncid, NF_GLOBAL, 'Logname',trim(str))    call getenv ('HOST', str)    call wrap_put_att_text (ncid, NF_GLOBAL, 'Host', trim(str))    str = 'Community Land Model: CLM2'    call wrap_put_att_text (ncid, NF_GLOBAL, 'Source', trim(str))    str = '$Name: cam2_0_brnchT_release3 $'     call wrap_put_att_text (ncid, NF_GLOBAL, 'Version', trim(str))    str = '$Id: surfFileMod.F90,v 1.13.2.4.6.1 2002/05/13 19:25:08 erik Exp $'    call wrap_put_att_text (ncid, NF_GLOBAL, 'Revision_Id', trim(str))    if (offline_rdgrid) then       str = mksrf_offline_fgrid       call wrap_put_att_text(ncid, NF_GLOBAL, 'Input_grid_dataset', trim(str))    else       str = mksrf_offline_fnavyoro

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日产精品久久久久久久性色| 国产欧美一区二区在线| 亚洲一本大道在线| 色吧成人激情小说| 亚洲国产精品一区二区久久恐怖片 | 欧洲人成人精品| 亚洲v日本v欧美v久久精品| 欧美久久久久久久久久| 蜜桃一区二区三区在线观看| www欧美成人18+| 99久久精品国产一区| 亚洲成年人影院| 日韩天堂在线观看| 成人18精品视频| 图片区小说区区亚洲影院| 欧美精品一区二区三区蜜桃| 国产超碰在线一区| 亚洲成人av福利| 日本一区二区三区免费乱视频| 91视频在线看| 美脚の诱脚舐め脚责91| 亚洲欧洲成人自拍| 宅男噜噜噜66一区二区66| 国产1区2区3区精品美女| 亚洲午夜影视影院在线观看| 久久综合色之久久综合| 一本到不卡免费一区二区| 奇米影视一区二区三区| 国产精品系列在线| 欧美久久久一区| 99久久国产综合精品色伊| 日本vs亚洲vs韩国一区三区| 亚洲天堂久久久久久久| 日韩欧美亚洲国产另类| 色综合咪咪久久| 国内成人精品2018免费看| 亚洲嫩草精品久久| 久久久蜜桃精品| 欧美精品一二三| 91在线精品秘密一区二区| 激情小说欧美图片| 亚洲一区在线观看网站| 亚洲国产高清aⅴ视频| 91精品国产美女浴室洗澡无遮挡| a在线欧美一区| 国产乱子伦一区二区三区国色天香| 一区二区三区在线免费播放| 久久精品一区四区| 欧美一区二区三区播放老司机| www.亚洲精品| 国产伦精品一区二区三区免费 | hitomi一区二区三区精品| 九色综合狠狠综合久久| 亚洲第一在线综合网站| 亚洲色图在线播放| 国产女同互慰高潮91漫画| 日韩欧美一级片| 91精品综合久久久久久| 91官网在线免费观看| 成人av电影在线观看| 国产精品一线二线三线| 精品一区二区三区av| 久久精品国产亚洲aⅴ| 日韩高清一级片| 午夜日韩在线观看| 亚洲综合无码一区二区| 伊人色综合久久天天人手人婷| 日本一区二区三区四区在线视频| 精品国产99国产精品| 日韩欧美国产午夜精品| 这里只有精品电影| 91精品国产入口| 日韩一区二区三区电影在线观看 | 欧美日韩卡一卡二| 欧美色视频在线| 欧美日韩国产高清一区| 欧美伊人久久大香线蕉综合69| 色婷婷一区二区| 99精品国产99久久久久久白柏| 成人高清免费在线播放| 91免费小视频| 在线观看www91| 欧美老女人在线| 日韩美一区二区三区| 欧美成人vps| 国产婷婷色一区二区三区| 国产精品美日韩| 自拍偷拍欧美精品| 亚洲国产日韩av| 日本vs亚洲vs韩国一区三区| 精彩视频一区二区三区| 国产成人精品网址| 97久久精品人人爽人人爽蜜臀| 91麻豆自制传媒国产之光| 欧美性色综合网| 日韩视频一区二区三区在线播放 | 欧美美女bb生活片| 日韩三区在线观看| 久久综合精品国产一区二区三区| 久久久久久久久97黄色工厂| 中文字幕一区三区| 亚洲成人av福利| 国产在线精品视频| 99久久综合99久久综合网站| 欧美日韩成人激情| 久久亚洲精华国产精华液| 亚洲视频 欧洲视频| 亚洲国产人成综合网站| 国产一区二区成人久久免费影院| 91婷婷韩国欧美一区二区| 7777精品伊人久久久大香线蕉完整版| 日韩欧美亚洲另类制服综合在线| 中文字幕 久热精品 视频在线| 亚洲自拍偷拍麻豆| 国产精品一区二区免费不卡| 91精品福利视频| 欧美xxx久久| 亚洲柠檬福利资源导航| 久久99热国产| 欧美三级三级三级| 久久久亚洲综合| 五月激情丁香一区二区三区| 丰满放荡岳乱妇91ww| 制服丝袜中文字幕亚洲| 亚洲欧洲一区二区在线播放| 久久精品久久精品| 色天天综合色天天久久| 久久嫩草精品久久久精品| 亚洲一区二区av在线| 成人丝袜18视频在线观看| 欧美伦理影视网| 亚洲你懂的在线视频| 国产a久久麻豆| 欧美电影免费观看高清完整版在线 | 国产一区二区视频在线| 在线免费av一区| 国产精品久久久久久久午夜片| 日本成人在线看| 欧美日韩激情一区二区| 亚洲人快播电影网| 国产成人自拍在线| 欧美不卡视频一区| 日韩在线a电影| 91福利在线免费观看| 国产精品久久久久久久午夜片 | 成人免费在线播放视频| 国产伦精品一区二区三区免费 | 国产精品欧美经典| 精品在线播放午夜| 欧美一级在线视频| 午夜精品久久久久久久久久久| 成人免费视频一区| 欧美精品一区二区三区久久久| 日韩精品一二三四| 欧美日韩国产不卡| 午夜激情一区二区三区| 欧美系列一区二区| 亚洲成人福利片| 欧美性高清videossexo| 亚洲成人动漫一区| 欧美精选一区二区| 日韩电影免费在线| 欧美精品久久天天躁| 天堂在线一区二区| 91精品国产综合久久久久久久| 午夜久久久久久久久| 欧美久久高跟鞋激| 日本欧美韩国一区三区| 欧美一区二区黄色| 久久精品国产精品亚洲精品| 日韩三级电影网址| 精品无码三级在线观看视频| 久久久久久亚洲综合| 成人午夜视频在线| 亚洲人精品一区| 欧美日韩精品欧美日韩精品一| 日韩不卡一二三区| 欧美精品一区二区久久婷婷| 国产精品羞羞答答xxdd| 国产精品国产三级国产| 在线免费观看日本一区| 亚洲国产精品欧美一二99| 91麻豆精品国产91久久久使用方法| 青青草97国产精品免费观看 | 欧美喷潮久久久xxxxx| 日韩成人精品在线| 欧美成人激情免费网| 成人精品鲁一区一区二区| 亚洲乱码国产乱码精品精98午夜| 欧亚一区二区三区| 毛片不卡一区二区| 国产婷婷一区二区| 欧美亚男人的天堂| 久久99久久精品| 自拍偷拍欧美激情| 日韩美女主播在线视频一区二区三区| 国产精品99精品久久免费| 亚洲一区二区三区国产| 欧美精品一区二区三区久久久| 色综合一区二区三区|