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

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

?? restart.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
#include <misc.h>#include <params.h>module restart!----------------------------------------------------------------------- ! ! module to handle reading and writing of the master restart files.!!----------------------------------------------------------------------- ! $Id: restart.F90,v 1.9.2.5 2002/05/02 04:18:11 erik Exp $!-----------------------------------------------------------------------    use precision,    only: r8   use pmgrid,       only: masterproc, plev, plevp, plond, plat   use rgrid,        only: nlon, wnummax   use ioFileMod,    only: putfil, getfil, opnfil   use filenames,    only: get_archivedir#ifndef COUP_CSM   use atm_lndMod,   only: is_lsm   use spmd_phys,    only: is_366_physics#endif#ifdef SPMD   use mpishorthand, only: mpicom, mpir8, mpiint, mpilog#endif   implicit none!! Public interfaces!   public write_restart          ! Write the master restart file out   public read_restart           ! Read the master restart file in   public set_restart_filepath   ! Set the full filepath to the master restart file!! Everything else is private!   private   integer, parameter :: nlen = 256 ! Length of character strings   character(len=nlen) :: pname     ! Full restart pathname!! Filename specifiers for master restart filename! (%c = caseid, $y = year, $m = month, $d = day, $s = seconds in day, %t = number)!   character(len=256) :: rfilename_spec = '%c.cam2.r.%y-%m-%d-%s'!! Common blocks!!-----------------------------------------------------------------------#include <comctl.h>!-----------------------------------------------------------------------#include <comlun.h>!-----------------------------------------------------------------------#include <comhyb.h>!-----------------------------------------------------------------------#include <comtfc.h>!-----------------------------------------------------------------------CONTAINS   subroutine write_restart!----------------------------------------------------------------------- ! ! Purpose: ! Write the primary, secondary, and history buffer regeneration files.! ! Method: ! The cpp SPMD definition provides for the funnelling of all program i/o! through the master processor. Processor 0 either reads restart/history! data from the disk and distributes it to all processors, or collects! data from all processors and writes it to disk.! ! Author: ! !-----------------------------------------------------------------------       use history,          only: write_restart_history      use restart_physics,  only: write_restart_physics      use restart_dynamics, only: write_restart_dynamics      use time_manager,     only: timemgr_write_restart      use filenames,        only: caseid, mss_wpass, mss_irt, get_archivedir, &                                  interpret_filename_spec!! Local workspace!      integer ioerr             ! write error status      character(len=256) fname  ! Restart filename!-----------------------------------------------------------------------! Write the primary restart datasets!-----------------------------------------------------------------------!#ifdef DEBUG      write(6,*)'Entered WRITE_RESTART: writing nstep+1=',nstep+1, ' data to restart file'#endif!! Everything inside the following "if" is from the obsolete RGNFLS!      if (masterproc) then!     ! Open master restart file.!         fname = interpret_filename_spec( rfilename_spec )         call opnfil (fname, nrg, 'u')!!-----------------------------------------------------------------------! Write the master restart dataset!-----------------------------------------------------------------------         call timemgr_write_restart(nrg)         write (nrg, iostat=ioerr) eps, caseid, hyai, hybi, hyam,  &                                   hybm, aeres         if (ioerr /= 0 ) then            write (6,*) 'WRITE ioerror ',ioerr,' on i/o unit = ',nrg            call endrun         end if!! Reduced grid stuff!         write (nrg, iostat=ioerr) nlon, wnummax         if (ioerr /= 0 ) then            write (6,*) 'WRITE ioerror ',ioerr,' on i/o unit = ',nrg            call endrun         end if      end if!!-----------------------------------------------------------------------! Dynamics, physics, History!-----------------------------------------------------------------------!      call write_restart_dynamics (nrg)      call write_restart_physics (nrg, nrg2)      call write_restart_history (nrg, luhrest)      if (masterproc) then         close(nrg)         pname = trim(get_archivedir( 'rest' )) // fname         call putfil (fname, pname, mss_wpass, mss_irt, (.not. nlend) )         call write_rest_pfile      end if      return   end subroutine write_restart!#######################################################################   subroutine read_restart!----------------------------------------------------------------------- ! ! Purpose: ! Acquire and position the restart, master, primary and secondary! datasets for a continuation run! ! Method: ! ! Author: ! !-----------------------------------------------------------------------      use phys_grid,        only: phys_grid_init      use history,          only: read_restart_history      use filenames,        only: caseid      use restart_physics,  only: read_restart_physics      use restart_dynamics, only: read_restart_dynamics      use time_manager,     only: timemgr_read_restart, timemgr_restart!-----------------------------------------------------------------------!! Local workspace!      integer i                     ! Indices      integer ioerr                 ! read error status      integer decomp                ! decomposition type      character*256 locfn           ! Local filename      character*33  tcase           ! Read in previous case name!!-----------------------------------------------------------------------! Determine full restart pathname!------------------------------------------------------------------------!! Test for existence of a restart pointer dataset (nsrest=1 only).! If restart pinter dataset exists, obtain it and read it.!      if (masterproc) then         if (.not.nlhst) then            call read_rest_pfile         endif!!------------------------------------------------------------------------! Obtain and read the master restart dataset !------------------------------------------------------------------------!#ifdef DEBUG         write(6,*)'READ_RESTART: Reading master resart dataset'#endif!! Obtain master restart dataset!         call getfil (pname, locfn)         call opnfil (locfn, nrg, 'u')!     ! Read comtim, comtfc, comhst, comhed and history buffer variables !              call timemgr_read_restart(nrg)         read (nrg, iostat=ioerr) eps, tcase, hyai, hybi, hyam,  &                                  hybm, aeres         if (ioerr /= 0 ) then            write (6,*) 'READ ioerror ',ioerr,' on i/o unit = ',nrg            call endrun         end if         if (lbrnch .and. tcase == caseid) then            write(6,*) 'READ_RESTART: Must change case name on branch run'            write(6,*) 'Prev case = ',tcase,' current case = ',caseid            call endrun         end if!! Reduced grid stuff!         read (nrg, iostat=ioerr) nlon, wnummax         if (ioerr /= 0 ) then            write (6,*) 'READ ioerror ',ioerr,' on i/o unit = ',nrg            call endrun         end if         write(6,*) 'MASTER RESTART DATASET READ. EPS= ',eps         write(6,*) 'Files for restart:'      endif  ! end of if-masterproc#if ( defined SPMD )       call mpibcast (eps    ,1        ,mpir8  ,0,mpicom)      call mpibcast (hyai   ,plev+1   ,mpir8  ,0,mpicom)       call mpibcast (hybi   ,plev+1   ,mpir8  ,0,mpicom)       call mpibcast (hyam   ,plev     ,mpir8  ,0,mpicom)         call mpibcast (hybm   ,plev     ,mpir8  ,0,mpicom)         call mpibcast (aeres  ,1        ,mpilog ,0,mpicom)      call mpibcast (nlon,   plat,     mpiint, 0,mpicom)      call mpibcast (wnummax,plat,     mpiint, 0,mpicom)#endif! Restart the time manager.      call timemgr_restart()!-----------------------------------------------------------------------! Dynamics, physics, history!-----------------------------------------------------------------------      call read_restart_dynamics (nrg)      call initcom ()#ifdef COUP_CSM      decomp = -1      ! Do latitude-band chunking for current coupled model#else      if ( is_lsm() .or. is_366_physics() )then         decomp = -1      ! Do latitude-band chunking for old physics or lsm      else         decomp = 0      end if#endif      call phys_grid_init (decomp, 1)      call read_restart_physics (nrg, nrg2, aeres )      if (nsrest == 1) then         call read_restart_history (nrg, luhrest)      end if      if (masterproc) close(nrg)      ! Done reading restart info      return   end subroutine read_restart   subroutine write_rest_pfile!----------------------------------------------------------------------- ! ! Purpose: !! Write out the restart pointer file!!-----------------------------------------------------------------------    use filenames,       only: rest_pfile   use restart_physics, only: get_abs_restart_filepath   use history,         only: get_mtapes, get_hist_restart_filepath, &                              hstwr, get_hfilepath, nfils, mfilt!-----------------------------------------------------------------------! for nsds#include <comlun.h>!-----------------------------------------------------------------------! for aeres#include <comctl.h>!-----------------------------------------------------------------------   integer t      ! Tape number   integer mtapes ! Number of tapes that are active   call opnfil(rest_pfile, nsds, 'f')   rewind nsds   write (nsds,'(a)') trim(pname)   write (nsds,'(//a,a)') '# The following lists the other files needed for restarts', &                        ' (cam only reads the first line of this file).'   write (nsds,'(a,a)') '# The files below refer to the files needed for the master restart file:', &                       trim(pname)   if ( aeres )then      write (nsds,'(a,a)') '# ', trim(get_abs_restart_filepath())   end if!! History files: Need restart history files when not a time-step to write history info! Need: history files if they are not full!   mtapes = get_mtapes( )   do t=1,mtapes      if ( .not. hstwr(t) ) then         write (nsds,'(a,a)') '# ', trim(get_hist_restart_filepath( t ))      end if      if ( nfils(t) > 0 .and. nfils(t) < mfilt(t) ) then         write (nsds,'(a,a)') '# ', trim(get_hfilepath( t ))      end if   end do   close (nsds)   write(6,*)'(WRITE_REST_PFILE): successfully wrote local restart pointer file ',trim(rest_pfile)   write(6,'("---------------------------------------")')   end subroutine write_rest_pfile   subroutine read_rest_pfile!----------------------------------------------------------------------- ! ! Purpose: !! Read the master restart file from the restart pointer file!!-----------------------------------------------------------------------    use filenames, only: rest_pfile!-----------------------------------------------------------------------! for nsds#include <comlun.h>   character(len=256) :: locfn    ! Local pathname for restart pointer file   call getfil (rest_pfile, locfn)   call opnfil (locfn, nsds, 'f')   read (nsds,'(a)') pname   close(nsds)   end subroutine read_rest_pfile!-----------------------------------------------------------------------! BOP!! !ROUTINE: set_restart_filepath!! !DESCRIPTION: Set the filepath of the specific type of restart file.!!-----------------------------------------------------------------------! !INTERFACE:subroutine set_restart_filepath( rgpath )!! !PARAMETERS:!  character(len=*), intent(in)  :: rgpath ! Full pathname to restart file!! EOP!  if ( trim(rgpath) == '' )then     write(6,*) 'SET_RESTART_FILEPATH: rgpath sent into subroutine is empty'     call endrun  end if  if ( rgpath(1:1) /= '/' )then     write(6,*) 'SET_RESTART_FILEPATH: rgpath sent into subroutine is not an absolute pathname'     call endrun  end if  if ( len_trim(rgpath) > nlen )then     write(6,*) 'SET_RESTART_FILEPATH: rgpath is too long :', rgpath     call endrun  end if  pname = trim(rgpath)end subroutine set_restart_filepathend module restart

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区精品视频| av资源站一区| 成人免费黄色在线| 欧美性猛交xxxxxx富婆| 日本一区二区三区久久久久久久久不| 亚洲精品国产视频| 岛国精品在线播放| 日韩欧美久久久| 五月综合激情网| 91啦中文在线观看| 中文字幕在线观看一区| 国产一区视频导航| 欧美成人三级在线| 欧美a一区二区| 欧美日韩亚洲综合一区 | 91亚洲精品久久久蜜桃| 欧美mv日韩mv亚洲| 蜜桃精品视频在线| 欧美精品1区2区3区| 亚洲国产精品麻豆| 欧美中文字幕不卡| 一区二区三区高清在线| 色噜噜狠狠色综合欧洲selulu| 国产精品卡一卡二| 成人手机电影网| 国产精品美女久久久久久久网站| 成人午夜视频福利| 中文幕一区二区三区久久蜜桃| 国产成人在线视频网站| 国产日韩一级二级三级| 粉嫩13p一区二区三区| 久久精品这里都是精品| 国产成人精品免费看| 欧美韩国日本综合| 国产+成+人+亚洲欧洲自线| 国产女人水真多18毛片18精品视频| 国产乱人伦精品一区二区在线观看| 26uuu国产电影一区二区| 国产经典欧美精品| 中文字幕视频一区| 成人高清视频免费观看| 亚洲免费观看高清完整版在线| 91丨porny丨户外露出| 国产精品国产精品国产专区不片| 99久久精品免费| 亚洲高清久久久| 日韩一级二级三级精品视频| 极品美女销魂一区二区三区 | 亚洲国产精品久久久久婷婷884 | 麻豆国产欧美日韩综合精品二区| 91精品久久久久久蜜臀| 麻豆国产精品一区二区三区| 国产亚洲欧美日韩日本| 91在线观看下载| 亚洲国产欧美日韩另类综合 | 欧美巨大另类极品videosbest| 免费观看一级欧美片| 欧美精品一区二区三区蜜桃视频 | 日本欧美大码aⅴ在线播放| 日韩免费观看高清完整版在线观看| 国产自产2019最新不卡| 亚洲欧洲精品天堂一级| 91久久精品一区二区| 伦理电影国产精品| 亚洲欧洲综合另类| 日韩一区二区在线免费观看| 国产一本一道久久香蕉| 亚洲色图20p| 欧美va日韩va| 91蜜桃免费观看视频| 久久99久久99精品免视看婷婷| 亚洲欧洲美洲综合色网| 555www色欧美视频| 99re免费视频精品全部| 久久国产婷婷国产香蕉| 亚洲综合色成人| 欧美激情一区二区三区蜜桃视频 | 欧美日韩国产经典色站一区二区三区 | 欧美日韩精品综合在线| 国产精品99久久久久久久vr | 一区二区三区**美女毛片| 日韩一区二区麻豆国产| 色综合久久久久综合体桃花网| 韩国精品在线观看| 午夜国产不卡在线观看视频| 国产日韩影视精品| 亚洲精品乱码久久久久久黑人| 不卡一区二区中文字幕| 另类欧美日韩国产在线| 亚洲高清免费在线| 亚洲欧美一区二区三区极速播放| 精品国产乱码久久久久久免费| 一本久道久久综合中文字幕| 国产麻豆精品视频| 免费欧美高清视频| 秋霞午夜av一区二区三区| 一区二区三区四区国产精品| 国产精品免费视频网站| 国产亚洲婷婷免费| 久久精子c满五个校花| 久久综合狠狠综合| 日韩欧美一二区| 日韩视频不卡中文| 欧美电视剧免费观看| 欧美一区永久视频免费观看| 欧美男生操女生| 51精品国自产在线| 欧美精品欧美精品系列| 欧美高清一级片在线| 欧美熟乱第一页| 欧美精品第一页| 欧美一区二区三区日韩| 8v天堂国产在线一区二区| 欧美丰满高潮xxxx喷水动漫| 7799精品视频| 日韩女同互慰一区二区| 欧美电影免费观看高清完整版在 | 麻豆国产欧美日韩综合精品二区| 五月婷婷久久丁香| 日韩黄色一级片| 裸体歌舞表演一区二区| 国产一区二区三区综合| 粉嫩av亚洲一区二区图片| caoporen国产精品视频| 91一区一区三区| 欧美日韩1区2区| 日韩欧美在线一区二区三区| 久久网这里都是精品| 中文一区二区完整视频在线观看| 国产欧美久久久精品影院| 亚洲特级片在线| 丝袜美腿亚洲色图| 国产精品亚洲а∨天堂免在线| 福利电影一区二区| 欧美色图在线观看| 精品伦理精品一区| 亚洲欧美另类久久久精品2019| 亚洲成av人片在线| 国产成人免费视频网站高清观看视频 | 精品一二线国产| 国产不卡在线一区| 欧美色图片你懂的| 日韩美一区二区三区| 国产精品午夜电影| 性久久久久久久久| 国产成a人亚洲| 欧美日韩国产123区| 国产亚洲欧美中文| 亚洲大型综合色站| 国产成人免费视| 欧美精品tushy高清| 国产欧美日韩麻豆91| 亚洲r级在线视频| 国产高清精品网站| 欧美老肥妇做.爰bbww| 国产精品三级视频| 久久精品国产精品青草| 色综合久久66| 国产欧美一区二区三区网站| 亚洲韩国一区二区三区| 成人综合婷婷国产精品久久免费| 7777精品伊人久久久大香线蕉经典版下载 | 在线观看欧美日本| www精品美女久久久tv| 亚洲一级不卡视频| 国产成人99久久亚洲综合精品| 欧美精品自拍偷拍动漫精品| 国产精品久久久久久久第一福利| 蜜桃免费网站一区二区三区| 色天天综合久久久久综合片| 国产校园另类小说区| 蜜桃视频免费观看一区| 欧美日韩在线播放一区| 国产精品国产三级国产aⅴ入口| 精品无码三级在线观看视频 | 青青草97国产精品免费观看| 色老综合老女人久久久| 国产精品丝袜黑色高跟| 蜜桃av噜噜一区| 在线观看91精品国产麻豆| 亚洲理论在线观看| 99国产精品久久久久久久久久久| 国产午夜久久久久| 国产揄拍国内精品对白| 日韩欧美国产综合在线一区二区三区| 亚洲精品欧美综合四区| 成人黄色综合网站| 亚洲国产精品成人综合 | 亚洲色图制服诱惑| 大陆成人av片| 国产亚洲欧洲一区高清在线观看| 捆绑调教一区二区三区| 日韩一区二区三区在线| 蜜臀久久久久久久| 日韩三级伦理片妻子的秘密按摩| 婷婷综合五月天| 这里只有精品99re| 麻豆极品一区二区三区| 亚洲精品在线电影| 国产91精品入口|