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

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

?? phys_grid.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 5 頁
字號:
!!========================================================================   integer function get_lon_p(lchunkid, col)!----------------------------------------------------------------------- ! ! Purpose: Return global longitude index for chunk column! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use ppgrid   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lchunkid      ! local chunk id   integer, intent(in)  :: col           ! column index!---------------------------Local workspace-----------------------------   integer :: chunkid                    ! global chunk id!-----------------------------------------------------------------------   chunkid = lchunks(lchunkid)   get_lon_p = chunks(chunkid)%lon(col)   return   end function get_lon_p!!========================================================================!   subroutine get_rlat_all_p(lchunkid, rlatdim, rlats)!----------------------------------------------------------------------- ! ! Purpose: Return all latitudes (in radians) for chunk! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use ppgrid   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lchunkid      ! local chunk id   integer, intent(in)  :: rlatdim        ! declared size of output array   real(r8), intent(out) :: rlats(rlatdim)! array of latitudes!---------------------------Local workspace-----------------------------   integer :: i                           ! loop index   integer :: chunkid                     ! global chunk id!-----------------------------------------------------------------------   chunkid = lchunks(lchunkid)   do i=1,chunks(chunkid)%ncols     rlats(i) = clat_p(chunks(chunkid)%lat(i))   enddo   return   end subroutine get_rlat_all_p!!========================================================================   subroutine get_rlat_vec_p(lchunkid, lth, cols, rlats)!----------------------------------------------------------------------- ! ! Purpose: Return latitudes (in radians) for set of chunk columns! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use ppgrid   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lchunkid      ! local chunk id   integer, intent(in)  :: lth           ! number of column indices   integer, intent(in)  :: cols(lth)     ! column indices   real(r8), intent(out) :: rlats(lth)   ! array of latitudes!---------------------------Local workspace-----------------------------   integer :: i                          ! loop index   integer :: chunkid                    ! global chunk id!-----------------------------------------------------------------------   chunkid = lchunks(lchunkid)   do i=1,lth     rlats(i) = clat_p(chunks(chunkid)%lat(cols(i)))   enddo   return   end subroutine get_rlat_vec_p!!========================================================================   real(r8) function get_rlat_p(lchunkid, col)!----------------------------------------------------------------------- ! ! Purpose: Return latitude (in radians) for chunk column! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use ppgrid   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lchunkid      ! local chunk id   integer, intent(in)  :: col           ! column index!---------------------------Local workspace-----------------------------   integer :: chunkid                    ! global chunk id!-----------------------------------------------------------------------   chunkid = lchunks(lchunkid)   get_rlat_p = clat_p(chunks(chunkid)%lat(col))   return   end function get_rlat_p!!!========================================================================!   subroutine get_rlon_all_p(lchunkid, rlondim, rlons)!----------------------------------------------------------------------- ! ! Purpose: Return all longitudes (in radians) for chunk! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use ppgrid   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lchunkid      ! local chunk id   integer, intent(in)  :: rlondim        ! declared size of output array   real(r8), intent(out) :: rlons(rlondim)! array of longitudes!---------------------------Local workspace-----------------------------   integer :: i                           ! loop index   integer :: chunkid                     ! global chunk id!-----------------------------------------------------------------------   chunkid = lchunks(lchunkid)   do i=1,chunks(chunkid)%ncols     rlons(i) = clon_p(chunks(chunkid)%lon(i),chunks(chunkid)%lat(i))   enddo   return   end subroutine get_rlon_all_p!!========================================================================   subroutine get_rlon_vec_p(lchunkid, lth, cols, rlons)!----------------------------------------------------------------------- ! ! Purpose: Return longitudes (in radians) for set of chunk columns! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use ppgrid   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lchunkid      ! local chunk id   integer, intent(in)  :: lth           ! number of column indices   integer, intent(in)  :: cols(lth)     ! column indices   real(r8), intent(out) :: rlons(lth)   ! array of longitudes!---------------------------Local workspace-----------------------------   integer :: i                          ! loop index   integer :: chunkid                    ! global chunk id!-----------------------------------------------------------------------   chunkid = lchunks(lchunkid)   do i=1,lth     rlons(i) = clon_p(chunks(chunkid)%lon(cols(i)), &                       chunks(chunkid)%lat(cols(i)))   enddo   return   end subroutine get_rlon_vec_p!!========================================================================   real(r8) function get_rlon_p(lchunkid, col)!----------------------------------------------------------------------- ! ! Purpose: Return longitude (in radians) for chunk column! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use ppgrid   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lchunkid      ! local chunk id   integer, intent(in)  :: col           ! column index!---------------------------Local workspace-----------------------------   integer :: chunkid                    ! global chunk id!-----------------------------------------------------------------------   chunkid = lchunks(lchunkid)   get_rlon_p = clon_p(chunks(chunkid)%lon(col),chunks(chunkid)%lat(col))   return   end function get_rlon_p!!========================================================================logical function chunk_index (idx)!----------------------------------------------------------------------- ! ! Purpose: Identify whether index is for a latitude or a chunk! ! Method: Quick hack, using convention that local chunk indices do not!         overlap latitude index range! ! Author: Pat Worley! !-----------------------------------------------------------------------   implicit none!------------------------------Arguments--------------------------------   integer, intent(in) :: idx              ! latitude or chunk index!!-----------------------------------------------------------------------!   if ((idx >= begchunk) .and. (idx <= endchunk)) then      chunk_index = .true.   else      chunk_index = .false.   endif!   return   end function chunk_index!!========================================================================   subroutine get_chunk_coord_p(lth, xylons, xylats, ckcols, ckcids)!----------------------------------------------------------------------- ! ! Purpose: Return local chunk coordinates for corresponding global !          (lon,lat) coordinates! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use pmgrid, only: iam   implicit none!------------------------------Arguments--------------------------------   integer, intent(in)  :: lth           ! number of coordinates   integer, intent(in)  :: xylons(lth)   ! longitude indices   integer, intent(in)  :: xylats(lth)   ! latitude indices   integer, intent(out) :: ckcols(lth)   ! column indices   integer, intent(out) :: ckcids(lth)   ! local chunk indices!---------------------------Local workspace-----------------------------   integer :: i                          ! loop index!-----------------------------------------------------------------------   do i=1,lth      if (chunks(knuhcs(xylons(i),xylats(i))%chunkid)%owner .eq. iam) then         ckcols(i) = knuhcs(xylons(i),xylats(i))%col         ckcids(i) = chunks(knuhcs(xylons(i),xylats(i))%chunkid)%lchunk      else         ckcols(i) = -1         ckcids(i) = -1      endif   enddo   return   end subroutine get_chunk_coord_p!!========================================================================   subroutine scatter_field_to_chunk(fdim,mdim,ldim, &                                     nlond,globalfield,localchunks)!----------------------------------------------------------------------- ! ! Purpose: Distribute longitude/latitude field!          to decomposed chunk data structure! ! Method: ! ! Author: Patrick Worley! !-----------------------------------------------------------------------   use precision   use pmgrid, only: iam, masterproc   implicit none!------------------------------Arguments--------------------------------   integer, intent(in) :: fdim      ! declared length of first dimension   integer, intent(in) :: mdim      ! declared length of middle dimension   integer, intent(in) :: ldim      ! declared length of last dimension   integer, intent(in) :: nlond     ! declared number of longitudes   real(r8), intent(in) :: globalfield(fdim,nlond,mdim,plat,ldim)                                     ! global field   real(r8), intent(out):: localchunks(fdim,pcols,mdim, &                                       begchunk:endchunk,ldim)                                     ! local chunks!---------------------------Local workspace-----------------------------   integer :: f,i,m,l,p                  ! loop indices   integer :: cid                        ! global chunk id   integer :: lcid                       ! local chunk id   integer :: lid                        ! local longitude index#if ( defined SPMD )   real(r8) gfield_p(fdim,mdim,ldim,ngcols)                                          ! vector to be scattered   real(r8) lfield_p(fdim,mdim,ldim,nlcols)                                          ! local component of scattered                                         !  vector   integer :: displs(0:npes-1)           ! scatter displacements   integer :: sndcnts(0:npes-1)          ! scatter send counts   integer :: recvcnt                    ! scatter receive count   integer :: beglcol                    ! beginning index for local columns                                         !  in global column ordering#endif!-----------------------------------------------------------------------#if ( defined SPMD )   displs(0) = 0   sndcnts(0) = fdim*mdim*ldim*gs_col_num(0)   beglcol = 0   do p=1,npes-1     displs(p) = displs(p-1) + sndcnts(p-1)     sndcnts(p) = fdim*mdim*ldim*gs_col_num(p)     if (p <= iam) then        beglcol = beglcol + gs_col_num(p-1)     endif   enddo   recvcnt = fdim*mdim*ldim*nlcols   if (masterproc) then! copy field into global (process-ordered) chunked data structure      do i=1,ngcols         cid = pgcols(i)%chunk         lid = pgcols(i)%ccol         do l=1,ldim            do m=1,mdim               do f=1,fdim                  gfield_p(f,m,l,i) = &                     globalfield(f,chunks(cid)%lon(lid), m, &                                 chunks(cid)%lat(lid),l)               end do            end do

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一卡二卡三卡国产欧美| 日韩视频免费观看高清完整版在线观看 | 亚洲欧洲av在线| 亚洲国产精品一区二区久久恐怖片| 激情综合网激情| 欧美日韩精品一区二区| 欧美高清一级片在线观看| 美国三级日本三级久久99| 色哟哟国产精品免费观看| 久久综合中文字幕| 免费人成黄页网站在线一区二区| 99精品国产91久久久久久| 精品嫩草影院久久| 蜜臀a∨国产成人精品| 欧美在线综合视频| 亚洲免费高清视频在线| 成人激情免费电影网址| 久久伊99综合婷婷久久伊| 三级欧美在线一区| 欧美伦理电影网| 亚洲一区二区三区在线看| 91亚洲精品乱码久久久久久蜜桃| 久久精品亚洲乱码伦伦中文| 久久精品久久99精品久久| 91精品国产综合久久香蕉麻豆| 亚洲欧美日本韩国| 色呦呦日韩精品| 亚洲三级电影网站| 色老汉一区二区三区| 国产精品人成在线观看免费| 丁香一区二区三区| 中文字幕欧美国产| 99re在线视频这里只有精品| 国产精品美女久久久久久久久久久| 极品销魂美女一区二区三区| 精品久久一区二区| 国产精品77777| 欧美国产日本视频| 色综合网色综合| 亚洲黄色在线视频| 欧美精品欧美精品系列| 日韩影院免费视频| 精品欧美一区二区三区精品久久| 久久国产成人午夜av影院| 久久久久九九视频| 成人激情黄色小说| 亚洲国产欧美另类丝袜| 91精品国产免费久久综合| 久久99久国产精品黄毛片色诱| 2020国产精品| 91视频免费播放| 午夜欧美大尺度福利影院在线看| 欧美精品视频www在线观看| 日韩成人伦理电影在线观看| 精品久久久久久久久久久久包黑料 | 欧美精品一区二区三区四区| 国产一区在线不卡| 亚洲婷婷国产精品电影人久久| 在线观看亚洲精品视频| 六月丁香婷婷久久| 中文字幕乱码日本亚洲一区二区 | 国产一区二区三区精品欧美日韩一区二区三区 | 91热门视频在线观看| 午夜精品在线看| 久久久久久夜精品精品免费| 不卡的电影网站| 免费观看一级欧美片| 国产精品美女一区二区三区 | 久久久久久久久一| 色婷婷久久久亚洲一区二区三区| 日韩av在线免费观看不卡| 国产欧美日韩精品一区| 欧美日韩免费视频| 国产成人精品影视| 五月婷婷另类国产| 亚洲欧美中日韩| 日韩欧美视频一区| 91电影在线观看| 国产91丝袜在线观看| 日韩经典一区二区| 亚洲天堂精品在线观看| 精品国产1区2区3区| 日本电影欧美片| 成人午夜视频在线观看| 另类小说综合欧美亚洲| 亚洲乱码一区二区三区在线观看| 精品日韩在线一区| 欧美日韩免费电影| 91国产精品成人| 99riav一区二区三区| 国产一区二区不卡在线| 日韩高清欧美激情| 亚洲丰满少妇videoshd| 亚洲视频一区二区在线| 国产欧美一区在线| 2020国产精品久久精品美国| 欧美一区二区福利视频| 欧美日韩一本到| 在线精品国精品国产尤物884a| 不卡av免费在线观看| 国产成人精品免费视频网站| 麻豆精品在线观看| 免费不卡在线观看| 日韩av一区二区在线影视| 亚洲观看高清完整版在线观看| 国产精品不卡视频| 国产精品久久久一本精品| 国产性做久久久久久| 欧美精品一区二区蜜臀亚洲| 日韩视频一区二区在线观看| 欧美精品亚洲二区| 日韩一区二区三区视频在线 | 91黄色在线观看| 色偷偷久久一区二区三区| 91丨porny丨国产入口| 94色蜜桃网一区二区三区| 成人黄色大片在线观看| 成人av高清在线| 91丨九色丨蝌蚪富婆spa| 色婷婷久久久久swag精品| 精品视频在线免费| 欧美一三区三区四区免费在线看| 欧美日韩激情在线| 日韩一本二本av| 精品不卡在线视频| 国产亚洲一区二区三区在线观看| 久久这里只有精品视频网| 国产日产亚洲精品系列| 亚洲欧洲韩国日本视频 | 国产亚洲精品免费| 国产精品欧美久久久久一区二区| 国产精品无码永久免费888| 亚洲私人黄色宅男| 亚洲在线一区二区三区| 天堂va蜜桃一区二区三区| 久久国产精品免费| 成人久久18免费网站麻豆| 日本福利一区二区| 日韩欧美在线综合网| 国产欧美精品一区| 一区二区三区在线观看网站| 偷偷要91色婷婷| 国产精品99久久久久久似苏梦涵| 99久久久免费精品国产一区二区| 欧美色图第一页| 久久久一区二区三区捆绑**| 亚洲精品日日夜夜| 极品少妇一区二区| 日本久久一区二区| 久久人人爽人人爽| 亚洲综合色在线| 国产一二精品视频| 欧美视频在线播放| 国产日韩精品视频一区| 午夜久久久久久| av不卡免费在线观看| 日韩一级完整毛片| 亚洲毛片av在线| 国模冰冰炮一区二区| 欧美日韩视频在线一区二区| 久久久九九九九| 日韩国产精品久久久| 91麻豆精东视频| 精品处破学生在线二十三| 亚洲不卡av一区二区三区| 国产福利一区二区三区在线视频| 欧美性淫爽ww久久久久无| 国产亚洲精品福利| 麻豆成人综合网| 欧美日精品一区视频| 国产精品网站导航| 精品一区二区三区视频| 欧美日韩精品一区二区三区蜜桃 | 久久综合九色综合欧美亚洲| 亚洲精品成人天堂一二三| 国产v日产∨综合v精品视频| 欧美一卡二卡在线观看| 一区二区三国产精华液| 不卡的av中国片| 国产欧美一区在线| 国产一区二区0| 日韩三级精品电影久久久 | 欧美午夜精品久久久| 国产精品电影一区二区三区| 久久99精品久久久久久久久久久久| 欧美少妇性性性| 亚洲蜜臀av乱码久久精品| 成人免费毛片嘿嘿连载视频| 久久久精品免费免费| 久久国产精品区| 精品国产sm最大网站免费看| 久久精品免费看| 精品久久久久香蕉网| 精品一区二区免费在线观看| 欧美人妇做爰xxxⅹ性高电影 | 欧美日韩精品系列| 五月婷婷欧美视频| 欧美一区二区三区视频免费播放| 亚洲成人午夜影院| 制服视频三区第一页精品|