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

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

?? convert_vegtype.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 2 頁
字號:
program make_surftype  implicit none#include <netcdf.inc>!-----------------------------------------------------------------! make surface type netcdf file!-----------------------------------------------------------------  integer, parameter :: r8 = selected_real_kind(12)  integer, parameter :: nlon = 720  !input grid : longitude points  integer, parameter :: nlat = 360  !input grid : latitude  points  integer, parameter :: nlsm = 28   !number of LSM surface types  real(r8) :: longxy(nlon,nlat)     !longitude dimension array (2d)          real(r8) :: latixy(nlon,nlat)     !longitude dimension array (2d)  real(r8) :: lon(nlon)              real(r8) :: lat(nlat)  real(r8) :: edge(4)  real(r8) :: dx,dy  integer :: surtyp(nlon,nlat)      !input surface type  integer :: dimlon_id                    !netCDF dimension id  integer :: dimlat_id                    !netCDF dimension id  integer :: nvegmax                !maximum value for input surface data  integer :: lon_id                 !longitude array id  integer :: lat_id                 !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 :: surftyp_id             !surface type id    integer :: i,j,k,m,n              !indices  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                 !netCDF status  integer :: miss=99999             !missing data indicator  integer :: surftyp_i(nlon,nlat)   !input surface type (Olson or LSM)  integer :: surftyp_o(nlon,nlat)   !output surface type (LSM)  integer :: in2lsm(100)            !LSM surface type for each input type  integer :: i_w                    !grid cell to west  integer :: i_e                    !grid cell to east  integer :: j_n                    !grid cell to north  integer :: j_s                    !grid cell to south    character(len=80) :: filei, fileo  character(len=80) :: fvegtyp  character(len=80) :: name,unit!-----------------------------------------------------------------! Determine input and output file names  filei = 'olson.dat'  fileo = 'olson.nc'! -----------------------------------------------------------------! Read in input data. ! Data can be in one of two forms:! OLSON vegetation types or LSM vegetation types. !  o The LSM vegetation types are from 0 to [nlsm]. !  o The OLSON vegetation types are from 0 to 73 and !    are mapped to LSM types.!! Data are 1/2 x 1/2 degree, stored in latitude bands, ! from north to south. In a given latitude band, data begin ! at Dateline (180W) and proceed eastward. So first data  ! point (x(1,1)) is a box centered at 89.75N, 179.75W. !!   90.0N  ---------------------  !          |         |         |!          |    x    |    x    |!          |  (1,1)  |  (2,1)  |!          |         |         |!   89.5N  --------------------- !        180.0W    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','surface_type_data')! Define dimensions  call wrap_def_dim (ncid, 'LON' , nlon, dimlon_id)  call wrap_def_dim (ncid, 'LAT' , nlat, dimlat_id)! Define grid variables  dim1_id(1) = dimlon_id  dim2_id(1) = dimlon_id  dim2_id(2) = dimlat_id  name = 'lon'  unit = 'degrees east'  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'  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'  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 = '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 = '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 = '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)  name = 'surface_type'  unit = 'unitless'  call wrap_def_var (ncid ,'SURFACE_TYPE' ,nf_int, 2, dim2_id, surftyp_id)  call wrap_put_att_text (ncid, surftyp_id, 'long_name', name)  call wrap_put_att_text (ncid, surftyp_id, 'units'    , unit)  status = nf_enddef(ncid)! -----------------------------------------------------------------! read in formatted surface data! -----------------------------------------------------------------  open (unit=ndata,file=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  nvegmax = 0  do j = 1, nlat     do i = 1, nlon        read (ndata,*) surftyp_i(i,j)        nvegmax = max(nvegmax,surftyp_i(i,j))     end do  end do  close(ndata)! -----------------------------------------------------------------! Olson data : Convert input surface types to LSM surface types! -----------------------------------------------------------------  if (nvegmax > nlsm) then     do j = 1, nlat        do i = 1, nlon           k = surftyp_i(i,j)           ! There are several values (2, 6, 8) in the data that are not defined. ! Use neighboring cells in this order: west, east, north, south           i_w = max(   1,i-1)           i_e = min(nlon,i+1)           j_n = min(   1,j-1)           j_s = max(nlat,j+1)                      if (k==2 .or. k==6 .or. k==8) k = surftyp_i(i_w,j  )           if (k==2 .or. k==6 .or. k==8) k = surftyp_i(i_e,j  )           if (k==2 .or. k==6 .or. k==8) k = surftyp_i(i  ,j_n)           if (k==2 .or. k==6 .or. k==8) k = surftyp_i(i  ,j_s)           ! Split antarctica (17) into polar desert (69) and ice (70)            if (k == 17) then              if (j <= 313) then                 k = 69              else                 k = 70              end if           end if! 61 (eastern south taiga) will be classified as needleleaf deciduous tree. ! Change 61 to 20 (main taiga = needleleaf evergreen tree) based on longitude           if (k==61 .and. i<=576) k = 20 ! 61 (eastern south taiga) will be classified needleleaf deciduous tree. ! Create additional needleleaf deciduous tree from 21 (main taiga) and! 60 (southern taiga) based on longitude           if (k==21 .and. i>=555) k = 61             if (k==60 .and. i>=582) k = 61   ! Change 26 (warm mixed) to broad-leaved humid forest based on latitude

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷激情一区二区三区| 中文成人av在线| 国产校园另类小说区| 亚洲欧美激情一区二区| 美女高潮久久久| 成人国产一区二区三区精品| 欧美狂野另类xxxxoooo| 中文字幕欧美日韩一区| 日韩不卡手机在线v区| 91年精品国产| 久久精品亚洲麻豆av一区二区| 一个色综合av| 高清日韩电视剧大全免费| 国产精品女人毛片| 精品一区二区成人精品| 欧美性色黄大片| 自拍av一区二区三区| 久久97超碰色| 91精品国产aⅴ一区二区| 亚洲女人小视频在线观看| 国产老妇另类xxxxx| 日韩免费电影一区| 日本中文一区二区三区| 91激情五月电影| 中文字幕日韩一区| 大胆欧美人体老妇| 国产婷婷色一区二区三区在线| 久久国产精品免费| 欧美日本一道本| 亚洲最快最全在线视频| 91免费看片在线观看| 国产精品久久毛片a| 成人美女在线视频| 欧美国产97人人爽人人喊| 国产不卡一区视频| 欧美激情一区二区三区| 成人综合日日夜夜| 中文字幕第一区第二区| 成人午夜视频在线| 国产精品色在线| 99久久精品久久久久久清纯| 中文字幕制服丝袜成人av| 不卡一二三区首页| 1024国产精品| yourporn久久国产精品| 亚洲美女视频在线| 欧美三级日韩三级| 日本麻豆一区二区三区视频| 日韩一级片网站| 国产一区二区三区国产| 中文字幕成人av| 一本久久a久久免费精品不卡| 亚洲视频精选在线| 欧美日韩免费一区二区三区| 午夜精品一区在线观看| 欧美xingq一区二区| 丁香婷婷综合色啪| 亚洲人一二三区| 欧美日韩国产综合久久 | 亚洲第一av色| 欧美日韩激情在线| 久久se这里有精品| 欧美国产欧美亚州国产日韩mv天天看完整 | 久久久久国产精品麻豆ai换脸| 国产精品1区二区.| 一区二区高清在线| 日韩一区二区三区电影| 成人av电影在线观看| 亚洲成人动漫精品| 国产亚洲欧美在线| 欧美日韩一级二级三级| 国产一区啦啦啦在线观看| 综合久久综合久久| 91精品中文字幕一区二区三区| 国产老女人精品毛片久久| 亚洲免费在线视频一区 二区| 日韩一区二区视频| 91丨porny丨蝌蚪视频| 日本中文字幕不卡| 亚洲免费观看高清完整版在线| 欧美一级午夜免费电影| 成人夜色视频网站在线观看| 天堂在线亚洲视频| 亚洲视频图片小说| 日韩欧美国产一区在线观看| 色婷婷亚洲综合| 国产自产高清不卡| 亚洲一区二区av电影| 国产精品欧美一区二区三区| 日韩一区二区三免费高清| 91久久精品网| 盗摄精品av一区二区三区| 日本不卡一区二区三区| 亚洲女性喷水在线观看一区| 久久亚洲二区三区| 日韩三级伦理片妻子的秘密按摩| 色屁屁一区二区| 成人久久视频在线观看| 国产综合久久久久影院| 琪琪久久久久日韩精品| 亚洲无人区一区| 亚洲欧美自拍偷拍| 久久先锋影音av| 日韩欧美一级二级三级| 欧美日本一区二区在线观看| 色999日韩国产欧美一区二区| 成人免费毛片app| 国产呦萝稀缺另类资源| 久久精品理论片| 日本麻豆一区二区三区视频| 五月综合激情日本mⅴ| 亚洲日本成人在线观看| 亚洲人精品一区| 日韩毛片在线免费观看| 中文字幕亚洲一区二区va在线| 久久综合色之久久综合| 欧美成人一区二区三区片免费| 欧美一区二区三区免费大片| 欧美日韩一卡二卡| 欧美精品精品一区| 正在播放亚洲一区| 日韩午夜电影在线观看| 欧美草草影院在线视频| 欧美变态口味重另类| 精品福利一二区| 久久久一区二区三区捆绑**| 久久久久国产精品人| 国产精品入口麻豆九色| 亚洲欧洲日本在线| 亚洲自拍偷拍综合| 亚洲资源在线观看| 丝袜美腿一区二区三区| 免费高清在线一区| 韩国精品主播一区二区在线观看 | 亚洲美女视频在线观看| 夜夜操天天操亚洲| 日韩中文字幕不卡| 麻豆国产精品视频| 国产麻豆9l精品三级站| 99热精品国产| 欧美日韩一区 二区 三区 久久精品| 9191国产精品| 久久综合九色综合97_久久久| 国产色综合一区| 一区二区三区在线视频免费观看| 丝袜美腿成人在线| 国产福利一区在线观看| 色婷婷综合久久久久中文一区二区 | 国产亚洲一区二区在线观看| 国产精品国产三级国产aⅴ入口| 一区二区三区在线视频免费观看| 日韩av网站在线观看| 国产精品亚洲视频| 欧美丝袜丝交足nylons图片| 精品久久久久久亚洲综合网| 日韩美女视频一区| 日韩电影免费一区| www.亚洲精品| 69久久夜色精品国产69蝌蚪网| 久久无码av三级| 亚洲自拍都市欧美小说| 国产成人无遮挡在线视频| 91国偷自产一区二区三区观看| 精品美女一区二区| 亚洲精品国产一区二区精华液 | 国产在线观看一区二区| 91视频观看视频| 精品电影一区二区| 一区二区三区高清| 丰满少妇久久久久久久| 制服丝袜中文字幕亚洲| **欧美大码日韩| 精品一区二区三区欧美| 欧美性一区二区| 中文字幕精品—区二区四季| 蜜桃av噜噜一区| 欧美在线视频全部完| 中文字幕第一区| 九一久久久久久| 在线不卡的av| 亚洲三级免费电影| 成人黄页在线观看| 国产亚洲一区二区三区在线观看| 午夜欧美视频在线观看| 91在线精品一区二区| 国产欧美日韩卡一| 国产综合成人久久大片91| 日韩一级视频免费观看在线| 亚洲一卡二卡三卡四卡五卡| 不卡的av网站| 中文字幕精品综合| 国产成人在线视频播放| 久久久青草青青国产亚洲免观| 日韩电影在线一区二区| 欧美日韩激情在线| 亚洲成av人综合在线观看| 色综合久久久久| 亚洲欧美日韩国产手机在线| 91网页版在线| 综合色中文字幕|