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

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

?? areamod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 5 頁
字號:
!           lon_o(io,jo)      lon_o(io+1,jo)!!              |                   |!              --------------------- lat_o(jo+1)!              |                   |!              |                   |!    xxxxxxxxxxxxxxx lat_i(ji+1)   |!    x         |   x               |!    x  input  |   x   output      |!    x  cell   |   x    cell       |!    x  ii,ji  |   x   io,jo       |!    x         |   x               |!    x         ----x---------------- lat_o(jo  )!    x             x!    xxxxxxxxxxxxxxx lat_i(ji  )!    x             x! lon_i(ii,ji) lon_i(ii+1,ji)!!! The above diagram assumes both grids are oriented South to North. Other! combinations of North to South and South to North grids are possible:!!     Input Grid    Output Grid!     -------------------------! (1)   S to N        S to N! (2)   N to S        N to S! (3)   S to N        N to S! (4)   N to S        S to N!! The code has been modified to allow for North to South grids. Verification! that these changes work are: !    o (1) and (4) give same results for output grid!    o (2) and (3) give same results for output grid!    o (2) and (4) give same results for output grid when output grid inverted!! WARNING: this code does not vectorize but is only called during start-up! ! 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 of lon points for lat    real(r8), intent(in) :: lon_i(nlon_i+1,nlat_i) !input grid : cell longitude, W edge (deg)    real(r8), intent(in) :: lat_i(nlat_i+1)        !input grid : cell latitude, S edge (deg)    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 of lon points for lat    real(r8), intent(in) :: lon_o(nlon_o+1,nlat_o) !output grid: cell longitude, W edge (deg)    real(r8), intent(in) :: lat_o(nlat_o+1)        !output grid: cell latitude, S edge (deg)    integer , intent(in) :: mx_ovr                 !maximum number of overlapping input cells    integer , intent(inout) :: n_ovr(nlon_o,nlat_o       ) !number of overlapping input cells    integer , intent(inout) :: i_ovr(nlon_o,nlat_o,mx_ovr) !lon index, overlapping input cell    integer , intent(inout) :: j_ovr(nlon_o,nlat_o,mx_ovr) !lat index, overlapping input cell    real(r8), intent(inout) :: w_ovr(nlon_o,nlat_o,mx_ovr) !area of overlap for input cells! --------------------------------------------------------------------! ------------------------ local variables ---------------------------    integer io             !output grid longitude loop index    integer jo             !output grid latitude  loop index    integer indexo1        !output grid lat. index according to orientn    integer indexo2        !output grid lat. index according to orientn    integer indexo3        !output grid lat. index according to orientn    integer ii             !input  grid longitude loop index    integer ji             !input  grid latitude  loop index    integer indexi1        !input grid lat. index according to orientn    integer indexi2        !input grid lat. index according to orientn    integer indexi3        !input grid lat. index according to orientn    real(r8) lonw          !west longitudes of overlap     real(r8) lone          !east longitudes of overlap     real(r8) dx            !difference in longitudes    real(r8) lats          !south latitudes of overlap    real(r8) latn          !north latitudes of overlap    real(r8) dy            !difference in latitudes     real(r8) deg2rad       !pi/180    real(r8) a_ovr         !area of overlap! --------------------------------------------------------------------    deg2rad = SHR_CONST_PI / 180.    do jo = 1, nlat_o! choose the right index according to the orientation of the data       if (lat_o(nlat_o+1) > lat_o(1)) then          indexo1 = jo+1        !south to north along the edges           indexo2 = jo          !south to north along the edges          indexo3 = jo          !south to north at the center of cell       else          indexo1 = nlat_o+1-jo !north to south along the edges          indexo2 = nlat_o+2-jo !north to south along the edges          indexo3 = nlat_o+1-jo !north to south at the center of cell       end if       do io = 1, numlon_o(indexo3)! loop through all input grid cells to find overlap with output grid          do ji = 1, nlat_i                            ! choose the right index according to the orientation of the data             if (lat_i(nlat_i+1) > lat_i(1)) then                indexi1 = ji          !south to north along the edges                indexi2 = ji+1        !south to north along the edges                indexi3 = ji          !south to north at the center of cell             else                indexi1 = nlat_i+2-ji !north to south along the edges                indexi2 = nlat_i+1-ji !north to south along the edges                indexi3 = nlat_i+1-ji !north to south at the center of cell             end if! lat okay             if ( lat_i(indexi1)<lat_o(indexo1) .and. &                  lat_i(indexi2)>lat_o(indexo2) ) then                do ii = 1, numlon_i(indexi3)! lon okay                   if (lon_i(ii,indexi3)<lon_o(io+1,indexo3) .and. &                       lon_i(ii+1,indexi3)>lon_o(io,indexo3)) then! increment number of overlapping cells. make sure 0 < n_ovr < mx_ovr                      n_ovr(io,indexo3) = n_ovr(io,indexo3) + 1                      if (n_ovr(io,indexo3) > mx_ovr) then                         write (6,*) 'AREAOVR error: n_ovr= ', &                              n_ovr(io,indexo3),' exceeded mx_ovr = ', &                              mx_ovr,' for output lon,lat = ',io,indexo3                         call endrun                      end if! determine area of overlap                      lone = min(lon_o(io+1,indexo3),lon_i(ii+1,indexi3))*deg2rad !e edge                      lonw = max(lon_o(io  ,indexo3),lon_i(ii  ,indexi3))*deg2rad !w edge                      dx = max(0.0_r8,(lone-lonw))                      latn = min(lat_o(indexo1),lat_i(indexi2))*deg2rad !n edge                      lats = max(lat_o(indexo2),lat_i(indexi1))*deg2rad !s edge                      dy = max(0.0_r8,(sin(latn)-sin(lats)))                      a_ovr = dx*dy*re*re! save lat, lon indices of overlapping cell and area of overlap                      i_ovr(io,indexo3,n_ovr(io,indexo3)) = ii                      j_ovr(io,indexo3,n_ovr(io,indexo3)) = indexi3                      w_ovr(io,indexo3,n_ovr(io,indexo3)) = a_ovr                   end if                end do             end if          end do       end do    end do    return  end subroutine areaovr!=======================================================================  subroutine cellarea_regional (nlat  ,nlon  ,numlon, lats ,lonw , &                                edgen, edgee, edges , edgew, area)!----------------------------------------------------------------------- ! ! Purpose: ! Area of grid cells (square kilometers) - regional grid! (can become global as special case)!! Method: ! ! Author: Mariana Vertenstein! !-----------------------------------------------------------------------! ------------------------ arguments ---------------------------------    integer , intent(in) :: nlat               !dimension: number of latitude points    integer , intent(in) :: nlon               !dimension: number of longitude points    integer , intent(in) :: numlon(nlat)       !number of grid cells per latitude strip    real(r8), intent(in) :: edgen              !northern edge of grid (degrees)    real(r8), intent(in) :: edges              !southern edge of grid (degrees)    real(r8), intent(in) :: edgew              !western edge of grid (degrees)    real(r8), intent(in) :: edgee              !eastern edge of grid (degrees)    real(r8), intent(in) :: lats(nlat+1)       !grid cell latitude, southern edge (degrees)    real(r8), intent(in) :: lonw(nlon+1,nlat)  !grid cell longitude, western edge (degrees)    real(r8), intent(out):: area(nlon,nlat)    !cell area (km**2)! --------------------------------------------------------------------! ------------------------ local variables ---------------------------    integer i,j                 !indices    real(r8) deg2rad            !pi/180    real(r8) global             !summed area    real(r8) dx                 !cell width: E-W    real(r8) dy                 !cell width: N-S    real(r8) error              !true area for error check! --------------------------------------------------------------------    deg2rad = (SHR_CONST_PI) / 180.    global = 0.    do j = 1, nlat       do i = 1, numlon(j)          dx = (lonw(i+1,j) - lonw(i,j)) * deg2rad          if (lats(j+1) > lats(j)) then        !South to North grid             dy = sin(lats(j+1)*deg2rad) - sin(lats(j)*deg2rad)          else                                 !North to South grid             dy = sin(lats(j)*deg2rad) - sin(lats(j+1)*deg2rad)          end if          area(i,j) = dx*dy*re*re          global = global + area(i,j)       end do    end do! make sure total area from grid cells is same as area of grid! as defined by its edges    dx = (edgee - edgew) * deg2rad    dy = sin(edgen*deg2rad) - sin(edges*deg2rad)    error =  dx*dy*re*re    if (abs(global-error)/error > 0.00001) then       write (6,*) 'CELLAREA error: correct area is ',error, &            ' but summed area of grid cells is ',global       call endrun    end if    return  end subroutine cellarea_regional!=======================================================================  subroutine cellarea_global (nlat , nlon, numlon, lats, lonw, area)!----------------------------------------------------------------------- ! ! Purpose: ! Area of grid cells (square kilometers)- global grid!! Method: ! ! Author: Mariana Vertenstein! !-----------------------------------------------------------------------! ------------------------ arguments ---------------------------------    integer , intent(in) :: nlat             !dimension: number of latitude points    integer , intent(in) :: nlon             !dimension: number of longitude points    integer , intent(in) :: numlon(nlat)     !number of grid cells per latitude strip    real(r8), intent(in) :: lats(nlat+1)     !grid cell latitude, southern edge (degrees)    real(r8), intent(in) :: lonw(nlon+1,nlat)!grid cell longitude, western edge (degrees)    real(r8), intent(out):: area(nlon,nlat)  !cell area (km**2)! --------------------------------------------------------------------! ------------------------ local variables ---------------------------    integer i,j                 !indices    real(r8) deg2rad            !pi/180    real(r8) dx                 !cell width: E-W    real(r8) dy                 !cell width: N-S! --------------------------------------------------------------------! Note: assume that cam latitudes go S->N! Note: cannot make sure total area from grid cells is same as area of grid! as defined by its edges as in offline case since the edges are not all at! the same longitudes for every latitude    deg2rad = (SHR_CONST_PI) / 180.    do j = 1, nlat       do i = 1, numlon(j)          dx = (lonw(i+1,j) - lonw(i,j)) * deg2rad          dy = sin(lats(j+1)*deg2rad) - sin(lats(j)*deg2rad)  !s->n latiatudes          area(i,j) = dx*dy*re*re       end do    end do    return  end subroutine cellarea_global!=======================================================================  subroutine celledge_regional (nlat   , nlon  , numlon , longxy ,  &                                latixy , edgen , edgee  , edges  ,  &                                edgew  , lats  , lonw   )!----------------------------------------------------------------------- ! ! Purpose: ! Southern and western edges of grid cells - regional grid ! (can become global as special case)!

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷精品大在线视频| 一本色道亚洲精品aⅴ| 精品视频999| 一区二区三区高清在线| 97精品久久久久中文字幕 | 国产欧美日韩视频在线观看| 国产精品自在欧美一区| 亚洲人成亚洲人成在线观看图片| 色激情天天射综合网| 日本欧美一区二区在线观看| 日韩精品资源二区在线| 91网站黄www| 亚洲线精品一区二区三区八戒| 91精品欧美一区二区三区综合在 | 青娱乐精品视频| 亚洲天堂免费看| 国产亚洲欧洲一区高清在线观看| 91免费国产在线| 国产乱子轮精品视频| 丝袜国产日韩另类美女| 成人欧美一区二区三区黑人麻豆| 久久综合狠狠综合| 欧美视频在线播放| 色偷偷成人一区二区三区91| 国产精品18久久久久久久久| 捆绑调教美女网站视频一区| 伊人开心综合网| 亚洲摸摸操操av| 一区二区三区在线观看网站| 国产精品亲子伦对白| 国产夜色精品一区二区av| 在线播放中文字幕一区| 欧美色区777第一页| 欧美日韩国产经典色站一区二区三区| 色综合久久精品| 欧美猛男超大videosgay| 欧美一级高清片| 久久精品网站免费观看| 中文字幕av资源一区| 欧美国产日韩精品免费观看| 综合久久久久久| 亚洲成在线观看| 丁香网亚洲国际| 欧美在线影院一区二区| 制服丝袜一区二区三区| 91麻豆免费看片| 日韩免费视频一区二区| 国产午夜精品久久| 亚洲综合视频在线| 亚洲亚洲精品在线观看| 国产最新精品免费| 欧美在线免费视屏| 欧美大片在线观看一区| 中文字幕一区二区三区视频| 午夜久久久久久电影| 国产一区在线观看麻豆| 色综合视频在线观看| 欧美精品一区二区蜜臀亚洲| 一区二区三区加勒比av| 国产成人一区二区精品非洲| 在线观看国产一区二区| 国产精品久久久久久久久搜平片 | 国产午夜精品一区二区三区嫩草| 亚洲日本一区二区| 99re在线精品| 国产偷国产偷精品高清尤物 | 国产日本欧美一区二区| 日韩高清在线一区| 欧美日韩电影在线| 一二三区精品福利视频| 91免费版在线| 亚洲精品国产无套在线观| 国产成人aaa| 亚洲国产精品av| 成人av电影免费在线播放| 欧美成人r级一区二区三区| 免费在线观看视频一区| 日韩欧美一区二区免费| 麻豆精品国产91久久久久久| 一本久久a久久精品亚洲| 一区二区三区四区不卡在线| 色综合天天综合色综合av| 国产精品美女久久久久久2018| 国产成人精品三级| 日韩美女视频19| 91精品黄色片免费大全| 日韩av电影免费观看高清完整版 | 婷婷开心久久网| 4hu四虎永久在线影院成人| 日韩av电影免费观看高清完整版在线观看 | 国产精品一区二区久激情瑜伽| 精品国产在天天线2019| 精品一区二区在线播放| 欧美激情一区二区三区全黄| 91啦中文在线观看| 麻豆成人91精品二区三区| 亚洲欧美激情一区二区| 欧美日韩电影在线播放| 成人免费观看av| 激情偷乱视频一区二区三区| 亚洲高清视频的网址| 国产精品久久久久婷婷| 亚洲精品一区二区三区精华液| 色94色欧美sute亚洲线路二| 国产福利精品一区二区| 国产成人免费网站| 国产一区二区剧情av在线| 另类小说图片综合网| 亚洲国产成人av好男人在线观看| 国产午夜精品一区二区| 日韩一区二区三区四区| 日韩精品一区二区三区在线播放| 欧洲中文字幕精品| 成人小视频在线| 日本不卡一区二区三区高清视频| 国产精品视频麻豆| av在线不卡网| 日韩电影在线一区二区三区| 国产精品不卡一区二区三区| 久久精品国产第一区二区三区| 奇米影视一区二区三区| 有码一区二区三区| 一区二区在线观看视频在线观看| 国产色婷婷亚洲99精品小说| 国产**成人网毛片九色| 日韩一区欧美一区| 欧美日高清视频| 精品入口麻豆88视频| 91浏览器打开| www.久久精品| 免费在线看一区| 国产女主播在线一区二区| 95精品视频在线| 大胆欧美人体老妇| 色婷婷香蕉在线一区二区| 久久精品亚洲麻豆av一区二区| 在线成人高清不卡| 欧美婷婷六月丁香综合色| 欧美日韩一区二区三区视频| 午夜国产不卡在线观看视频| 天堂蜜桃一区二区三区| 国产在线精品一区二区夜色| 精品一二三四区| 日韩激情一二三区| 国产精品影视在线观看| 日韩国产在线观看| 中文字幕一区二区三区四区| 日本不卡视频一二三区| 日本一区二区三区dvd视频在线| 亚洲第一成人在线| 91在线观看视频| 欧美欧美欧美欧美首页| 高清视频一区二区| 色婷婷国产精品| 日韩欧美国产三级电影视频| 久久久www成人免费无遮挡大片| 91精品一区二区三区在线观看| 欧美电影免费观看高清完整版在线观看 | 91成人免费在线| 久久蜜桃av一区精品变态类天堂| 亚洲女同ⅹxx女同tv| 成人av先锋影音| 26uuu亚洲婷婷狠狠天堂| 亚洲自拍偷拍综合| 91网站最新网址| 国产色一区二区| 国产不卡一区视频| 欧美精品三级日韩久久| 亚洲第四色夜色| 99久久国产免费看| 日韩三级精品电影久久久| 亚洲美女偷拍久久| 色狠狠桃花综合| 国产精品每日更新在线播放网址| 国产在线一区观看| 欧美一区二区三区电影| 午夜成人免费视频| 欧美高清视频www夜色资源网| 亚洲精品伦理在线| 欧美亚洲国产一卡| 日本vs亚洲vs韩国一区三区二区| 成人久久18免费网站麻豆| 欧美激情一区不卡| 亚洲国产三级在线| 欧美高清www午色夜在线视频| 亚洲乱码国产乱码精品精的特点| 色吧成人激情小说| 亚洲国产美国国产综合一区二区| 国产精品一区二区在线播放| 久久先锋影音av鲁色资源网| 不卡av在线网| 亚洲最大成人综合| 日韩美女主播在线视频一区二区三区| 91精品国产91久久综合桃花| 极品美女销魂一区二区三区 | 蜜臀久久久久久久| 国产色婷婷亚洲99精品小说| 亚洲国产成人91porn| 欧美不卡在线视频| 91官网在线免费观看|