亚洲欧美第一页_禁久久精品乱码_粉嫩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视频国产观看| 亚洲最色的网站| 欧美专区日韩专区| 天天色 色综合| 精品国产一区二区三区久久久蜜月| 日本不卡一二三| 精品国内二区三区| 岛国精品在线播放| 亚洲精品一二三| 欧美精品 日韩| 国产美女av一区二区三区| 国产人成一区二区三区影院| 99国产精品视频免费观看| 亚洲黄色在线视频| 日韩视频在线你懂得| 国产成人福利片| 一区二区三区四区不卡视频| 91精品免费在线| 国产成人精品午夜视频免费| 又紧又大又爽精品一区二区| 欧美一区二区成人6969| 丁香六月综合激情| 午夜精品一区二区三区三上悠亚| 欧美变态口味重另类| www.欧美.com| 麻豆成人91精品二区三区| 国产精品视频线看| 欧美一区午夜视频在线观看| 国产99久久久国产精品免费看| 一区二区三区四区中文字幕| 精品少妇一区二区三区在线视频| 不卡一区在线观看| 奇米888四色在线精品| 国产精品免费视频一区| 777a∨成人精品桃花网| 91在线云播放| 国产成人精品aa毛片| 视频在线观看一区二区三区| 中文成人综合网| 日韩欧美123| 欧美在线看片a免费观看| 国产精品99久久久久久宅男| 日韩电影免费一区| 一区二区三区中文在线| 久久精品一二三| 欧美一区二区三区不卡| 在线观看视频91| gogogo免费视频观看亚洲一| 精品夜夜嗨av一区二区三区| 亚洲v中文字幕| 亚洲精选视频免费看| 国产欧美一区二区精品忘忧草| 欧美久久久久久久久久| 日本丶国产丶欧美色综合| a4yy欧美一区二区三区| 国产一区二区三区电影在线观看| 亚洲第一搞黄网站| 一区二区三区四区精品在线视频| 国产日韩欧美a| 久久综合99re88久久爱| 5566中文字幕一区二区电影| 欧美羞羞免费网站| 97久久精品人人爽人人爽蜜臀| 国产成人精品亚洲午夜麻豆| 国产九色精品成人porny | 国产成人精品www牛牛影视| 男女性色大片免费观看一区二区 | 久久久无码精品亚洲日韩按摩| 精品视频一区二区三区免费| 91丨porny丨中文| av成人老司机| aa级大片欧美| 91久久人澡人人添人人爽欧美| 成人综合在线网站| 成人免费视频一区| 成人性色生活片免费看爆迷你毛片| 精品一二三四区| 国产成人h网站| a美女胸又www黄视频久久| 成人丝袜高跟foot| 北岛玲一区二区三区四区| 一本到一区二区三区| 91国产福利在线| 欧美特级限制片免费在线观看| 在线观看91精品国产入口| 在线观看91精品国产入口| 欧美日韩国产美| 欧美成人乱码一区二区三区| 精品国产成人系列| 国产女主播在线一区二区| 亚洲欧美一区二区在线观看| 亚洲免费在线电影| 午夜不卡av免费| 经典三级一区二区| 成人av电影免费在线播放| 欧洲视频一区二区| 91精品国产麻豆| 国产欧美日韩在线| 一二三四区精品视频| 免费成人在线观看| 国产成a人亚洲精品| 91丨porny丨中文| 日韩一二在线观看| 国产精品入口麻豆九色| 亚洲一区二区三区国产| 美日韩黄色大片| 91丨porny丨国产| 69久久99精品久久久久婷婷| 久久久99久久| 亚洲综合色婷婷| 韩国精品免费视频| 欧美在线三级电影| 久久久久久久久99精品| 一区二区三区毛片| 国产乱码精品一区二区三 | 国模一区二区三区白浆| 成人免费视频播放| 91精品国产综合久久精品图片 | 欧美日韩一区二区在线观看| 欧美精品一区二区在线观看| 亚洲欧美乱综合| 国模冰冰炮一区二区| 欧美色综合久久| 国产蜜臀av在线一区二区三区| 亚洲成av人影院| 99视频精品在线| 精品久久久三级丝袜| 一区二区不卡在线视频 午夜欧美不卡在| 秋霞国产午夜精品免费视频| 91免费视频观看| 久久精品视频免费| 蜜桃视频在线一区| 欧美日韩亚洲综合一区| 国产精品国产成人国产三级| 乱中年女人伦av一区二区| 91成人在线精品| 国产精品久久久久久久久动漫| 久久国产麻豆精品| 欧美日本韩国一区| 亚洲免费色视频| 成人久久视频在线观看| 精品少妇一区二区三区免费观看| 亚洲午夜在线视频| 91毛片在线观看| 国产精品你懂的在线| 国产一区二区三区香蕉| 日韩写真欧美这视频| 图片区日韩欧美亚洲| 色成人在线视频| 日韩一区中文字幕| 成人午夜电影久久影院| 久久久久国产精品麻豆| 极品美女销魂一区二区三区免费| 欧美浪妇xxxx高跟鞋交| 午夜婷婷国产麻豆精品| 色婷婷综合久色| 亚洲精品日韩一| 色噜噜狠狠一区二区三区果冻| 国产精品国产三级国产专播品爱网| 国产一区二区三区在线观看精品| 精品国产自在久精品国产| 欧美a级一区二区| 精品久久人人做人人爽| 韩国女主播一区| 国产无一区二区| 国产91精品一区二区麻豆网站 | 色婷婷综合久久久中文一区二区| 欧美激情一区二区在线| 粉嫩aⅴ一区二区三区四区五区| 久久看人人爽人人| 成人性色生活片免费看爆迷你毛片| 中文字幕不卡在线| 99久久伊人网影院| 亚洲欧美色图小说| 欧美日韩中文精品| 日韩精品高清不卡| 精品久久国产字幕高潮| 国产精品一区二区你懂的| 久久久亚洲精品一区二区三区| 国产乱理伦片在线观看夜一区| 久久久99精品免费观看| 成人动漫精品一区二区| 亚洲精品视频免费观看| 777a∨成人精品桃花网| 国内成人精品2018免费看| 国产欧美一区二区精品忘忧草 | 国产精品99久久久久久宅男| 国产精品理论在线观看| 91国偷自产一区二区三区成为亚洲经典 | 不卡区在线中文字幕| 国产精品久久久久久一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 亚洲一区在线电影| 欧美成人欧美edvon| 99久久精品免费看国产免费软件| 亚洲三级在线免费| 欧美日韩高清一区二区三区| 极品尤物av久久免费看|