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

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

?? mkgridmod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 2 頁
字號:
    dy = (mksrf_offline_edgen - mksrf_offline_edges) / lsmlat    do j = 1, lsmlat       do i = 1, lsmlon          longxy(i,j) = mksrf_offline_edgew + (2*i-1)*dx / 2.          latixy(i,j) = mksrf_offline_edges + (2*j-1)*dy / 2       end do    end do! Define edges and area of land model grid cells    call celledge (lsmlat     , lsmlon     , numlon     , longxy     ,&                   latixy     , lsmedge(1) , lsmedge(2) , lsmedge(3) ,&                   lsmedge(4) , lats       , lonw       )    call cellarea (lsmlat     , lsmlon     , numlon     , lats       ,&                   lonw       , lsmedge(1) , lsmedge(2) , lsmedge(3) ,&                   lsmedge(4) , area       )! read navy orography data and obtain fractional land    call getfil (mksrf_offline_fnavyoro, locfn, 0)    call wrap_open(locfn, 0, ncid)    call wrap_inq_dimid  (ncid, 'lon', dimid)    call wrap_inq_dimlen (ncid, dimid, nlon_i)    call wrap_inq_dimid  (ncid, 'lat', dimid)    call wrap_inq_dimlen (ncid, dimid, nlat_i)    allocate (latixy_i(nlon_i,nlat_i), stat=ier)       if (ier/=0) call endrun    allocate (longxy_i(nlon_i,nlat_i), stat=ier)       if (ier/=0) call endrun    allocate (numlon_i(nlat_i), stat=ier)    if (ier/=0) call endrun    allocate (lon_i(nlon_i+1,nlat_i), stat=ier)    if (ier/=0) call endrun    allocate (lon_i_offset(nlon_i+1,nlat_i), stat=ier)    if (ier/=0) call endrun    allocate (lat_i(nlat_i+1), stat=ier)            if (ier/=0) call endrun    allocate (area_i(nlon_i,nlat_i), stat=ier)      if (ier/=0) call endrun    allocate (mask_i(nlon_i,nlat_i), stat=ier)         if (ier/=0) call endrun    allocate (fland_i(nlon_i,nlat_i), stat=ier)         if (ier/=0) call endrun    call wrap_inq_varid (ncid, 'LATIXY', varid)    call wrap_get_var_realx (ncid, varid, latixy_i)    call wrap_inq_varid (ncid, 'LONGXY', varid)    call wrap_get_var_realx (ncid, varid, longxy_i)    call wrap_inq_varid (ncid, 'NUMLON', varid)    call wrap_get_var_int (ncid, varid, numlon_i)    call wrap_inq_varid (ncid, 'EDGEN', varid)    call wrap_get_var_realx (ncid, varid, edge_i(1))    call wrap_inq_varid (ncid, 'EDGEE', varid)    call wrap_get_var_realx (ncid, varid, edge_i(2))    call wrap_inq_varid (ncid, 'EDGES', varid)    call wrap_get_var_realx (ncid, varid, edge_i(3))    call wrap_inq_varid (ncid, 'EDGEW', varid)    call wrap_get_var_realx (ncid, varid, edge_i(4))    call wrap_inq_varid (ncid, 'LANDFRAC', varid)    call wrap_get_var_realx (ncid, varid, fland_i)    call wrap_close(ncid)! determine maximim overlap for height resolution and model grids and ! and allocate dynamic memory for overlap arrays! first determine input grid cell and cell areas    numlon_i(:) = nlon_i    call celledge (nlat_i    , nlon_i    , numlon_i  , longxy_i  , &                   latixy_i  , edge_i(1) , edge_i(2) , edge_i(3) , &                   edge_i(4) , lat_i     , lon_i     )    call cellarea (nlat_i    , nlon_i    , numlon_i  , lat_i     , &                   lon_i     , edge_i(1) , edge_i(2) , edge_i(3) , &                   edge_i(4) , area_i    )    do ji = 1, nlat_i       do ii = 1, numlon_i(ji)          mask_i(ii,ji) = 1.       end do    end do! Shift x-grid to locate periodic grid intersections. This! assumes that all lon_i(1,j) have the same value for all! latitudes j and that the same holds for lon_o(1,j)  if (lon_i(1,1) < lonw(1,1)) then     offset = 360.0  else     offset = -360.0  end if    do ji = 1, nlat_i     do ii = 1, numlon_i(ji) + 1        lon_i_offset(ii,ji) = lon_i(ii,ji) + offset     end do  end do! Process each cell on land model grid! novr_i2o - number of input grid cells that overlap each land grid cell! iovr_i2o - longitude index of overlapping input grid cell! jovr_i2o - latitude  index of overlapping input grid cell! wovr_i2o - fraction of land grid cell overlapped by input grid cell!$OMP PARALLEL DO PRIVATE (io,jo,ii,ji,n,mask_o,novr_i2o,iovr_i2o,jovr_i2o,wovr_i2o,fld_i)  do jo = 1, lsmlat     do io = 1, numlon(jo)! Determine areas of overlap and indices        mask_o = 1.        call areaini_point (io        , jo          , nlon_i  , nlat_i  , numlon_i , &                           lon_i      , lon_i_offset, lat_i   , area_i  , mask_i   , &                           lsmlon     , lsmlat      , numlon  , lonw    , lats     , &                           area(io,jo), mask_o      , novr_i2o, iovr_i2o, jovr_i2o , &                           wovr_i2o)                             ! Make area average        landfrac(io,jo) = 0.        do n = 1, novr_i2o   !overlap cell index           ii = iovr_i2o(n)  !lon index (input grid) of overlap cell           ji = jovr_i2o(n)  !lat index (input grid) of overlap cell           landfrac(io,jo) = landfrac(io,jo) + fland_i(ii,ji) * wovr_i2o(n)        end do        if (landfrac(io,jo) > 100.000001) then           write (6,*) 'MKGRID error: fland = ',landfrac(io,jo), &                ' is greater than 100 for lon,lat = ',io,jo           call endrun        end if! Global sum of output field -- must multiply by fraction of! output grid that is land as determined by input grid        fld_o(io,jo) = 0.        do n = 1, novr_i2o           ii = iovr_i2o(n)           ji = jovr_i2o(n)           fld_i = ((ji-1)*nlon_i + ii)            fld_o(io,jo) = fld_o(io,jo) + wovr_i2o(n) * fld_i         end do     end do  !end of output longitude loop  end do     !end of output latitude  loop!$OMP END PARALLEL DO! -----------------------------------------------------------------! Error check1! Compare global sum fld_o to global sum fld_i. ! -----------------------------------------------------------------! This check is true only if both grids span the same domain. ! To obtain global sum of input field must multiply by ! fraction of input grid that is land as determined by input grid  sum_fldo = 0.  do jo = 1,lsmlat     do io = 1,numlon(jo)        sum_fldo = sum_fldo + area(io,jo) * fld_o(io,jo)      end do  end do  sum_fldi = 0.  do ji = 1, nlat_i           do ii = 1, numlon_i(ji)        fld_i = ((ji-1)*nlon_i + ii)         sum_fldi = sum_fldi + area_i(ii,ji) * fld_i     end do  end do  if ( abs(mksrf_offline_edgen - mksrf_offline_edges) == 180. .and. &       abs(mksrf_offline_edgee - mksrf_offline_edgew) == 360. ) then     if ( abs(sum_fldo/sum_fldi-1.) > relerr ) then        write (6,*) 'MKGRID error: input field not conserved'        write (6,'(a30,e20.10)') 'global sum output field = ',sum_fldo        write (6,'(a30,e20.10)') 'global sum input  field = ',sum_fldi        call endrun     end if  end if! Determine land mask     where (landfrac(:,:) < flandmin)       landmask(:,:) = 0     !ocean    elsewhere       landmask(:,:) = 1     !land    endwhere! deallocate dynamic memory    deallocate (numlon_i)    deallocate (latixy_i)    deallocate (longxy_i)    deallocate (lon_i)    deallocate (lon_i_offset)    deallocate (lat_i)    deallocate (area_i)    deallocate (mask_i)    deallocate (fland_i)    write (6,*) 'Successfully makde land grid data'    write (6,*)  end subroutine create_grid_offline#endif!=======================================================================#if (defined COUP_CAM || defined COUP_CSM)  subroutine mkgrid_cam(cam_longxy, cam_latixy, cam_numlon, cam_landfrac, cam_landmask)!----------------------------------------------------------------------- ! ! Purpose: ! Generate land model grid when mode is CAM or CSM! For CAM mode get grid AND fractional land and land mask from cam model! For CSM mode get grid AND fractional land and land mask from coupler! ! Method: ! ! Author: Mariana Vertenstein! !-----------------------------------------------------------------------! ------------------------ arguments -----------------------------------    real(r8), intent(in) :: cam_longxy(:,:)      !cam longitudes     integer , intent(in) :: cam_numlon(:)        !number of cam longitudes per latitude    real(r8), intent(in) :: cam_latixy(:,:)      !cam latitudes      real(r8), intent(in) :: cam_landfrac(:,:)    !cam land fraction    integer , intent(in) :: cam_landmask(:,:)    !cam land mask! -----------------------------------------------------------------! ------------------------ local variables ------------------------    integer i,j     ! loop indices! -----------------------------------------------------------------! Determine if grid has pole points - if so, make sure that north pole! is non-land and south pole is land    if (abs((cam_latixy(1,lsmlat) - 90.)) < 1.e-6) then       pole_points = .true.       if ( masterproc ) write(6,*)'MKGRIDMOD: model has pole_points'        do i = 1,cam_numlon(1)          if (cam_landmask(i,1) /= 1) then             write(6,*)'cam grid with pole points has non-land at south pole'             write(6,*)'longitude index= ',i             call endrun          endif       end do       do i = 1,cam_numlon(lsmlat)          if (cam_landmask(i,lsmlat) == 1) then             write(6,*)'cam grid with pole points has land at north pole'             write(6,*)'longitude index= ',i             call endrun          endif       end do    else       pole_points = .false.       if ( masterproc ) write(6,*)'MKGRIDMOD: model does not have pole_points'     endif          ! Determine land grid, land mask and land fraction    numlon(:) = cam_numlon(:)      fullgrid = .true.    do j = 1,lsmlat       if (cam_numlon(j) < lsmlon) fullgrid = .false.    end do    do j = 1,lsmlat       do i = 1,numlon(j)          longxy(i,j)   = cam_longxy(i,j)           latixy(i,j)   = cam_latixy(i,j)          landmask(i,j) = cam_landmask(i,j)          landfrac(i,j) = cam_landfrac(i,j)       end do    end do! Define land grid edges and grid cell areas    call celledge (lsmlat, lsmlon, numlon, longxy, latixy, &                   lats  , lonw  )    call cellarea (lsmlat, lsmlon, numlon, lats, lonw, &                   area   )! Determine land fraction and land mask    return  end subroutine mkgrid_cam#endifend module mkgridMod

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久久久 | 日av在线不卡| 国产精品99久久久久久久vr| 在线亚洲欧美专区二区| 精品久久久久久综合日本欧美| 中文字幕视频一区| 韩国一区二区三区| 欧美一区二区精美| 亚洲综合精品久久| 色综合天天综合网国产成人综合天 | 日韩免费视频线观看| 亚洲一区二区三区四区五区黄 | 国产麻豆精品久久一二三| 欧美主播一区二区三区| 国产精品的网站| 国产美女在线精品| 日韩精品资源二区在线| 日韩成人免费看| 欧美日韩成人综合在线一区二区 | 日产欧产美韩系列久久99| 91麻豆福利精品推荐| 国产精品美女一区二区三区| 国产剧情一区在线| 久久久亚洲精品一区二区三区 | 视频一区视频二区中文| 91久久香蕉国产日韩欧美9色| 国产精品女主播av| 不卡的电视剧免费网站有什么| 久久久久久一级片| 国产一级精品在线| 久久久国产一区二区三区四区小说 | av在线播放一区二区三区| 亚洲国产精品ⅴa在线观看| 国产成人一区二区精品非洲| 久久精品夜色噜噜亚洲aⅴ| 国产精品一区专区| 国产丝袜美腿一区二区三区| av一区二区三区| 亚洲色图欧美激情| 日本伦理一区二区| 亚洲成a人片在线观看中文| 欧美日韩视频在线一区二区| 日韩极品在线观看| 日韩欧美一级二级三级久久久| 麻豆国产欧美一区二区三区| 久久精品一区二区| 97国产一区二区| 午夜精品成人在线视频| 日韩一区二区不卡| 丁香六月综合激情| 亚洲一区二区在线视频| 91精品在线麻豆| 国产99久久精品| 亚洲一区二区三区四区不卡| 日韩欧美成人一区二区| 国产成人午夜片在线观看高清观看| 中文字幕欧美一| 欧美三级乱人伦电影| 久久机这里只有精品| 国产精品福利一区二区三区| 欧美偷拍一区二区| 激情五月激情综合网| 亚洲欧美经典视频| 日韩欧美国产1| 91免费精品国自产拍在线不卡| 天天操天天干天天综合网| 欧美精品一区在线观看| 99这里只有久久精品视频| 亚洲精品日韩综合观看成人91| 91精品国产高清一区二区三区| 国产麻豆成人精品| 午夜伦欧美伦电影理论片| 日本一区二区不卡视频| 欧美日韩夫妻久久| 91网站最新网址| 麻豆视频一区二区| 最新高清无码专区| 欧美成人三级电影在线| 在线看日本不卡| 国产一区二区福利| 丝袜诱惑制服诱惑色一区在线观看| 日本一区二区三区国色天香 | 午夜精品免费在线| 国产日韩欧美电影| 欧美成人精品福利| 激情国产一区二区| 亚洲大片精品永久免费| 国产精品少妇自拍| 精品久久久久久无| 在线播放中文一区| 色美美综合视频| 成人av网址在线| 狠狠色伊人亚洲综合成人| 丝袜a∨在线一区二区三区不卡| 国产精品白丝在线| 中文字幕不卡一区| 国产婷婷精品av在线| 精品国产sm最大网站| 欧美一区二区在线播放| 欧美视频一区二区| 色av一区二区| 色综合天天综合狠狠| 成人中文字幕电影| 国产盗摄精品一区二区三区在线 | 91亚洲精品久久久蜜桃| 国产大片一区二区| 国产激情视频一区二区三区欧美| 美日韩一区二区| 免费观看30秒视频久久| 日韩av高清在线观看| 视频一区二区不卡| 亚洲r级在线视频| 偷拍亚洲欧洲综合| 午夜精品123| 蜜桃视频一区二区| 久久99国产乱子伦精品免费| 国内精品免费**视频| 国产成人午夜精品影院观看视频| 国产盗摄精品一区二区三区在线 | 国产精品综合二区| 国产精品1024久久| 成人激情av网| 色哟哟一区二区| 91女人视频在线观看| 日本精品视频一区二区三区| 欧美亚洲自拍偷拍| 在线综合视频播放| 欧美成人乱码一区二区三区| 久久久久久久久久久电影| 欧美国产日韩亚洲一区| 亚洲三级理论片| 午夜国产精品影院在线观看| 美洲天堂一区二卡三卡四卡视频| 久久66热re国产| 成人午夜碰碰视频| 欧美日韩一区高清| 精品女同一区二区| 亚洲欧洲综合另类| 日韩在线一区二区| 久久99热99| 99精品国产99久久久久久白柏 | 天天色天天操综合| 国产一区二区三区最好精华液| 懂色中文一区二区在线播放| 欧美午夜精品免费| 精品欧美久久久| 亚洲免费av高清| 久久精品国内一区二区三区| 成人天堂资源www在线| 欧美日韩亚洲丝袜制服| 久久免费精品国产久精品久久久久| 中文字幕亚洲一区二区va在线| 午夜精品一区二区三区三上悠亚| 精品一区二区三区蜜桃| 色综合久久综合网欧美综合网| 日韩视频在线永久播放| 国产精品国产自产拍高清av王其| 亚洲成人av一区| 成人高清在线视频| 日韩欧美亚洲国产精品字幕久久久| 中文字幕久久午夜不卡| 日韩国产一区二| 91美女蜜桃在线| 国产日韩视频一区二区三区| 日韩av网站在线观看| 91网站最新地址| 久久精品亚洲一区二区三区浴池 | 亚洲成人tv网| 成人免费视频视频在线观看免费| 欧美电影在哪看比较好| 国产精品成人免费精品自在线观看 | 美腿丝袜亚洲三区| 欧洲av一区二区嗯嗯嗯啊| 国产视频亚洲色图| 久久综合综合久久综合| 欧美日韩国产一级片| 中文字幕一区av| 成人手机在线视频| 久久久久久久久免费| 免费在线看一区| 欧美丰满少妇xxxbbb| 一个色在线综合| 91亚洲永久精品| 中文字幕日本乱码精品影院| 成人一区二区三区视频| 久久久噜噜噜久噜久久综合| 另类综合日韩欧美亚洲| 欧美一级日韩免费不卡| 亚洲成人黄色影院| 欧美丝袜丝交足nylons图片| 国产精品私人影院| 成人久久视频在线观看| 欧美—级在线免费片| 国产电影一区在线| 欧美激情中文不卡| av电影天堂一区二区在线观看| 国产精品区一区二区三| 成人免费看的视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日韩高清不卡在线|