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

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

?? convert_urban.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
program convert_urban  implicit none  include 'netcdf.inc'!-----------------------------------------------------------------! make surface type netcdf file!-----------------------------------------------------------------  integer, parameter :: r8 = selected_real_kind(12)! File specific settings  integer, parameter :: nlon = 720  !input grid : longitude points  integer, parameter :: nlat = 360  !input grid : latitude  points  real(r8) :: lon(nlon)                   !longitude dimension array (1d)  real(r8) :: lat(nlat)                   !latitude dimension array (1d)   real(r8) :: longxy(nlon,nlat)           !longitude dimension array (2d)          real(r8) :: latixy(nlon,nlat)           !longitude dimension array (2d)  real(r8) :: edge(4)                     !N,E,S,W edges of grid  real(r8) :: dx,dy                       !grid increments  real(r8) :: pct_urban(nlon,nlat)        !pct urban  real(r8) :: landmask(nlon,nlat)         !land mask  integer :: dimlon_id                    !netCDF dimension id  integer :: dimlat_id                    !netCDF dimension id  integer :: lon_id                       !1d longitude array id  integer :: lat_id                       !1d latitude array id  integer :: longxy_id                    !2d longitude array id  integer :: latixy_id                    !2d latitude array id  integer :: edgen_id                     !northern edge of grid (edge(1)) id  integer :: edgee_id                     !eastern  edge of grid (edge(2)) id  integer :: edges_id                     !southern edge of grid (edge(3)) id  integer :: edgew_id                     !western  edge of grid (edge(4)) id  integer :: pct_urban_id                 !percent urban id  integer :: landmask_id                  !landmask id  integer :: i,j                          !indicis  integer :: ndata = 1                    !input unit  integer :: ncid                         !netCDF file id  integer :: dim1_id(1)                   !netCDF dimension id for 1-d variables  integer :: dim2_id(2)                   !netCDF dimension id for 2-d variables  integer :: status                       !status  character(len=256) :: filei, fileo      !input,output filenames  character(len=256) :: name,unit         !netCDF attributes!-----------------------------------------------------------------! Determine input and output file names  filei = '/ptmp/slevis/lsmv2_2/input/0.5x0.5/urban.dat'  fileo = '/ptmp/slevis/lsmv2_2/input/0.5x0.5/mksrf_urban.nc'! -----------------------------------------------------------------! Determine grid for input data !! Data are 0.5 x 0.5 degree, stored in latitude bands,! from south to north. In a given latitude band, data begin! at dateline and proceed eastward. So first data! point (x(1,1)) is a box centered at 89.75S, 179.75W!!   89.5S  ---------------------!          |         |         |!          |    x    |    x    |!          |  (1,1)  |  (2,1)  |!          |         |         |!   90.0S  ---------------------!        180.W     179.5W    179.0W! -----------------------------------------------------------------! Define North, East, South, West edges of grid  edge(1) =   90.  edge(2) =  180.  edge(3) =  -90.  edge(4) = -180.! Make latitudes and longitudes at center of grid cell  dx = (edge(2)-edge(4)) / nlon  dy = (edge(1)-edge(3)) / nlat  do j = 1, nlat     do i = 1, nlon        latixy(i,j) = (edge(3)+dy/2.) + (j-1)*dy        longxy(i,j) = (edge(4)+dx/2.) + (i-1)*dx       end do  end do  lat(:) = latixy(1,:)  lon(:) = longxy(:,1)! -----------------------------------------------------------------! create netcdf file! -----------------------------------------------------------------  call wrap_create (fileo, nf_clobber, ncid)  call wrap_put_att_text (ncid, nf_global, 'data_type', 'pct_urban_data')! Define dimensions  call wrap_def_dim (ncid, 'lon' , nlon, dimlon_id)  call wrap_def_dim (ncid, 'lat' , nlat, dimlat_id)! Define input file independent variables   name = 'lon'  unit = 'degrees east'  dim1_id(1) = dimlon_id  call wrap_def_var (ncid,'LON', nf_float, 1, dim1_id, lon_id)  call wrap_put_att_text (ncid, lon_id, 'long_name', name)  call wrap_put_att_text (ncid, lon_id, 'units'    , unit)  name = 'lat'  unit = 'degrees north'  dim1_id(1) = dimlat_id  call wrap_def_var (ncid,'LAT', nf_float, 1, dim1_id, lat_id)  call wrap_put_att_text (ncid, lat_id, 'long_name', name)  call wrap_put_att_text (ncid, lat_id, 'units'    , unit)  name = 'longitude-2d'  unit = 'degrees east'  dim2_id(1) = dimlon_id  dim2_id(2) = dimlat_id  call wrap_def_var (ncid, 'LONGXY', nf_float, 2, dim2_id, longxy_id)  call wrap_put_att_text (ncid, longxy_id, 'long_name', name)  call wrap_put_att_text (ncid, longxy_id, 'units'    , unit)  name = 'latitude-2d'  unit = 'degrees north'  dim2_id(1) = dimlon_id  dim2_id(2) = dimlat_id  call wrap_def_var (ncid, 'LATIXY', nf_float, 2, dim2_id, latixy_id)  call wrap_put_att_text (ncid, latixy_id, 'long_name', name)  call wrap_put_att_text (ncid, latixy_id, 'units'    , unit)  name = 'northern edge of surface grid'  unit = 'degrees north'  call wrap_def_var (ncid, 'EDGEN', nf_float, 0, 0, edgen_id)  call wrap_put_att_text (ncid, edgen_id, 'long_name', name)  call wrap_put_att_text (ncid, edgen_id, 'units'    , unit)  name = 'eastern edge of surface grid'  unit = 'degrees east'  call wrap_def_var (ncid, 'EDGEE', nf_float, 0, 0, edgee_id)  call wrap_put_att_text (ncid, edgee_id, 'long_name', name)  call wrap_put_att_text (ncid, edgee_id, 'units'    , unit)  name = 'southern edge of surface grid'  unit = 'degrees north'  call wrap_def_var (ncid, 'EDGES', nf_float, 0, 0, edges_id)  call wrap_put_att_text (ncid, edges_id, 'long_name', name)  call wrap_put_att_text (ncid, edges_id, 'units'    , unit)  name = 'western edge of surface grid'  unit = 'degrees east'  call wrap_def_var (ncid, 'EDGEW', nf_float, 0, 0, edgew_id)  call wrap_put_att_text (ncid, edgew_id, 'long_name', name)  call wrap_put_att_text (ncid, edgew_id, 'units'    , unit)! Define input file specific variables  name = 'percent urban'  unit = 'unitless'  dim2_id(1) = lon_id  dim2_id(2) = lat_id  call wrap_def_var (ncid ,'PCT_URBAN' ,nf_float, 2, dim2_id, pct_urban_id)  call wrap_put_att_text (ncid, pct_urban_id, 'long_name', name)  call wrap_put_att_text (ncid, pct_urban_id, 'units'    , unit)  name = 'land mask'  unit = 'unitless'  call wrap_def_var (ncid ,'LANDMASK' ,nf_float, 2, dim2_id, landmask_id)  call wrap_put_att_text (ncid, landmask_id, 'long_name', name)  call wrap_put_att_text (ncid, landmask_id, 'units'    , unit)! End of definition  status = nf_enddef(ncid)! Read in formatted surface data  open (unit=ndata,file=trim(filei),status='unknown',form='formatted',iostat=status)  if (status .ne. 0) then     write (6,*)'failed to open ',trim(filei),' on unit ',ndata,' ierr=',status     stop  end if  do j = 1, nlat     do i = 1, nlon        read (ndata,*) pct_urban(i,j)        landmask(i,j) = 1.     end do  end do  close(ndata)! Create output file  call wrap_put_var_realx (ncid, lon_id      , lon)  call wrap_put_var_realx (ncid, lat_id      , lat)  call wrap_put_var_realx (ncid, longxy_id   , longxy)  call wrap_put_var_realx (ncid, latixy_id   , latixy)  call wrap_put_var_realx (ncid, edgen_id    , edge(1))  call wrap_put_var_realx (ncid, edgee_id    , edge(2))  call wrap_put_var_realx (ncid, edges_id    , edge(3))  call wrap_put_var_realx (ncid, edgew_id    , edge(4))  call wrap_put_var_realx (ncid, pct_urban_id, pct_urban)  call wrap_put_var_realx (ncid, landmask_id, landmask)  call wrap_close(ncid)end program convert_urban!===============================================================================subroutine wrap_create (path, cmode, ncid)  implicit none  include 'netcdf.inc'  integer, parameter :: r8 = selected_real_kind(12)  character(len=*) path  integer cmode, ncid, ret  ret = nf_create (path, cmode, ncid)  if (ret.ne.NF_NOERR) call handle_error (ret)end subroutine wrap_create!===============================================================================subroutine wrap_def_dim (nfid, dimname, len, dimid)  implicit none  include 'netcdf.inc'  integer, parameter :: r8 = selected_real_kind(12)  integer :: nfid, len, dimid  character(len=*) :: dimname  integer ret  ret = nf_def_dim (nfid, dimname, len, dimid)  if (ret.ne.NF_NOERR) call handle_error (ret)end subroutine wrap_def_dim!===============================================================================subroutine wrap_def_var (nfid, name, xtype, nvdims, vdims, varid)  implicit none  include 'netcdf.inc'  integer, parameter :: r8 = selected_real_kind(12)  integer :: nfid, xtype, nvdims, varid  integer :: vdims(nvdims)  character(len=*) :: name  integer ret  ret = nf_def_var (nfid, name, xtype, nvdims, vdims, varid)  if (ret.ne.NF_NOERR) call handle_error (ret)end subroutine wrap_def_var!===============================================================================subroutine wrap_put_att_text (nfid, varid, attname, atttext)  implicit none  include 'netcdf.inc'  integer, parameter :: r8 = selected_real_kind(12)  integer :: nfid, varid  character(len=*) :: attname, atttext  integer :: ret, siz  siz = len_trim(atttext)  ret = nf_put_att_text (nfid, varid, attname, siz, atttext)  if (ret.ne.NF_NOERR) call handle_error (ret)end subroutine wrap_put_att_text!===============================================================================subroutine wrap_put_var_realx (nfid, varid, arr)  implicit none  include 'netcdf.inc'  integer, parameter :: r8 = selected_real_kind(12)  integer :: nfid, varid  real(r8) :: arr(*)  integer :: ret#ifdef CRAY  ret = nf_put_var_real (nfid, varid, arr)#else  ret = nf_put_var_double (nfid, varid, arr)#endif  if (ret.ne.NF_NOERR) call handle_error (ret)end subroutine wrap_put_var_realx!===============================================================================subroutine wrap_put_var_int (nfid, varid, arr)  implicit none  include 'netcdf.inc'  integer, parameter :: r8 = selected_real_kind(12)  integer :: nfid, varid  integer :: arr(*)  integer :: ret  ret = nf_put_var_int (nfid, varid, arr)  if (ret.ne.NF_NOERR) call handle_error (ret)end subroutine wrap_put_var_int  !===============================================================================subroutine wrap_close (ncid)  implicit none  include 'netcdf.inc'  integer, parameter :: r8 = selected_real_kind(12)  integer :: ncid  integer :: ret  ret = nf_close (ncid)  if (ret.ne.NF_NOERR) then     write(6,*)'WRAP_CLOSE: nf_close failed for id ',ncid     call handle_error (ret)  end ifend subroutine wrap_close!===============================================================================subroutine handle_error(ret)  implicit none  include 'netcdf.inc'  integer :: ret  if (ret .ne. nf_noerr) then     write(6,*) 'NCDERR: ERROR: ',nf_strerror(ret)     call abort  endifend subroutine handle_error!===============================================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品伊人久久久久7777人| 欧美精品777| 欧美日本免费一区二区三区| 日韩欧美成人激情| 亚洲国产毛片aaaaa无费看| 国产美女精品一区二区三区| 欧美精品 日韩| 亚洲人123区| av亚洲精华国产精华精| 欧美电影免费观看高清完整版在| 亚洲一区二区三区小说| av网站免费线看精品| 精品国产91亚洲一区二区三区婷婷| 亚洲一区二区三区四区中文字幕| av不卡在线观看| 欧美激情在线一区二区| 国产毛片精品国产一区二区三区| 91精品国产综合久久久久久| 亚洲线精品一区二区三区| av不卡在线观看| 中文字幕日本乱码精品影院| 国产成a人亚洲| 久久天堂av综合合色蜜桃网| 久久se这里有精品| 日韩欧美色综合网站| 久久99久国产精品黄毛片色诱| 欧美电影一区二区| 日本中文字幕一区二区有限公司| 欧美日韩三级一区| 午夜精品一区二区三区免费视频| 在线视频国产一区| 亚洲小说欧美激情另类| 9191成人精品久久| 日本人妖一区二区| 日韩一区二区不卡| 韩国v欧美v亚洲v日本v| ww亚洲ww在线观看国产| 国产成人综合视频| 亚洲色图视频网站| 色天使久久综合网天天| 偷拍日韩校园综合在线| 精品日韩在线观看| 国产精品白丝av| ...av二区三区久久精品| 色综合久久天天| 亚洲国产精品人人做人人爽| 5月丁香婷婷综合| 蜜臀av一区二区| 国产日韩欧美一区二区三区综合| 成人精品视频一区二区三区| 亚洲欧美激情插 | 五月天久久比比资源色| 欧美理论电影在线| 国产在线播精品第三| 国产精品视频在线看| 一本色道**综合亚洲精品蜜桃冫| 亚洲福中文字幕伊人影院| 日韩一级片网站| 丁香一区二区三区| 亚洲国产精品久久久男人的天堂| 日韩欧美激情在线| av电影天堂一区二区在线| 亚洲成人av电影在线| www国产亚洲精品久久麻豆| www.欧美日韩| 免费久久99精品国产| 国产清纯美女被跳蛋高潮一区二区久久w | 九色综合国产一区二区三区| 欧美激情在线观看视频免费| 欧美无砖专区一中文字| 国产麻豆精品theporn| 一区二区成人在线观看| 欧美精品一区二区三区在线播放 | 99精品国产99久久久久久白柏| 亚洲自拍偷拍网站| 国产日韩欧美不卡| 欧美日韩国产中文| 国产精品99久久久久久宅男| 五月天一区二区| |精品福利一区二区三区| 亚洲精品一区二区三区影院 | 99热这里都是精品| 蓝色福利精品导航| 一区二区在线观看免费| 欧美精品一区二区三区在线播放| 欧美性三三影院| av资源站一区| 盗摄精品av一区二区三区| 青青草国产精品亚洲专区无| 亚洲综合一二三区| 中文字幕一区二区不卡| 久久精品一区二区| 日韩欧美一卡二卡| 欧美剧情片在线观看| 色婷婷久久一区二区三区麻豆| 国产一区二区三区| 久久99精品久久久久久国产越南| 天天综合天天做天天综合| 亚洲男人的天堂av| 18欧美乱大交hd1984| 国产人伦精品一区二区| 欧美变态口味重另类| 日韩欧美国产一区二区三区| 欧美日韩一区二区三区在线| 日本道在线观看一区二区| 99re热视频精品| 91麻豆精品在线观看| 99精品欧美一区二区三区小说| 丁香激情综合五月| 不卡的av电影| 99综合影院在线| 91在线观看污| 日本高清无吗v一区| 在线欧美日韩国产| 在线看一区二区| 欧美探花视频资源| 欧美精三区欧美精三区| 69精品人人人人| 欧美成人一区二区三区片免费 | 精品在线亚洲视频| 精品亚洲成av人在线观看| 激情丁香综合五月| 国产精品123区| 99久久婷婷国产| 91福利在线免费观看| 欧美日韩中文字幕精品| 日韩一区二区影院| 久久久高清一区二区三区| 日本一区二区视频在线| 亚洲欧美一区二区三区孕妇| 亚洲自拍偷拍麻豆| 久久精品久久久精品美女| 国产一区二区免费在线| 97超碰欧美中文字幕| 91福利在线观看| 日韩欧美aaaaaa| 国产精品久久久久久久久免费桃花 | 欧美一级免费大片| 久久综合色播五月| 中文字幕一区二区在线观看| 亚洲精品菠萝久久久久久久| 日韩精品免费专区| 激情亚洲综合在线| 91麻豆视频网站| 精品日韩欧美在线| 亚洲视频免费在线| 麻豆高清免费国产一区| 国产91精品久久久久久久网曝门| 91视频免费观看| 欧美岛国在线观看| 亚洲视频免费观看| 精品综合免费视频观看| 波多野结衣中文字幕一区二区三区| 欧美私模裸体表演在线观看| 久久综合久久鬼色| 亚洲成av人在线观看| 国产精品中文欧美| 欧美日韩卡一卡二| 中文字幕电影一区| 免费在线一区观看| 色综合色狠狠天天综合色| 欧美不卡在线视频| 亚洲五码中文字幕| 99视频有精品| 欧美成人一区二区三区片免费| 一区二区三区影院| 国产精品1区二区.| 日韩小视频在线观看专区| 亚洲精品视频自拍| 韩国v欧美v日本v亚洲v| 欧美福利视频导航| 亚洲欧美电影院| av一区二区不卡| 国产日产欧产精品推荐色| 蜜桃久久久久久| 欧美肥妇bbw| 亚洲成人免费av| 色婷婷综合久久久中文字幕| 国产精品免费视频网站| 激情丁香综合五月| 精品久久一区二区三区| 日韩精品一二区| 51精品国自产在线| 亚洲二区在线视频| 欧美亚洲高清一区二区三区不卡| 中文字幕一区视频| 高清不卡一区二区| 国产校园另类小说区| 韩国三级电影一区二区| 日韩一级成人av| 免费在线观看一区| 欧美一级免费观看| 免费精品视频最新在线| 在线播放91灌醉迷j高跟美女| 亚洲一本大道在线| 欧美日韩国产另类一区| 午夜伦欧美伦电影理论片| 欧美日韩中字一区| 日韩avvvv在线播放| 日韩精品最新网址|