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

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

?? convert_lanwat.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
program convert_lanwat  implicit none  include 'netcdf.inc'!-----------------------------------------------------------------! make surface type netcdf file!-----------------------------------------------------------------  integer, parameter :: r8 = selected_real_kind(12)! File specific settings  integer, parameter :: nlon = 360  !input grid : longitude points  integer, parameter :: nlat = 180  !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_lake(nlon,nlat)         !pct lake  real(r8) :: pct_wetland(nlon,nlat)      !pct wetland  real(r8) :: landmask(nlon,nlat)         !landmask  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_lake_id                  !pct_lake id  integer :: pct_wetland_id               !pct_wetland 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/lsminput/temp/cogley.dat'  fileo = '/ptmp/slevis/lsminput/temp/mksrf_lanwat.nc'! -----------------------------------------------------------------! Determine grid for input data !! Cogley's input data!! Data are 1 x 1 degree, stored in latitude bands,! from south to north. In a given latitude band, data begin! at Greenwich and proceed eastward. So first data! point (x(1,1)) is a box centered at 89.5S, 0.5E!!   89.0S  ---------------------!          |         |         |!          |    x    |    x    |!          |  (1,1)  |  (2,1)  |!          |         |         |!   90.0S  ---------------------!          0.       1.0E      2.0E! -----------------------------------------------------------------! Define North, East, South, West edges of grid  edge(1) =   90.  edge(2) =  360.  edge(3) =  -90.  edge(4) =    0.! 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', 'cogley_lanwat_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 percent lake and wetland variables  name = 'percent lake'  unit = 'unitless'  dim2_id(1) = lon_id  dim2_id(2) = lat_id  call wrap_def_var (ncid ,'PCT_LAKE' ,nf_float, 2, dim2_id, pct_lake_id)  call wrap_put_att_text (ncid, pct_lake_id, 'long_name', name)  call wrap_put_att_text (ncid, pct_lake_id, 'units'    , unit)  name = 'percent wetland'  unit = 'unitless'  dim2_id(1) = lon_id  dim2_id(2) = lat_id  call wrap_def_var (ncid ,'PCT_WETLAND' ,nf_float, 2, dim2_id, pct_wetland_id)  call wrap_put_att_text (ncid, pct_wetland_id, 'long_name', name)  call wrap_put_att_text (ncid, pct_wetland_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,*) landmask(i,j),pct_lake(i,j),pct_wetland(i,j)!       if (landmask(i,j) < 50.) then !landmask in cogley.dat doesn't incl lake        if ((landmask(i,j) + pct_lake(i,j)) < 50.) then           landmask(i,j) = 0.           pct_lake(i,j) = 0.           pct_wetland(i,j) = 0.        else           landmask(i,j) = 1.        end if     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_lake_id   , pct_lake)  call wrap_put_var_realx (ncid, pct_wetland_id, pct_wetland)  call wrap_put_var_realx (ncid, landmask_id   , landmask)  call wrap_close(ncid)end program convert_lanwat!===============================================================================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一区二区三区免费野_久草精品视频
av午夜精品一区二区三区| 国产欧美日韩激情| 国产人成一区二区三区影院| 国产精品精品国产色婷婷| 丝袜亚洲另类欧美综合| 国产福利一区在线观看| 欧美一区日本一区韩国一区| 亚洲欧美日韩国产手机在线 | 亚洲一区二区欧美激情| 国产一区亚洲一区| 欧美精选在线播放| 亚洲人成电影网站色mp4| 狠狠色丁香久久婷婷综| 91精品国产综合久久蜜臀 | 日韩vs国产vs欧美| 欧美在线一区二区| 亚洲免费资源在线播放| 波多野结衣一区二区三区| 国产欧美一区二区三区在线看蜜臀 | 午夜精品久久久久久| 91视频观看视频| 国产精品午夜在线观看| 国产一区二区三区观看| 日韩欧美亚洲国产另类| 婷婷久久综合九色综合绿巨人| 91蜜桃在线观看| 国产精品成人免费精品自在线观看 | 日韩av电影免费观看高清完整版 | 一区二区三区在线免费观看| 国精品**一区二区三区在线蜜桃| 欧美精品亚洲一区二区在线播放| 亚洲福利国产精品| 欧美午夜不卡视频| 一二三区精品视频| 欧美这里有精品| 亚洲123区在线观看| 欧美久久久久久久久中文字幕| 亚洲第一二三四区| 欧美伊人精品成人久久综合97| 一区二区三区在线播放| 欧美亚洲禁片免费| 亚洲va欧美va天堂v国产综合| 欧美电影在线免费观看| 蜜臀av国产精品久久久久| 欧美成人午夜电影| 国产福利一区二区三区视频在线| 国产精品久久久久影院亚瑟 | 99久久99久久精品免费看蜜桃| 国产精品二三区| 欧洲生活片亚洲生活在线观看| 日韩一区有码在线| 色婷婷亚洲综合| 亚洲成人免费av| 日韩欧美区一区二| 不卡电影一区二区三区| 亚洲蜜桃精久久久久久久| 欧美私人免费视频| 94-欧美-setu| 日韩va亚洲va欧美va久久| 精品国产伦一区二区三区免费| 国产成人在线色| 亚洲一区二区五区| 26uuuu精品一区二区| 成人高清视频免费观看| 亚洲午夜羞羞片| 久久网这里都是精品| 色哟哟一区二区在线观看| 免费成人在线视频观看| 中文字幕国产一区| 欧美日韩国产中文| 国产精品99久久久久久宅男| 亚洲男女一区二区三区| 欧美一级二级在线观看| 91免费视频网址| 国产精品亚洲一区二区三区在线| 一区二区三区丝袜| 久久蜜桃av一区精品变态类天堂| 色一情一伦一子一伦一区| 国产乱人伦偷精品视频免下载| 伊人性伊人情综合网| 国产三级精品在线| 6080yy午夜一二三区久久| a在线播放不卡| 久草精品在线观看| 天天av天天翘天天综合网| 国产日产亚洲精品系列| 日韩欧美的一区| 欧美日韩在线精品一区二区三区激情| 国产精品2024| 久久超碰97人人做人人爱| 亚洲免费在线视频一区 二区| 久久久国际精品| 欧美成va人片在线观看| 欧美日韩高清影院| 91麻豆免费视频| 丁香亚洲综合激情啪啪综合| 麻豆视频一区二区| 奇米一区二区三区av| 三级欧美在线一区| 午夜不卡av免费| 亚洲高清三级视频| 亚洲一区自拍偷拍| 亚洲精品中文在线观看| 亚洲色欲色欲www| 亚洲欧洲综合另类在线| 国产精品看片你懂得| 中文av字幕一区| 国产精品每日更新| 亚洲欧洲日本在线| 亚洲三级视频在线观看| 亚洲三级在线看| 亚洲一级二级在线| 亚洲国产综合视频在线观看| 亚洲精品美腿丝袜| 亚洲高清久久久| 五月婷婷另类国产| 青青国产91久久久久久| 奇米综合一区二区三区精品视频| 日韩在线卡一卡二| 精品写真视频在线观看| 精品一区二区精品| 国产成人在线视频免费播放| 国产精品99久久久久久宅男| 国产suv精品一区二区6| 国产不卡视频在线播放| 本田岬高潮一区二区三区| 91久久一区二区| 欧美日韩aaa| 精品国产露脸精彩对白| 国产拍揄自揄精品视频麻豆| 国产精品国产三级国产aⅴ入口| 亚洲美女视频在线| 日韩成人dvd| 国产精品白丝av| 色网站国产精品| 欧美一级日韩免费不卡| 国产欧美一区二区精品仙草咪 | 青青草国产成人av片免费| 韩国理伦片一区二区三区在线播放| 国产伦精品一区二区三区视频青涩 | www.日韩精品| 欧美日韩久久久| 精品国产乱子伦一区| 日本一区二区成人| 亚洲国产一二三| 国产精品一区二区在线播放 | 国产成人福利片| 91久久线看在观草草青青| 777午夜精品视频在线播放| 精品国产污污免费网站入口 | 国产精品女人毛片| 午夜在线电影亚洲一区| 国产在线观看免费一区| 欧美主播一区二区三区| 亚洲精品在线免费观看视频| 亚洲欧美日韩一区二区三区在线观看 | 亚洲精品乱码久久久久久久久| 免费人成精品欧美精品| 99热这里都是精品| 欧美一区二区三区四区高清| 中文一区二区在线观看| 日本不卡在线视频| 91网址在线看| 国产日本欧洲亚洲| 日本午夜精品视频在线观看| 99视频国产精品| 国产视频一区不卡| 免费成人在线网站| 欧美影院一区二区三区| 国产精品视频一二三| 久久99久久99| 欧美久久久久久久久久| 玉米视频成人免费看| 风间由美一区二区三区在线观看 | 亚洲精品一线二线三线| 亚洲色图在线视频| 精品综合久久久久久8888| 91久久精品网| 国产精品美女久久福利网站| 狠狠狠色丁香婷婷综合激情| 欧美精品一级二级三级| 一区二区三区欧美激情| 成人毛片视频在线观看| 久久精品亚洲精品国产欧美| 美女视频一区在线观看| 欧美久久一二区| 亚洲国产成人av| 欧美在线|欧美| 亚洲嫩草精品久久| 99久久久无码国产精品| 国产精品色在线| 国产91精品一区二区麻豆网站 | 26uuu另类欧美亚洲曰本| 免费精品视频在线| 欧美一区二区福利在线| 免费成人av在线| 精品久久人人做人人爽| 精品一区二区在线视频| 久久综合久久鬼色| 国产成+人+日韩+欧美+亚洲|