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

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

?? filenames.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
module filenames!----------------------------------------------------------------------- !! BOP!! !MODULE: filenames!! DESCRIPTION!! Module and methods to handle filenames needed for the model. This ! includes input filenames, and most output filenames that the model! uses. All filenames that the model uses will use methods or data! constructed by this module. In some cases (such as the history module)! other modules or routines will store the actual filenames used, but! this module is used to determine the names.!!----------------------------------------------------------------------- ! $Id$!-----------------------------------------------------------------------    use time_manager, only: get_curr_date, get_prev_date   implicit none!! !PUBLIC MEMBER FUNCTIONS!   public init_filepaths                           ! Initialize filepaths   public get_archivedir                           ! Get the specific archive directory name   public interpret_filename_spec                  ! Interpret a filename specifier!! !PUBLIC DATA MEMBERS:!! Note: Only make data needed for namelist public, everything else should be private.!! Input datasets!   character(len=256), public :: ncdata = 'ncdata' ! full pathname for initial dataset   character(len=256), public :: bndtvs = 'bndtvs' ! full pathname for time-variant sst dataset   character(len=256), public :: bndtvo = 'bndtvo' ! full pathname for time-variant ozone dataset   character(len=256), public :: absems_data = 'absems_data' ! full pathname for time-invariant absorption dataset   character(len=256), public :: bndtvg = 'bndtvg' ! full pathname for time-variant greenhouse gas loss rate!! Filenames used for restart or branch!   character(len=256), public :: nrevsn = ' '       ! Dataset to branch from, in namelist   character(len=256), public :: rest_pfile = ' '   ! File name for restart dataset!! Variables associated with archival (MSS) pathnames!   character(len=33), public :: caseid = ' '       ! Case identifier (max 32 chars)   character(len= 8), public :: mss_wpass = ' '    ! MSS write password   integer, public ::  mss_irt = 365               ! Mass Store retention period for output files!----------------------------------------------------------------------- ! EOP!----------------------------------------------------------------------- !! Private data used for filenames!   PRIVATE   character(len=256), private :: archive_dir = ' '        ! Root archival directory                                                            ! (ie MSS directory)    integer, parameter :: nlen = 256                        ! String lengthCONTAINS!-----------------------------------------------------------------------! BOP!! !ROUTINE: init_filepaths!! !DESCRIPTION: Initialize the filepaths.!!-----------------------------------------------------------------------! !INTERFACE:subroutine init_filepaths( archivedirname )!! !Uses:!   use precision, only: r8   use string_utils, only: to_upper!! !PARAMETERS:!   character(len=*), intent(in), optional :: archivedirname ! Archive directory name!! EOP!!-------------------------- Common blocks ------------------------------! For nrefrq#include <comctl.h>!! Local variables!   character(len=80) :: logname         ! user name   character(len=80) :: upcaselogname   ! user name in upper-case   character(len=80) :: home_dir = ' '  ! Pathname for regeneration dataset nsrest=2   integer :: ind                       ! Index into directory name!! Get the users home directory to write restart pointer file!   call getenv ('HOME',home_dir)   if (home_dir==' ') then      write(6,*)'INIT_FILEPATHS: Cannot find HOME environment variable'      call endrun   end if   if (nrefrq == 1 .and. len_trim(rest_pfile) == 0 ) then      rest_pfile = trim(home_dir) //'/cam2.'// trim(caseid) //'.rpointer'   end if!! Set archive_dir if not initialized, and make sure has trailing "/"!   if ( present(archivedirname) )then     archive_dir = archivedirname   end if   if ( len_trim(archive_dir) == 0 )then      logname = ' '      call getenv ('LOGNAME',logname)      if (logname=='        ') then         write(6,*)'INIT_FILEPATHS: Cannot find LOGNAME environment variable'         call endrun      end if      upcaselogname = to_upper(logname)      archive_dir   = '/'//trim(upcaselogname)//'/csm/'//trim(caseid)//'/atm/'   end if   ind = len_trim(archive_dir)   if ( archive_dir(ind:ind) /= '/' )then      archive_dir   = trim(archive_dir) // '/'   end if   if ( archive_dir(1:1) /= '/' )then      write(6,*)'INIT_FILEPATHS: archive_dir must be an absolute directory name = ', &                archive_dir      call endrun   end ifend subroutine init_filepaths!----------------------------------------------------------------------- ! BOP!! !ROUTINE: get_archivedir!! !DESCRIPTION: Return the archive directory for the specific type! of file given.!!----------------------------------------------------------------------- ! !INTERFACE:character(len=nlen) function get_archivedir( type )!! !PARAMETERS:!  character(len=*), intent(in) :: type ! Type of filename to create (init, rest, or hist)!! EOP!  if ( type /= 'hist' .and. type /= 'init' .and. type /= 'rest' )then     write(6,*) 'GET_ARCHIVEDIR: Invalid type: ', type     call endrun  end if  get_archivedir = trim(archive_dir) // trim(type) // '/'end function get_archivedir!----------------------------------------------------------------------- ! BOP!! !ROUTINE: interpret_filename_spec!! !DESCRIPTION: Create a filename from a filename specifyer. The ! filename specifyer includes codes for setting things such as the! year, month, day, seconds in day, caseid, and tape number. This! routine is private to filenames.F90!! Interpret filename specifyer string with: !!      %c for case, !      %t for optional number argument sent into function!      %y for year!      %m for month!      %d for day!      %s for second!      %% for the "%" character!! If the filename specifyer has spaces " ", they will be trimmed out! of the resulting filename.!!----------------------------------------------------------------------- ! !INTERFACE:character(len=nlen) function interpret_filename_spec( filename_spec, number, prev )!! !PARAMETERS:!  character(len=*), intent(in) :: filename_spec    ! Filename specifier to use  integer, intent(in), optional :: number          ! Number to use for %t field  logical, intent(in), optional :: prev            ! If should label with previous time-step!! EOP!  integer :: year  ! Simulation year  integer :: month ! Simulation month  integer :: day   ! Simulation day  integer :: ncsec ! Seconds into current simulation day  character(len=nlen) :: string    ! Temporary character string   character(len=nlen) :: format    ! Format character string   integer :: i, n  ! Loop variables  logical :: previous              ! If should label with previous time-step  if ( len_trim(filename_spec) == 0 )then     write(6,*) 'INTERPRET_FILENAME_SPEC: filename specifier is empty'     call endrun  end if  if ( index(trim(filename_spec)," ") /= 0 )then     write(6,*) 'INTERPRET_FILENAME_SPEC: filename specifier can not contain a space:', &                trim(filename_spec)     call endrun  end if  if ( .not. present(prev) ) then     previous = .false.  else     previous = prev  end if  if ( previous ) then     call get_prev_date(year, month, day, ncsec)  else     call get_curr_date(year, month, day, ncsec)  end if!! Go through each character in the filename specifyer and interpret if special string!  i = 1  interpret_filename_spec = ''  do while ( i <= len_trim(filename_spec) )!! If following is an expansion string!     if ( filename_spec(i:i) == "%" )then        i = i + 1        select case( filename_spec(i:i) )           case( 'c' )   ! caseid              string = trim(caseid)           case( 't' )   ! number              if ( .not. present(number) )then                 write(6,*) 'INTERPRET_FILENAME_SPEC: number needed in filename_spec' &                            , ', but not provided to subroutine'                 write(6,*) 'filename_spec = ', filename_spec                 call endrun              end if              if (      number > 999 ) then                 format = '(i4.4)'                 if ( number > 9999 ) then                   write(6,*) 'INTERPRET_FILENAME_SPEC: number is too large: ', number                   call endrun                 end if              else if ( number > 99  ) then                 format = '(i3.3)'              else if ( number > 9   ) then                 format = '(i2.2)'              else                 format = '(i1.1)'              end if              write(string,format) number           case( 'y' )   ! year              if ( year > 99999   ) then                format = '(i6.6)'              else if ( year > 9999    ) then                format = '(i5.5)'              else                format = '(i4.4)'              end if              write(string,format) year           case( 'm' )   ! month              write(string,'(i2.2)') month           case( 'd' )   ! day              write(string,'(i2.2)') day           case( 's' )   ! second              write(string,'(i5.5)') ncsec           case( '%' )   ! percent character              string = "%"           case default              write(6,*) 'INTERPRET_FILENAME_SPEC: Invalid expansion character: ', &                          filename_spec(i:i)              call endrun        end select!! Otherwise take normal text up to the next "%" character!     else        n = index( filename_spec(i:), "%" )        if ( n == 0 ) n = len_trim( filename_spec(i:) ) + 1        if ( n == 0 ) exit         string = filename_spec(i:n+i-2)        i = n + i - 2     end if     if ( len_trim(interpret_filename_spec) == 0 )then        interpret_filename_spec = trim(string)     else        if ( (len_trim(interpret_filename_spec)+len_trim(string)) >= nlen )then           write(6,*) 'INTERPRET_FILENAME_SPEC: Resultant filename too long'           call endrun        end if        interpret_filename_spec = trim(interpret_filename_spec) // trim(string)     end if     i = i + 1  end do  if ( len_trim(interpret_filename_spec) == 0 )then     write(6,*) 'INTERPRET_FILENAME_SPEC: Resulting filename is empty'     call endrun  end ifend function interpret_filename_specend module filenames

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美主播一区二区三区美女| 免费欧美日韩国产三级电影| 制服丝袜在线91| 91首页免费视频| 国产成人一区二区精品非洲| 日韩电影在线免费观看| 一区二区三区自拍| 综合久久久久综合| 国产精品日日摸夜夜摸av| 久久亚洲影视婷婷| 26uuu成人网一区二区三区| 日韩一卡二卡三卡国产欧美| 91精品国产综合久久福利| 麻豆精品一区二区av白丝在线| 一级精品视频在线观看宜春院 | 国产欧美日韩卡一| 精品99久久久久久| 97精品视频在线观看自产线路二| 精品影视av免费| 免费成人av在线| 视频一区二区三区入口| 美女任你摸久久| 国产91精品一区二区| 色婷婷久久综合| 日韩一区二区影院| 日本一区二区免费在线| 一二三区精品福利视频| 捆绑调教美女网站视频一区| 国产成人8x视频一区二区| 一本大道久久a久久综合| 欧美日韩亚洲综合| 日韩欧美国产三级电影视频| 精品三级在线观看| 日本一二三不卡| 一区二区三区免费在线观看| 亚洲综合视频在线观看| 91同城在线观看| 99久久精品国产导航| 在线一区二区视频| 久久久久久久久久久电影| 亚洲丝袜制服诱惑| 国产一区二区网址| 欧美午夜宅男影院| 中文字幕精品综合| 久久国产麻豆精品| 色婷婷综合久久久久中文| 精品国产青草久久久久福利| 亚洲一区二区在线免费观看视频| 国产精品影音先锋| 欧美顶级少妇做爰| 一区二区三区在线观看视频| 国产馆精品极品| 日韩欧美三级在线| 亚洲第一av色| 91久久免费观看| 中文字幕日本不卡| 国产乱码字幕精品高清av | 欧美精品成人一区二区三区四区| 久久―日本道色综合久久| 午夜精品久久久久久久99樱桃| 国产成人亚洲精品狼色在线| 欧美videos中文字幕| 五月婷婷另类国产| 欧美日韩一级大片网址| 亚洲欧洲精品一区二区精品久久久| 精品一区二区在线播放| 欧美一区二区三区爱爱| 日韩精品免费专区| 51精品国自产在线| 视频在线在亚洲| 欧美视频你懂的| 亚洲第一福利视频在线| 欧美喷潮久久久xxxxx| 亚洲国产另类av| 欧美猛男gaygay网站| 亚洲v日本v欧美v久久精品| 日本电影欧美片| 亚洲3atv精品一区二区三区| 色婷婷狠狠综合| 亚洲福中文字幕伊人影院| 欧美视频精品在线观看| 日韩精品亚洲专区| 欧美成人一级视频| 国产精品夜夜嗨| 国产精品欧美经典| 在线日韩av片| 日韩精品视频网站| 久久久久国产精品麻豆ai换脸 | 国产不卡免费视频| 国产女主播视频一区二区| 粉嫩久久99精品久久久久久夜| 国产精品色在线观看| 91啪亚洲精品| 日本成人在线网站| 久久综合给合久久狠狠狠97色69| 国产成人午夜片在线观看高清观看| 国产精品网站在线| 欧美艳星brazzers| 国产乱人伦偷精品视频免下载| 中文字幕一区二区三区蜜月| 欧美日韩国产在线播放网站| 激情图区综合网| 综合亚洲深深色噜噜狠狠网站| 欧美日韩在线不卡| 国产一区二区精品久久91| 亚洲精品高清在线观看| 精品国精品国产尤物美女| 粗大黑人巨茎大战欧美成人| 亚洲地区一二三色| 中文一区二区在线观看| 欧美揉bbbbb揉bbbbb| 国产福利一区二区三区视频在线| 亚洲精品视频免费观看| 欧美变态口味重另类| 在线欧美日韩国产| 国产成人亚洲综合a∨猫咪| 一级特黄大欧美久久久| 久久久久久99精品| 欧美一区国产二区| 色婷婷国产精品综合在线观看| 韩国欧美国产1区| 亚洲成人av中文| 一色屋精品亚洲香蕉网站| 日韩欧美一卡二卡| 欧美亚洲日本一区| 99久久er热在这里只有精品66| 美国十次了思思久久精品导航| 亚洲人成电影网站色mp4| 久久人人超碰精品| 这里是久久伊人| 色婷婷亚洲综合| 成人不卡免费av| 国产一本一道久久香蕉| 偷偷要91色婷婷| 成人欧美一区二区三区小说| 久久精品视频一区二区| 欧美一级在线免费| 欧美午夜视频网站| 欧美在线色视频| 色欧美日韩亚洲| 99久久精品情趣| 国产.精品.日韩.另类.中文.在线.播放| 免费xxxx性欧美18vr| 亚洲成人激情自拍| 午夜视频一区在线观看| 一区二区三区精品在线观看| 综合久久久久综合| 亚洲你懂的在线视频| 亚洲丝袜另类动漫二区| 中文字幕中文字幕在线一区| 国产欧美日韩在线| 成人欧美一区二区三区1314| 欧美国产日本韩| 一区在线观看视频| 亚洲欧洲制服丝袜| 亚洲影视在线观看| 日韩一区精品字幕| 美腿丝袜在线亚洲一区| 久久不见久久见免费视频1| 精品一区二区三区av| 国产米奇在线777精品观看| 国产激情偷乱视频一区二区三区| 夫妻av一区二区| 色婷婷综合久久久| 欧美一级艳片视频免费观看| 欧美变态tickle挠乳网站| 久久精品亚洲麻豆av一区二区 | aaa欧美日韩| 在线观看一区日韩| 91麻豆精品久久久久蜜臀| 精品久久久久久无| 国产日韩欧美精品综合| 亚洲女子a中天字幕| 日韩在线a电影| 国产a区久久久| 91黄色免费网站| 精品乱码亚洲一区二区不卡| 国产日本欧美一区二区| 一区二区三区精品| 精品系列免费在线观看| 9i看片成人免费高清| 在线电影院国产精品| 国产欧美一区二区精品忘忧草| 亚洲欧美偷拍卡通变态| 日本v片在线高清不卡在线观看| 国产一区二区精品久久| 欧美中文字幕一区| 国产欧美精品日韩区二区麻豆天美| 亚洲欧美电影一区二区| 黄网站免费久久| 欧美日韩免费观看一区三区| 久久精品亚洲国产奇米99| 亚洲一区二区美女| 成人激情校园春色| 日韩一区二区在线看| 综合av第一页| 国产成人福利片| 欧美一区三区二区| 一区二区欧美在线观看| 国产精品一区二区在线观看不卡|