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

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

?? ice_data.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 2 頁
字號:
#include <misc.h>#include <params.h>!----------------------------------------------------------------------- !! BOP!! !MODULE: ice_data!! !DESCRIPTION:	Module to handle dealing with the ICE data.!! Public interfaces:!!	iceini -- Initialization and reading of dataset.!	iceint -- Interpolate dataset ICE to current time.!!----------------------------------------------------------------------- module ice_data!! USES:!  use precision, only: r8  use ice_constants  use pmgrid,    only: plon, plat, masterproc  use ppgrid,    only: pcols, begchunk, endchunk  use phys_grid, only: scatter_field_to_chunk, get_ncols_p,get_lat_all_p  use comsrf,    only: plevmx, icefrac,previcefrac,update_srf_fractions  use physconst, only: tmelt  use commap,    only: clat, clon  implicit none!----------------------------------------------------------------------- ! PUBLIC: Make default data and interfaces private!----------------------------------------------------------------------- !! ! PUBLIC MEMBER FUNCTIONS:!  public iceini   ! Initialization  public iceint   ! Time interpolation of ICE data  logical (kind=log_kind), parameter :: snowice_climatology = .true.!===============================================================================!EOP!===============================================================================!----------------------------------------------------------------------- ! PRIVATE: Everthing else is private to this module!-----------------------------------------------------------------------   private   ! By default all data is private to this module  integer, parameter :: toticesz=2000  real(r8), parameter :: daysperyear = 365.0  ! Number of days in a year  real(r8), allocatable, dimension(:,:,:) :: &      icebdy         ! ICE values on boundary dataset (pcols,begchunk:endchunk,2)  real(r8), allocatable, dimension(:,:) :: &      ice            ! Interpolated model ice values (pcols,begchunk:endchunk)  real(r8) :: cdayicem   ! Calendar day for prv. month ICE values read in  real(r8) :: cdayicep   ! Calendar day for nxt. month ICE values read in        integer :: nm,np   ! Array indices for prv., nxt month ice data  integer :: nm1  integer :: nmshift,npshift ! Array indices for prv., nxt month ice data  integer :: iceid   ! netcdf id for ice variable  integer :: lonsiz  ! size of longitude dimension on ice dataset  integer :: levsiz  ! size of level dimension on ice dataset  integer :: latsiz  ! size of latitude dimension on ice dataset  integer :: timesiz ! size of time dimension on ice dataset  integer :: np1     ! current forward time index of ice dataset  integer :: date_ice(toticesz)! Date on ice dataset (YYYYMMDD)  integer :: sec_ice(toticesz) ! seconds of date on ice dataset (0-86399)   real(r8):: snwbdynh(2)   ! snow height boundary values nrthrn hmsphr  real(r8):: snwbdysh(2)   ! snow height boundary values sthrn hmsphr  real(r8):: snwcnh(12)   ! mean snow cover (m) first of month (nrthrn hmsphr)  real(r8):: snwcsh(12)   ! mean snow cover (m) first of month (sthrn hmsphr)  data snwcnh   /  .23,  .25,  .27,  .29,  .33,  .18, &                 0.,   0.,  .02,  .12,  .18,  .21 /   data snwcsh   /  0.,   0.,  .02,  .12,  .18,  .21, &                  .23,  .25,  .27,  .29,  .33,  .18/!===============================================================================CONTAINS!===============================================================================!======================================================================! PUBLIC ROUTINES: Following routines are publically accessable!======================================================================!----------------------------------------------------------------------- ! ! BOP!! !IROUTINE: iceini!! !DESCRIPTION:!! Initialize the procedure for specifying sea surface temperatures! Do initial read of time-varying ice boundary dataset, reading two! consecutive months on either side of the current model date.!! Method: ! ! Author: L.Bath! !-----------------------------------------------------------------------!! !INTERFACE!subroutine iceini!! !USES:!  use rgrid, only: nlon  use error_messages, only: alloc_err, handle_ncerr  use time_manager, only: get_curr_date, get_curr_calday  use ice_constants#if ( defined SPMD )  use mpishorthand, only: mpicom, mpiint, mpir8#endif!! EOP!!---------------------------Common blocks-------------------------------#include <comctl.h>#include <comlun.h>!---------------------------Local variables-----------------------------  integer dateid                ! netcdf id for date variable  integer secid                 ! netcdf id for seconds variable  integer londimid              ! netcdf id for longitude variable  integer latdimid              ! netcdf id for latitude variable  integer lonid                 ! netcdf id for longitude variable  integer latid                 ! netcdf id for latitude variable  integer timeid                ! netcdf id for time variable  integer nlonid                ! netcdf id for nlon variable (rgrid)  integer cnt3(3)               ! array of counts for each dimension  integer strt3(3)              ! array of starting indices  integer n                     ! indices  integer nlon_ice(plat)        ! number of lons per lat on bdy dataset  integer i                     ! index into chunk  integer j                     ! latitude index  integer k  integer ncol  integer istat                 ! error return  integer lchnk           ! chunk to process  integer  :: yr, mon, day      ! components of a date  integer  :: ncdate            ! current date in integer format [yyyymmdd]  integer  :: ncsec             ! current time of day [seconds]  real(r8) calday               ! calendar day (includes yr if no cycling)  real(r8) caldayloc            ! calendar day (includes yr if no cycling)  real(r8) xvar(plon,plat,2)    ! work space !-----------------------------------------------------------------------!! For aqua_planet there is no ice anywhere!  if(aqua_planet)then     icefrac(:pcols,begchunk:endchunk) = 0.0     call update_srf_fractions     return  end if! initialize ice constants	  call init_constants!! Initialize time indices!  nm = 1  np = 2!! Allocate space for data.!  allocate( ice(pcols,begchunk:endchunk), stat=istat )  call alloc_err( istat, 'iceini', 'ice', &       pcols*(endchunk-begchunk+1) )  allocate( icebdy(pcols,begchunk:endchunk,2), stat=istat )  call alloc_err( istat, 'iceini', 'icebdy', &       pcols*(endchunk-begchunk+1)*2 )!! SPMD: Master does all the work.!  if (masterproc) then!! Use year information only if not cycling ice dataset!     calday = get_curr_calday()     call get_curr_date(yr, mon, day, ncsec)     if (icecyc) then        caldayloc = calday     else        caldayloc = calday + yr*daysperyear     end if     ncdate = yr*10000 + mon*100 + day!! Get and check dimension info!     call wrap_inq_dimid( ncid_sst, 'lon', londimid   )     call wrap_inq_dimid( ncid_sst, 'time', timeid  )     call wrap_inq_dimid( ncid_sst, 'lat', latdimid   )     call wrap_inq_dimlen( ncid_sst, londimid, lonsiz   )     if (lonsiz /= plon) then        write(6,*)'ICEINI: lonsiz=',lonsiz,' must = plon=',plon        call endrun     end if     call wrap_inq_dimlen( ncid_sst, latdimid, latsiz   )     if (latsiz /= plat) then        write(6,*)'ICEINI: latsiz=',latsiz,' must = plat=',plat        call endrun     end if     call wrap_inq_dimlen( ncid_sst, timeid, timesiz   )!! Check to make sure space allocated for time variables is sufficient!     if (timesiz>toticesz) then        write(6,*)'ICEINI:  Allocated space for ice data is insufficient.'        write(6,*)'Please increase parameter toticesz to',timesiz,' and recompile.'        call endrun     end if!! Check to ensure reduced or not grid of dataset matches that of model!     if (fullgrid) then        call wrap_inq_varid( ncid_sst, 'lon', lonid   )     else        call wrap_inq_varid (ncid_sst, 'nlon', nlonid)        call wrap_get_var_int (ncid_sst, nlonid, nlon_ice)        do j=1,plat           if (nlon_ice(j) /= nlon(j)) then              write(6,*)'ICEINI: model grid does not match dataset grid'              call endrun           end if        end do     end if     call wrap_inq_varid( ncid_sst, 'date', dateid   )     call wrap_inq_varid( ncid_sst, 'datesec', secid   )     call wrap_inq_varid( ncid_sst, 'ice_cov', iceid   )     call wrap_inq_varid( ncid_sst, 'lat', latid   )!! Retrieve entire date and sec variables.!     call wrap_get_var_int (ncid_sst,dateid,date_ice)     call wrap_get_var_int (ncid_sst,secid,sec_ice)     if (icecyc) then        if (timesiz<12) then            write(6,*)'ICEINI: ERROR'            write(6,*)'When cycling ice, ice data set must have 12'            write(6,*)'consecutive months of data starting with Jan'           write(6,*)'Current dataset has only ',timesiz,' months'           call endrun        end if        do n = 1,12           if (mod(date_ice(n),10000)/100/=n) then              write(6,*)'ICEINI: ERROR'               write(6,*)'When cycling ice, ice data set must have 12'               write(6,*)'consecutive months of data starting with Jan'              write(6,*)'Month ',n,' of ice data set is out of order'              call endrun           end if        end do     end if     strt3(1) = 1     strt3(2) = 1     strt3(3) = 1     cnt3(1)  = lonsiz     cnt3(2)  = latsiz     cnt3(3)  = 1!! Special code for interpolation between December and January!     if (icecyc) then        n = 12        np1 = 1        call bnddyi(date_ice(n  ), sec_ice(n  ), cdayicem)        call bnddyi(date_ice(np1), sec_ice(np1), cdayicep)        if (caldayloc<=cdayicep .or. caldayloc>cdayicem) then           strt3(3) = n           call wrap_get_vara_realx (ncid_sst,iceid,strt3,cnt3,xvar(1,1,nm))           snwbdynh(nm)=snwcnh(n)           snwbdysh(nm)=snwcsh(n)           strt3(3) = np1                                                 call wrap_get_vara_realx (ncid_sst,iceid,strt3,cnt3,xvar(1,1,np))           snwbdynh(np)=snwcnh(np1)           snwbdysh(np)=snwcsh(np1)           goto 10        end if     end if!! Normal interpolation between consecutive time slices.!     do n=1,timesiz-1        np1 = n + 1        call bnddyi(date_ice(n  ), sec_ice(n  ), cdayicem)        call bnddyi(date_ice(np1), sec_ice(np1), cdayicep)        if (.not.icecyc) then           yr = date_ice(n)/10000           cdayicem = cdayicem + yr*daysperyear           yr = date_ice(np1)/10000           cdayicep = cdayicep + yr*daysperyear        end if        if (caldayloc>cdayicem .and. caldayloc<=cdayicep) then           strt3(3) = n           call wrap_get_vara_realx (ncid_sst,iceid,strt3,cnt3,xvar(1,1,nm))           snwbdynh(nm)=snwcnh(n)           snwbdysh(nm)=snwcsh(n)           strt3(3) = np1                                                 call wrap_get_vara_realx (ncid_sst,iceid,strt3,cnt3,xvar(1,1,np))           snwbdynh(np)=snwcnh(np1)           snwbdysh(np)=snwcsh(np1)           goto 10        end if     end do     write(6,*)'ICEINI: Failed to find dates bracketing ncdate, ncsec=', ncdate, ncsec     call endrun10   continue     write(6,*)'ICEINI: Read ice data for dates ',date_ice(n),sec_ice(n), &          ' and ',date_ice(np1),sec_ice(np1)#if (defined SPMD )     call mpibcast( timesiz, 1, mpiint, 0, mpicom )     call mpibcast( date_ice, toticesz, mpiint, 0, mpicom )     call mpibcast( sec_ice, toticesz, mpiint, 0, mpicom )     call mpibcast( cdayicem, 1, mpir8, 0, mpicom )     call mpibcast( cdayicep, 1, mpir8, 0, mpicom )     call mpibcast( np1, 1, mpiint, 0, mpicom )     call mpibcast( snwbdynh, 2, mpir8, 0, mpicom )     call mpibcast( snwbdysh, 2, mpir8, 0, mpicom )  else     call mpibcast( timesiz, 1, mpiint, 0, mpicom )     call mpibcast( date_ice, toticesz, mpiint, 0, mpicom )     call mpibcast( sec_ice, toticesz, mpiint, 0, mpicom )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩成人av| 国产精品天天看| 成人avav影音| 青青草原综合久久大伊人精品优势| 国产精品久久综合| 日韩精品一区二区三区四区| 色av成人天堂桃色av| 高清国产一区二区三区| 日韩成人一级片| 午夜精品一区二区三区三上悠亚| 国产精品网站在线播放| 精品国产一区二区在线观看| 色婷婷精品久久二区二区蜜臂av | 日韩免费福利电影在线观看| 99久久免费视频.com| 国产乱码精品1区2区3区| 日韩精品乱码免费| 一二三四区精品视频| 欧美国产丝袜视频| 久久久.com| 精品国产制服丝袜高跟| 91精品国产日韩91久久久久久| 波多野结衣在线一区| 蜜桃视频一区二区| 日本美女视频一区二区| 日韩中文欧美在线| 亚洲成va人在线观看| 亚洲特黄一级片| 国产精品女同互慰在线看| 国产偷国产偷亚洲高清人白洁| 欧美成人精品福利| 欧美一区二区精品久久911| 欧美日韩国产高清一区二区三区| 91亚洲精品久久久蜜桃网站| 成人免费高清在线| www.久久久久久久久| 成人免费高清视频在线观看| 国产suv精品一区二区三区| 国产成人在线影院| 国产精品伊人色| 国产99精品国产| 成人一区二区三区中文字幕| 成人一区二区三区在线观看| 春色校园综合激情亚洲| 粉嫩久久99精品久久久久久夜| 成人综合在线观看| 欧美日韩国产经典色站一区二区三区 | 国产麻豆精品在线观看| 国内一区二区视频| 国内久久精品视频| 成人国产精品免费网站| 91视频一区二区| 91成人免费在线| 欧美伦理视频网站| 欧美一级久久久| 日韩三级电影网址| 欧美高清在线精品一区| 国产精品久久久久久福利一牛影视 | 欧美国产日韩精品免费观看| 国产精品色在线| 一区二区三区高清不卡| 亚洲成人你懂的| 久久精品国产99久久6| 国产乱人伦精品一区二区在线观看| 粉嫩一区二区三区在线看| 色88888久久久久久影院野外| 欧美日韩免费一区二区三区视频| 91精品国产高清一区二区三区蜜臀 | 欧美精品丝袜中出| 精品精品欲导航| 中文字幕亚洲成人| 亚洲国产综合91精品麻豆| 久久aⅴ国产欧美74aaa| av亚洲产国偷v产偷v自拍| 在线观看日韩电影| 精品国产亚洲一区二区三区在线观看| 中文字幕不卡的av| 亚洲bt欧美bt精品| 国产成人精品午夜视频免费 | 国产亚洲综合在线| 亚洲午夜久久久久| 国产一区二区在线观看免费| 99久久精品情趣| 日韩精品中文字幕一区二区三区| 亚洲欧洲日产国码二区| 日本91福利区| 色综合色综合色综合色综合色综合 | 久久99国产精品尤物| av日韩在线网站| 日韩视频一区二区| 亚洲视频一区二区在线观看| 日本美女一区二区三区视频| av激情成人网| 久久女同精品一区二区| 一区二区三区国产豹纹内裤在线| 国产麻豆精品视频| 欧美日韩国产a| 国产精品国产三级国产专播品爱网| 亚洲第一激情av| 91在线视频官网| 狠狠色狠狠色综合系列| 国产精品福利一区二区三区| 捆绑调教美女网站视频一区| 欧美在线综合视频| 中文字幕成人在线观看| 九九精品视频在线看| 欧美日韩午夜精品| 亚洲激情中文1区| 成人免费视频视频在线观看免费| 91精品国产入口在线| 亚洲一区二区四区蜜桃| 成年人午夜久久久| 久久先锋影音av鲁色资源| 日韩中文欧美在线| 欧美日韩三级在线| 亚洲一区二区三区免费视频| 99久久久免费精品国产一区二区| 国产日韩v精品一区二区| 黑人巨大精品欧美一区| 欧美成人vps| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩精品综合在线| 一区二区理论电影在线观看| 99精品久久久久久| 国产精品家庭影院| 97久久超碰国产精品电影| 国产精品乱子久久久久| 粉嫩绯色av一区二区在线观看| 久久久久久久久久久久久夜| 精品中文字幕一区二区小辣椒 | 久久精品亚洲麻豆av一区二区| 男男视频亚洲欧美| 日韩一区二区三区精品视频| 亚瑟在线精品视频| 欧美久久高跟鞋激| 免费av成人在线| 精品免费一区二区三区| 九九久久精品视频| 久久久久久久免费视频了| 国产精品亚洲人在线观看| 欧美激情一区在线| www.欧美日韩| 亚洲在线观看免费视频| 欧美亚洲另类激情小说| 亚洲成人综合视频| 欧美一区二区三区公司| 激情另类小说区图片区视频区| 精品欧美一区二区在线观看| 国产一区二区导航在线播放| 欧美激情一区二区三区| www..com久久爱| 亚洲网友自拍偷拍| 日韩午夜在线播放| 国产不卡高清在线观看视频| 国产精品福利一区| 欧美日韩免费电影| 九九国产精品视频| 国产精品久久久久影院老司| 色婷婷激情综合| 日本在线不卡一区| 国产欧美一区二区精品性 | 精品电影一区二区三区| 国产91高潮流白浆在线麻豆| 中文字幕一区在线观看视频| 欧美系列日韩一区| 久久成人精品无人区| 亚洲国产岛国毛片在线| 精品污污网站免费看| 精品在线一区二区三区| 国产性色一区二区| 欧美日韩一区国产| 国产成人综合自拍| 亚洲午夜羞羞片| 久久久国产午夜精品| 9色porny自拍视频一区二区| 亚洲午夜在线观看视频在线| 精品国产一区二区在线观看| 99re亚洲国产精品| 老汉av免费一区二区三区| 亚洲图片激情小说| 日韩午夜在线影院| 色网综合在线观看| 国产一区二区三区免费看| 亚洲免费观看高清完整版在线观看| 欧美一区二区三区播放老司机| 91在线国内视频| 精品一区二区三区在线播放| 亚洲精品中文字幕乱码三区| 久久久久久麻豆| 欧美肥妇free| 91首页免费视频| 国产一区免费电影| 亚洲高清中文字幕| 成人欧美一区二区三区黑人麻豆 | 日韩一区二区在线观看视频播放| 国产乱码精品一区二区三| 午夜av电影一区| 综合久久久久综合| 国产无人区一区二区三区| 日韩欧美一卡二卡|