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

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

?? so4bnd.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 2 頁
字號:
#include <misc.h>#include <params.h>module so4bnd!----------------------------------------------------------------------- ! ! Purpose: !! SO4 boundary module.  Deals with interpolating SO4 datasets.! ! Author: Brian Eaton! !-----------------------------------------------------------------------   use precision!!JR Stuck this "only" business in because Compaq compiler barfed on pcnst, pnats having dual!JR declarations when radctl.F90 gets compiled.!   use pmgrid,    only: plon, plat, masterproc   use ppgrid,    only: pcols, pver, begchunk, endchunk   use phys_grid, only: scatter_field_to_chunk, get_ncols_p   implicit none   save!! Floating point data!   real(r8), private, allocatable, dimension(:,:,:,:) :: &      sulfbioi    ! input sulfate bio mixing ratios (pcols,pver,begchunk:endchunk,2)   real(r8), private, allocatable, dimension(:,:,:) :: &      sulfbio     ! time interpolated sulfate bio mixing ratios (pcols,pver,begchunk:endchunk)   real(r8), private, allocatable, dimension(:,:,:,:) :: &      sulfanti    ! input sulfate ant mixing ratios (pcols,pver,begchunk:endchunk,2)   real(r8), private, allocatable, dimension(:,:,:) :: &      sulfant     ! time interpolated sulfate ant mixing ratios (pcols,pver,begchunk:endchunk)   real(r8), private :: sulfscalef                  ! Sulfate scale factor (for 1870->1990 ramp)    real(r8), private :: cdaysulfm           ! calendar day for prv. month sulfate values read in   real(r8), private :: cdaysulfp           ! calendar day for nxt. month sulfate values read in   integer, private :: date_sulf(1000)              ! Date on sulfate dataset (YYYYMMDD)   integer, private :: sec_sulf(1000)               ! seconds of date on sulfate dataset (0-86399)!! just check that hard-wired size is big enough!!! Integer data!   integer, private :: nm,np      ! Array indices for prv., nxt month sulfate data   integer, private :: np1        ! current forward time index of sulfate dataset   integer, private :: ncid_sulf  ! sulfate dataset id   integer, private :: sulfbio_id ! netcdf id for sulfate mmr bio variable   integer, private :: sulfant_id ! netcdf id for sulfate mmr anth variable   integer, private :: lonsiz     ! size of longitude dimension on sulfate dataset   integer, private :: levsiz     ! size of level dimension on sulfate dataset   integer, private :: latsiz     ! size of latitude dimension on sulfate dataset   integer, private :: timsiz     ! size of time dimension on sulfate dataset !! Logical variables!   logical, private :: sulfcyc    ! If sulfur cycle code turned on or not   character*80, private ::  sulfdata ! full pathname for sulfate datasetcontainssubroutine so4bndnl( xsulfdata )!----------------------------------------------------------------------- ! ! Purpose: Set variables from namelist input.! !-----------------------------------------------------------------------!-----------------------------------------------------------------------   implicit none!-----------------------------------------------------------------------   character*80, intent(in):: xsulfdata ! full pathname for sulfate dataset!-----------------------------------------------------------------------   sulfdata = xsulfdata   if (masterproc) &      write(6,*)'Time-variant sulfate dataset is: ',trim(sulfdata)   returnend subroutine so4bndnl!###############################################################################subroutine sulfini!----------------------------------------------------------------------- ! ! Purpose: Do initial read of time-variant sulfate dataset, containing!          sulfate mixing ratios as a function of time.  It is currently!          required that the sulfate dataset have the *SAME* horizontal!          and vertical resolution as the model. Therefore, ONLY a time!          interpolation of the dataset is currently performed.! !-----------------------------------------------------------------------   use ioFileMod   use error_messages, only: alloc_err, handle_ncerr   use time_manager, only: get_curr_date, get_perp_date, get_curr_calday, &                           is_perpetual#if ( defined SPMD )   use mpishorthand#endif!-----------------------------------------------------------------------   implicit none!-----------------------------------------------------------------------#include <comctl.h>!-----------------------------------------------------------------------#include <comlun.h>!-----------------------------------------------------------------------   include 'netcdf.inc'!! Local workspace!   character(len=256) locfn      ! local filename        !   integer dateid                ! netcdf id for date variable   integer secid                 ! netcdf id for seconds variable   integer londimid              ! netcdf id for longitude dimension   integer latdimid              ! netcdf id for latitude dimension   integer levdimid              ! netcdf id for level dimension   integer lonid                 ! netcdf id for longitude variable   integer latid                 ! netcdf id for latitude variable   integer levid                 ! netcdf id for level variable   integer timeid                ! netcdf id for time variable   integer cnt4(4)               ! array of counts for each dimension   integer strt4(4)              ! array of starting indices   integer i, k, lat, n          ! longitude, level, latitude, time indices   integer istat                 ! error return   integer dimids(nf_max_var_dims) ! netcdf variable shape   integer  :: yr, mon, day, ncsec ! components of a date   integer  :: ncdate              ! current date in integer format [yyyymmdd]   real(r8) :: calday              ! current calendar day   real(r8) caldayloc                ! calendar day (includes yr if no cycling)   real(r8) xsulfbioi(plon,pver,plat,2)  ! input sulfate bio mixing ratios   real(r8) xsulfanti(plon,pver,plat,2)  ! input sulfate ant mixing ratios!!-----------------------------------------------------------------------!! Initialize time counters!   nm = 1   np = 2!! Allocate space for data.!  allocate( sulfbioi(pcols,pver,begchunk:endchunk,2), stat=istat )  call alloc_err( istat, 'sulfini', 'sulfbioi', &       pcols*pver*(endchunk-begchunk+1)*2 )  allocate( sulfbio(pcols,pver,begchunk:endchunk), stat=istat )  call alloc_err( istat, 'sulfini', 'sulfbio', &       pcols*pver*(endchunk-begchunk+1) )  allocate( sulfanti(pcols,pver,begchunk:endchunk,2), stat=istat )  call alloc_err( istat, 'sulfini', 'sulfanti', &       pcols*pver*(endchunk-begchunk+1)*2 )  allocate( sulfant(pcols,pver,begchunk:endchunk), stat=istat )  call alloc_err( istat, 'sulfini', 'sulfant', &       pcols*pver*(endchunk-begchunk+1) )!! SPMD: Master does all the work.  Sends needed info to slaves!   if (masterproc) then!! Obtain dataset!      call getfil(sulfdata, locfn)      call wrap_open(locfn, 0, ncid_sulf)!! Currently assume that cycle over 12 months of data!      sulfcyc = .true.!! Use year information only if not cycling sulfate dataset!      calday = get_curr_calday()      if ( is_perpetual() ) then         call get_perp_date(yr, mon, day, ncsec)      else         call get_curr_date(yr, mon, day, ncsec)      end if      ncdate = yr*10000 + mon*100 + day      if (sulfcyc) then         caldayloc = calday      else         caldayloc = calday + yr*365.      end if!! Obtain dimension id's!      call wrap_inq_dimid( ncid_sulf, 'lon', londimid)      call wrap_inq_dimid( ncid_sulf, 'lat', latdimid)      call wrap_inq_dimid( ncid_sulf, 'lev', levdimid)      call wrap_inq_dimid( ncid_sulf, 'time',timeid  )!! Obtain size of dimensions.! Check that horizontal and vertical dimensions are same as model's!      call wrap_inq_dimlen( ncid_sulf, londimid, lonsiz   )      if (lonsiz /= plon) then         write(6,*)'SULFINI: lonsiz=',lonsiz,' must = ',plon         call endrun      end if      call wrap_inq_dimlen( ncid_sulf, latdimid, latsiz   )      if (latsiz /= plat) then         write(6,*)'SULFINI: latsiz=',latsiz,' must = ',plat         call endrun      end if      call wrap_inq_dimlen( ncid_sulf, levdimid, levsiz   )      if (levsiz /= pver) then         write(6,*)'SULFINI: levsiz=',levsiz,' must = ',pver         call endrun      end if      call wrap_inq_dimlen( ncid_sulf, timeid, timsiz   )!! Obtain date info id's!      call wrap_inq_varid( ncid_sulf, 'date'   , dateid  )      call wrap_inq_varid( ncid_sulf, 'datesec', secid   )! ! Obtain sulfate mixing ratio id!      call wrap_inq_varid( ncid_sulf, 'sulfmmrbio' , sulfbio_id )      call wrap_inq_varid( ncid_sulf, 'sulfmmranth', sulfant_id )      call wrap_inq_vardimid (ncid_sulf, sulfbio_id, dimids)      if (dimids(1) /= londimid .and. dimids(2) /= levdimid .and. dimids(3) /= latdimid) then         write(6,*)'SULFINI: Data must be ordered lon, lev, lat, time'         call endrun      end if!! just check that hard-wired size is big enough!      if (timsiz > 1000) then         write(6,*)'SO4BND: timsiz=',timsiz,' too small'         call endrun      end if!! Determine date ids!      call wrap_get_var_int (ncid_sulf, dateid, date_sulf)      call wrap_get_var_int (ncid_sulf, secid, sec_sulf)!! If cycling data first do error checks!      if (sulfcyc) then         if (timsiz.lt.12) then             write(6,*)'SULFINI: When cycling sulfate dataset must have 12 consecutive ', &                      'months of data starting with Jan'            write(6,*)'Current dataset has only ',timsiz,' months'            call endrun         end if         do n = 1,12            if (mod(date_sulf(n),10000)/100/=n) then               write(6,*)'SULFINI: When cycling sulfate dataset must have 12 consecutive ', &                         'months of data starting with Jan'               write(6,*)'Month ',n,' of dataset says date= ', date_sulf(n)               call endrun            end if         end do      end if!! Set up hyperslab corners!      strt4(1) = 1      strt4(2) = 1      strt4(3) = 1      cnt4(1)  = lonsiz      cnt4(2)  = levsiz      cnt4(3)  = latsiz      cnt4(4)  = 1!! Special code for interpolation between December and January!      if (sulfcyc) then         n = 12         np1 = 1         call bnddyi(date_sulf(n  ), sec_sulf(n  ), cdaysulfm)         call bnddyi(date_sulf(np1), sec_sulf(np1), cdaysulfp)         if (caldayloc.le.cdaysulfp .or. caldayloc.gt.cdaysulfm) then            strt4(4) = n            call wrap_get_vara_realx (ncid_sulf,sulfbio_id,strt4,cnt4,xsulfbioi(1,1,1,nm))            call wrap_get_vara_realx (ncid_sulf,sulfant_id,strt4,cnt4,xsulfanti(1,1,1,nm))            strt4(4) = np1            call wrap_get_vara_realx (ncid_sulf,sulfbio_id,strt4,cnt4,xsulfbioi(1,1,1,np))            call wrap_get_vara_realx (ncid_sulf,sulfant_id,strt4,cnt4,xsulfanti(1,1,1,np))            goto 10         end if      end if

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲视频| 久久精品无码一区二区三区| 一区二区三区中文免费| 91麻豆高清视频| 亚洲综合免费观看高清完整版| 91年精品国产| 性欧美疯狂xxxxbbbb| 欧美一区二区三区视频免费| 久久精品国产一区二区| 国产午夜精品在线观看| 色综合天天综合网天天看片 | 欧美一区在线视频| 美女看a上一区| 欧美国产日本视频| 色婷婷精品大视频在线蜜桃视频| 亚洲精品欧美在线| 欧美精品黑人性xxxx| 久久精品国产网站| 亚洲欧洲av色图| 欧美肥大bbwbbw高潮| 国产成人一区在线| 一区二区三区四区高清精品免费观看| 91精品蜜臀在线一区尤物| 国产美女视频一区| 亚洲一区二区三区视频在线| 欧美成人精品1314www| 91色porny在线视频| 青青草原综合久久大伊人精品优势 | 久久嫩草精品久久久精品一| 色狠狠综合天天综合综合| 麻豆视频一区二区| 亚洲蜜臀av乱码久久精品| 日韩免费观看高清完整版| 成人午夜av在线| 青椒成人免费视频| 中文字幕中文字幕一区二区| 欧美一区二区在线看| 91浏览器打开| 国产乱子轮精品视频| 亚洲成人综合网站| 国产精品污网站| 日韩女优毛片在线| 欧美日韩一二三区| 99视频精品免费视频| 九一久久久久久| 日韩在线一二三区| 亚洲综合激情另类小说区| 国产精品视频线看| 精品国产伦理网| 91精品国产综合久久婷婷香蕉 | 欧美色图在线观看| 成人天堂资源www在线| 精品一区二区三区的国产在线播放| 一区二区三区四区在线| 国产精品入口麻豆原神| 久久久青草青青国产亚洲免观| 欧美精品高清视频| 欧美日韩激情一区二区三区| 99久久久久久| a在线播放不卡| 国产a视频精品免费观看| 激情综合五月婷婷| 麻豆精品一区二区三区| 日韩av中文在线观看| 婷婷久久综合九色综合伊人色| 一区二区三区在线视频观看58 | 欧美在线制服丝袜| 91视频.com| 91丨porny丨首页| 99久久99久久精品免费看蜜桃| 成人黄色免费短视频| 成人美女视频在线观看18| 成人午夜电影久久影院| 成人免费毛片app| av在线不卡电影| 99久久伊人网影院| 91小视频在线免费看| 99视频在线精品| 色94色欧美sute亚洲线路二| 一本久久a久久精品亚洲| 一本色道亚洲精品aⅴ| 在线观看91精品国产入口| 精品污污网站免费看| 91精品黄色片免费大全| 欧美大片在线观看一区二区| 久久久久久免费网| 国产精品乱码人人做人人爱| 综合电影一区二区三区| 亚洲综合激情另类小说区| 天天影视网天天综合色在线播放 | 欧美tickling网站挠脚心| 精品国产乱码久久久久久夜甘婷婷| 久久一区二区三区四区| 日本一区二区三区高清不卡| 自拍偷在线精品自拍偷无码专区| 一区二区三国产精华液| 爽爽淫人综合网网站| 国产真实乱对白精彩久久| 国产99久久久国产精品免费看| 91在线无精精品入口| 在线免费不卡视频| 正在播放一区二区| 国产清纯白嫩初高生在线观看91 | 亚洲日本va午夜在线影院| 亚洲精品免费在线观看| 午夜久久福利影院| 国产精品中文字幕日韩精品| 99精品黄色片免费大全| 欧美日韩国产一级| 国产亚洲综合av| 一区二区在线观看不卡| 美女一区二区视频| av中文字幕一区| 欧美一区二区视频网站| 国产精品三级电影| 日韩av电影一区| 成人av网站大全| 欧美日韩成人综合天天影院| 久久久亚洲午夜电影| 亚洲品质自拍视频| 国内欧美视频一区二区| 色婷婷av一区二区三区gif| 日韩精品一区二区三区中文不卡 | 国产三级三级三级精品8ⅰ区| 亚洲精品综合在线| 精品一区二区在线视频| 色老汉一区二区三区| 久久免费看少妇高潮| 亚洲18色成人| 91最新地址在线播放| 久久久亚洲高清| 亚洲成人免费在线| 91性感美女视频| 国产女同互慰高潮91漫画| 三级欧美韩日大片在线看| 97se亚洲国产综合自在线观| 欧美精品一区男女天堂| 首页国产欧美久久| 在线观看一区不卡| 国产区在线观看成人精品 | 成人网在线免费视频| 日韩午夜激情电影| 亚洲高清一区二区三区| 94色蜜桃网一区二区三区| 久久久久久9999| 经典一区二区三区| 69堂国产成人免费视频| 一区二区三区免费在线观看| 成人动漫av在线| 欧美国产日韩亚洲一区| 国产一区二区免费在线| 91精品免费在线观看| 午夜久久电影网| 欧美日韩精品久久久| 亚洲美女免费在线| 91美女视频网站| 亚洲日本青草视频在线怡红院| 成人av小说网| 国产精品色婷婷| 成人黄动漫网站免费app| 日本一区二区三区国色天香 | 亚洲日本丝袜连裤袜办公室| 成人动漫一区二区在线| 国产欧美va欧美不卡在线| 国产精品88av| 中文字幕巨乱亚洲| 成人网页在线观看| 中文字幕五月欧美| 一本色道久久综合精品竹菊| 亚洲精品成a人| 91福利在线导航| 天天色综合成人网| 91麻豆精品国产91久久久久久| 日韩激情视频网站| 91精品国产色综合久久不卡电影| 欧美96一区二区免费视频| 日韩精品在线一区二区| 国产精品一区二区久久不卡 | 91麻豆精品国产91| 蜜桃视频在线观看一区二区| 日韩欧美一区二区免费| 韩国v欧美v日本v亚洲v| 国产精品天干天干在线综合| 91美女在线视频| 午夜精品久久久久久久久| 日韩一区二区影院| 精品综合久久久久久8888| 国产欧美1区2区3区| 色诱视频网站一区| 青青草视频一区| 国产女人18毛片水真多成人如厕| 91免费国产视频网站| 亚洲欧美日韩一区二区| 久久精品99久久久| 中文一区在线播放| 欧美中文字幕不卡| 九九久久精品视频| 亚洲欧洲av一区二区三区久久| 欧美精品高清视频| 成人一区二区三区视频在线观看|