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

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

?? areamod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 5 頁
字號:
       end do    end do!$OMP END PARALLEL DO! loop through overlapping cells on input grid to make area-average    do n = 1, nmax!$OMP PARALLEL DO PRIVATE (jo,io,ii,ji)       do jo = 1, nlat_o          do io =1, numlon_o(jo)             ii = i_ovr(io,jo,n)             ji = j_ovr(io,jo,n)             fld_o(io,jo) = fld_o(io,jo) + w_ovr(io,jo,n)*fld_i(ii,ji)          end do       end do!$OMP END PARALLEL DO    end do! set non-valid points for reduced grid to missing value    do jo = 1, nlat_o       do io = numlon_o(jo)+1, nlon_o          fld_o(io,jo) = 1.e36       end do    end do    return  end subroutine areaave!=======================================================================  subroutine areamap (nlon_i   , nlat_i   , nlon_o , nlat_o ,  &                      lon_i    , lat_i    , lon_o  , lat_o  ,  &                      numlon_i , numlon_o , mask_i , mx_ovr ,  &                      n_ovr    , i_ovr    , j_ovr  , w_ovr  ,  &                      fland_o  , area_o   )!----------------------------------------------------------------------- ! ! Purpose: ! weights and indices for area of overlap between grids!! Method: ! Get indices and weights for area-averaging between input and output grids.! For each output grid cell find:!!    o number of input grid cells that overlap with output grid cell (n_ovr)!    o longitude index (1 <= i_ovr <= nlon_i) of the overlapping input grid cell!    o latitude index  (1 <= j_ovr <= nlat_i) of the overlapping input grid cell!    o fractional overlap of input grid cell (w_ovr)!! so that for!! field values fld_i on an  input grid with dimensions nlon_i and nlat_i! field values fld_o on an output grid with dimensions nlon_o and nlat_o are!! fld_o(io,jo) = ! fld_i(i_ovr(io,jo,     1),j_ovr(io,jo,     1)) * w_ovr(io,jo,     1) +!                             ... + ... +! fld_i(i_ovr(io,jo,mx_ovr),j_ovr(io,jo,mx_ovr)) * w_ovr(io,jo,mx_ovr) !! Note: mx_ovr is some number greater than n_ovr. Weights of zero are ! used for the excess points! ! Author: Gordon Bonan! !-----------------------------------------------------------------------! ------------------------ arguments ---------------------------------    integer ,intent(in) :: nlon_i                     !input grid : max number of longitude points    integer ,intent(in) :: nlat_i                     !input grid : number of latitude points    integer ,intent(in) :: numlon_i(nlat_i)           !input grid : number longitude points for lat    real(r8),intent(inout) :: lon_i(nlon_i+1,nlat_i)  !input grid : cell longitude, west edge (deg)    real(r8),intent(in) :: lat_i(nlat_i+1)            !input grid : cell latitude,  south edge (deg)    real(r8),intent(in) :: mask_i(nlon_i,nlat_i)      !input grid : mask (0, 1)     integer ,intent(in) :: nlon_o                     !output grid: max number of longitude points    integer ,intent(in) :: nlat_o                     !output grid: number of latitude points    integer ,intent(in) :: numlon_o(nlat_o)           !output grid: number longitude points for lat    real(r8),intent(in) :: lon_o(nlon_o+1,nlat_o)     !output grid: cell longitude, west edge  (deg)    real(r8),intent(in) :: lat_o(nlat_o+1)            !output grid: cell latitude,  south edge (deg)    real(r8),intent(in) :: fland_o(nlon_o,nlat_o)     !output grid: fraction that is land    real(r8),intent(in) :: area_o(nlon_o,nlat_o)      !output grid: cell area    integer ,intent(in) :: mx_ovr                     !max num input cells that overlap output cell    integer ,intent(out):: n_ovr(nlon_o,nlat_o)       !number of overlapping input cells    integer ,intent(out):: i_ovr(nlon_o,nlat_o,mx_ovr)!lon index, overlapping input cell    integer ,intent(out):: j_ovr(nlon_o,nlat_o,mx_ovr)!lat index, overlapping input cell    real(r8),intent(out):: w_ovr(nlon_o,nlat_o,mx_ovr)!overlap weights for input cells! --------------------------------------------------------------------! ------------------------ local variables ---------------------------    integer :: io                   !output grid longitude loop index    integer :: ii                   !input  grid longitude loop index    integer :: jo                   !output grid latitude  loop index    integer :: ji                   !input  grid latitude  loop index    integer :: n                    !overlapping cell index    real(r8) :: offset              !used to shift x-grid 360 degrees    real(r8) :: f_ovr               !sum of overlap weights     real(r8) :: relerr = 0.00001    !max error: sum overlap weights ne 1    real(r8) :: dx_i                !input grid  longitudinal range    real(r8) :: dy_i                !input grid  latitudinal  range    real(r8) :: dx_o                !output grid longitudinal range    real(r8) :: dy_o                !output grid latitudinal  range! --------------------------------------------------------------------! --------------------------------------------------------------------! Initialize overlap weights on output grid to zero for maximum ! number of overlapping points. Set lat and lon indices of overlapping! input cells to dummy values. Set number of overlapping cells to zero! --------------------------------------------------------------------    do n = 1, mx_ovr        do jo = 1, nlat_o                do io = 1, numlon_o(jo)               i_ovr(io,jo,n) = 1             j_ovr(io,jo,n) = 1             w_ovr(io,jo,n) = 0.           end do       end do    end do    do jo = 1, nlat_o             do io = 1, numlon_o(jo)            n_ovr(io,jo) = 0       end do    end do! --------------------------------------------------------------------! First pass to find cells that overlap and area of overlap! --------------------------------------------------------------------    call areaovr (nlon_i , nlat_i , numlon_i , lon_i  , lat_i  , &                  nlon_o , nlat_o , numlon_o , lon_o  , lat_o  , &                  mx_ovr , n_ovr  , i_ovr    , j_ovr  , w_ovr  )! --------------------------------------------------------------------! Second pass to find cells that overlap and area of overlap! --------------------------------------------------------------------! 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) < lon_o(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(ii,ji) = lon_i(ii,ji) + offset       end do    end do! find overlap    call areaovr (nlon_i , nlat_i , numlon_i , lon_i  , lat_i  , &                  nlon_o , nlat_o , numlon_o , lon_o  , lat_o  , &                  mx_ovr , n_ovr  , i_ovr    , j_ovr  , w_ovr  )! restore x-grid (un-shift x-grid)    do ji = 1, nlat_i       do ii = 1, numlon_i(ji) + 1          lon_i(ii,ji) = lon_i(ii,ji) - offset       end do    end do! --------------------------------------------------------------------! Normalize areas of overlap to get fractional contribution of each! overlapping grid cell (input grid) to grid cell average on output grid.! Normally, do this by dividing area of overlap by area of output grid cell.! But, only have data for land cells on input grid. So if output grid cell! overlaps with land and non-land cells (input grid), do not have valid! non-land data for area-average. Instead, weight by area of land using! [mask_i], which has a value of one for land and zero for ocean. If! [mask_i] = 1, input grid cell contributes to output grid cell average.! If [mask_i] = 0, input grid cell does not contribute to output grid cell ! average.! --------------------------------------------------------------------    do jo = 1, nlat_o       do io = 1, numlon_o(jo)! find total land area of overlapping input cells          f_ovr = 0.          do n = 1, n_ovr(io,jo)             ii = i_ovr(io,jo,n)             ji = j_ovr(io,jo,n)             f_ovr = f_ovr + w_ovr(io,jo,n)*mask_i(ii,ji)          end do! make sure area of overlap is less than or equal to output grid cell area          if ((f_ovr-area_o(io,jo))/area_o(io,jo) > relerr) then             write (6,*) 'AREAMAP error: area not conserved for lon,lat = ',io,jo             write (6,'(a30,e20.10)') 'sum of overlap area = ',f_ovr             write (6,'(a30,e20.10)') 'area of output grid = ',area_o(io,jo)             call endrun          end if! make weights          do n = 1, n_ovr(io,jo)             ii = i_ovr(io,jo,n)             ji = j_ovr(io,jo,n)             if (f_ovr > 0.) then                w_ovr(io,jo,n) = w_ovr(io,jo,n)*mask_i(ii,ji) / f_ovr             else                w_ovr(io,jo,n) = 0.             end if          end do       end do    end do! --------------------------------------------------------------------! Error check: overlap weights for input grid cells must sum to 1. This! is always true if both grids span the same domain. However, if one! grid is a subset of the other grid, this is only true when mapping! from the full grid to the subset. When input grid covers a smaller! domain than the output grid, this test is not valid.! --------------------------------------------------------------------    dx_i = lon_i(nlon_i+1,1) - lon_i(1,1)    dx_o = lon_o(nlon_o+1,1) - lon_o(1,1)    if (lat_i(nlat_i+1) > lat_i(1)) then      !South to North grid       dy_i = lat_i(nlat_i+1) - lat_i(1)    else                                         !North to South grid       dy_i = lat_i(1) - lat_i(nlat_i+1)    end if    if (lat_o(nlat_o+1) > lat_o(1)) then      !South to North grid       dy_o = lat_o(nlat_o+1) - lat_o(1)    else                                         !North to South grid       dy_o = lat_o(1) - lat_o(nlat_o+1)    end if    if (abs(dx_i-dx_o)>relerr .or. abs(dy_i-dy_o)>relerr) then       if (dx_i<dx_o .or. dy_i<dy_o) then          write (6,*) 'AREAMAP warning: area-average not valid for '          write (6,*) '   input  grid of ',nlon_i,' x ',nlat_i          write (6,*) '   output grid of ',nlon_o,' x ',nlat_o          return            end if    end if    do jo = 1, nlat_o       do io = 1, numlon_o(jo)          f_ovr = 0.          do n = 1, mx_ovr             f_ovr = f_ovr + w_ovr(io,jo,n)          end do! error check only valid if output grid cell has land. non-land cells! will have weights equal to zero          if (fland_o(io,jo) > 0.) then             if (abs(f_ovr-1.) > relerr) then                write (6,*) 'AREAMAP error: area not conserved for lon,lat = ',io,jo                write (6,'(a30,e20.10)') 'sum of overlap weights = ',f_ovr                call endrun             end if          end if       end do    end do    return  end subroutine areamap!=======================================================================  subroutine areaovr (nlon_i , nlat_i , numlon_i , lon_i , lat_i  , &                      nlon_o , nlat_o , numlon_o , lon_o , lat_o  , &                      mx_ovr , n_ovr  , i_ovr    , j_ovr , w_ovr  )!----------------------------------------------------------------------- ! ! Purpose: ! Find area of overlap between grid cells!! Method: ! For each output grid cell: find overlapping input grid cell and area of! input grid cell that overlaps with output grid cell. Cells overlap if:!! southern edge of input grid < northern edge of output grid AND! northern edge of input grid > southern edge of output grid!! western edge of input grid < eastern edge of output grid AND! eastern edge of input grid > western edge of output grid!

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丰满亚洲少妇av| 欧美系列亚洲系列| 日本电影亚洲天堂一区| 91视频.com| 狠狠久久亚洲欧美| 免费不卡在线视频| 亚洲成人精品影院| 日韩主播视频在线| 国产成人在线视频网址| 一本在线高清不卡dvd| 欧美日韩国产不卡| 久久伊99综合婷婷久久伊| 久久精品一区四区| 亚洲国产aⅴ成人精品无吗| 激情偷乱视频一区二区三区| 国产成人亚洲综合a∨猫咪| 91老师片黄在线观看| 在线播放/欧美激情| 欧美一级欧美一级在线播放| 日本一区二区三区高清不卡| 一卡二卡三卡日韩欧美| 精品伊人久久久久7777人| 国产一区二区三区久久久 | 国产精品麻豆网站| 亚洲国产aⅴ天堂久久| 国产高清不卡一区二区| 色噜噜狠狠成人中文综合 | 成人一区在线看| 日韩欧美国产一区在线观看| 成人免费在线播放视频| 视频一区二区三区中文字幕| 91尤物视频在线观看| 欧美精品一区二区三区蜜桃 | 欧美成人r级一区二区三区| 国产精品福利电影一区二区三区四区| 日本成人在线网站| 91极品美女在线| 日韩毛片视频在线看| 国内精品国产成人| 欧美丰满美乳xxx高潮www| 国产精品护士白丝一区av| 国产黄色成人av| 久久亚洲一级片| 久久不见久久见中文字幕免费| 欧美精品在线一区二区| 亚洲bt欧美bt精品| 欧美色倩网站大全免费| 亚洲综合激情网| 色猫猫国产区一区二在线视频| 国产精品天美传媒沈樵| 国产成人99久久亚洲综合精品| 久久久亚洲国产美女国产盗摄| 久久激情五月激情| 欧美va在线播放| 福利91精品一区二区三区| 亚洲色图一区二区三区| 欧美精品久久天天躁| 视频一区在线视频| 日韩三区在线观看| 国产精品一二一区| 中文字幕日韩一区| 在线免费不卡电影| 国产乱码字幕精品高清av| 亚洲精品在线观看网站| av动漫一区二区| 日本中文在线一区| 欧美激情综合五月色丁香| 高潮精品一区videoshd| 亚洲一区二区三区四区在线观看| 4438成人网| 成人深夜视频在线观看| 亚洲超碰97人人做人人爱| 日韩欧美不卡在线观看视频| 成人综合日日夜夜| 视频一区二区中文字幕| 国产精品蜜臀在线观看| 欧美这里有精品| 激情另类小说区图片区视频区| 亚洲欧美激情视频在线观看一区二区三区| 在线精品视频小说1| 在线视频一区二区三| 麻豆成人综合网| 亚洲日本va午夜在线影院| 日韩欧美中文字幕制服| 欧美制服丝袜第一页| 国产一区二区在线观看视频| 亚洲一级不卡视频| 亚洲欧洲国产专区| 国产日本一区二区| 欧美狂野另类xxxxoooo| 99国产精品国产精品久久| 国内精品久久久久影院色| 青娱乐精品视频| 亚洲国产一二三| 18欧美亚洲精品| 中文在线免费一区三区高中清不卡| 在线播放国产精品二区一二区四区| 91视频在线看| 白白色 亚洲乱淫| 国产91综合网| 国内外成人在线| 精品午夜久久福利影院| 麻豆精品久久久| 亚洲不卡一区二区三区| 9人人澡人人爽人人精品| 国产精品 日产精品 欧美精品| 久草精品在线观看| 一区二区三区在线影院| 一区二区三区四区不卡在线| 亚洲精品ww久久久久久p站| 一区二区三区四区不卡视频 | 亚洲中国最大av网站| 亚洲午夜私人影院| 成人综合婷婷国产精品久久蜜臀 | 中文字幕亚洲一区二区av在线| 中文字幕一区二区三| 亚洲一区影音先锋| 爽好多水快深点欧美视频| 久久精品国产77777蜜臀| 国产成人av电影在线播放| 色天使久久综合网天天| 欧美情侣在线播放| 国产午夜精品一区二区三区四区| 欧美国产精品中文字幕| 调教+趴+乳夹+国产+精品| 狠狠色丁香久久婷婷综合丁香| 国产成人综合网| 欧美人妇做爰xxxⅹ性高电影| 日韩欧美一区二区在线视频| 国产欧美一区在线| 秋霞av亚洲一区二区三| 成人免费视频app| 7777女厕盗摄久久久| 亚洲视频在线一区| 久久99精品久久久久久久久久久久| a在线播放不卡| 国产三级一区二区| 日韩精品成人一区二区在线| 色视频欧美一区二区三区| 国产午夜精品一区二区| 美女视频免费一区| 欧美日韩国产大片| 亚洲黄网站在线观看| 91蜜桃在线免费视频| 国产日产亚洲精品系列| 国产乱子轮精品视频| 日韩视频一区在线观看| 日韩av在线播放中文字幕| 欧美日韩精品欧美日韩精品| 亚洲精品高清视频在线观看| 99riav一区二区三区| 中文字幕一区二区三中文字幕| 日韩电影在线一区| av在线不卡观看免费观看| 亚洲乱码国产乱码精品精的特点 | 99精品视频一区二区| 日韩精品色哟哟| 亚洲精品一区二区精华| 91原创在线视频| 久久99国产精品免费网站| 亚洲激情图片一区| 日韩免费成人网| 欧美色欧美亚洲另类二区| 国产尤物一区二区| 午夜精品一区二区三区免费视频| 久久精品视频免费观看| 欧美欧美欧美欧美| 色婷婷av一区二区三区大白胸| 韩国理伦片一区二区三区在线播放 | 国产精品成人网| 在线区一区二视频| 蜜臀av一区二区在线免费观看| 精品国产乱码久久久久久浪潮| 成人毛片视频在线观看| 亚洲伊人色欲综合网| 日韩精品在线一区二区| 成人av网址在线观看| 美女视频免费一区| 午夜欧美视频在线观看| 欧美激情艳妇裸体舞| 欧美日韩精品二区第二页| 国产精品自在在线| 香蕉成人伊视频在线观看| 欧美国产乱子伦| 日韩一级视频免费观看在线| 国产大片一区二区| 蜜桃久久精品一区二区| 日韩毛片视频在线看| 久久婷婷一区二区三区| 91麻豆精品国产91久久久久久| 99久久免费视频.com| 久久99精品久久只有精品| 日精品一区二区| 一区二区三区欧美激情| 国产精品久久久久天堂| 久久综合色婷婷| 日韩欧美一区中文| 日韩视频一区二区在线观看| 欧美性色综合网| 欧美午夜精品一区二区蜜桃|