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

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

?? history.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 5 頁
字號:
#include <misc.h>#include <params.h>module history!----------------------------------------------------------------------- ! ! Purpose: History module.  Contains data and functions for writing history files.!! Public functions/subroutines:!   addfld, add_default!   intht!   write_restart_history!   read_restart_history!   outfld!   wshist! ! Author: CCM Core Group! !-----------------------------------------------------------------------! $Id: history.F90,v 1.26.2.15 2002/05/02 21:11:27 rosinski Exp $!-----------------------------------------------------------------------   use precision   use ppgrid,    only: pcols   use constituents, only: pcnst, pnats, cnst_name, cnst_longname   use tracers,   only: dcconnam, sflxnam   use filenames, only: mss_wpass, mss_irt, interpret_filename_spec, get_archivedir#if ( defined STAGGERED )   use pmgrid,    only: masterproc, beglat, endlat, plat, plon, plev, plevp, dyngrid_set, splon, beglev, endlev, endlevp#else   use pmgrid,    only: masterproc, beglat, endlat, plat, plon, plev, plevp, dyngrid_set#endif   implicit nonePRIVATE   include 'netcdf.inc'   integer, parameter :: pflds = 1000           ! max number of fields    integer, parameter :: ptapes = 6             ! max number of tapes   integer, parameter :: max_chars = 128        ! max chars for char variables   real(r8), parameter :: fillvalue = 1.e36     ! fill value for reduced grid   type field_info      character*8 :: name                       ! field name      character*(max_chars) :: long_name        ! long name      character*(max_chars) :: units            ! units      integer :: coldimin                       ! column dimension of model array      integer :: numlev                         ! vertical dimension (.nc file and internal arr)      integer :: begver                         ! on-node vert start index      integer :: endver                         ! on-node vert end index      integer :: begdim3                        ! on-node chunk or lat start index      integer :: enddim3                        ! on-node chunk or lat end index      integer :: decomp_type                    ! type of decomposition (physics or dynamics)      integer, pointer :: colperdim3(:)         ! number of valid elements per chunk or lat   end type field_info!! master_entry: elements of an entry in the master field list!   type master_entry      type (field_info)     :: field            ! field information      character*1           :: avgflag(ptapes)  ! averaging flag      character*(max_chars) :: time_op(ptapes)  ! time operator (e.g. max, min, avg)      logical               :: actflag(ptapes)  ! active/inactive flag   end type master_entry   type (master_entry) :: masterlist(pflds)     ! master field list!! hbuffer_2d, hbuffer_3d: 2-D and 3-D history buffer pointers.!     Select either r4 or r8 kind buffer depending on hbuf_prec.!   type hbuffer_2d      real(r8), pointer :: buf8(:,:)            ! 2-D history buffer for r8      real(r4), pointer :: buf4(:,:)            ! 2-D history buffer for r4   end type hbuffer_2d   type hbuffer_3d      real(r8), pointer :: buf8(:,:,:)          ! 3-D history buffer for r8      real(r4), pointer :: buf4(:,:,:)          ! 3-D history buffer for r4   end type hbuffer_3d!! arrays served as targets for history pointers!   integer,  target :: nothing_int(1,1)         ! 2-D integer target   real(r8), target :: nothing_r8(1,1,1)        ! 3-D r8 target   real(r4), target :: nothing_r4(1,1,1)        ! 3-D r4 target!! hentry: elements of an entry in the list of active fields on a single history file!   type hentry      type (field_info)     :: field            ! field information      character*1           :: avgflag          ! averaging flag      character*(max_chars) :: time_op          ! time operator (e.g. max, min, avg)      integer :: hbuf_prec                      ! history buffer precision      integer :: hwrt_prec                      ! history output precision      type (hbuffer_3d)   :: hbuf               ! history buffer      integer, pointer :: nacs(:,:)             ! accumulation counter   end type hentry!! active_entry: vehicle for producing a ragged array!   type active_entry      type (hentry) :: hlist(pflds)             ! array of history tape entries   end type active_entry   type (active_entry) :: tape(ptapes)          ! history tapes!! dim_index_2d, dim_index_3d: 2-D & 3-D dimension index lower & upper bounds!   type dim_index_2d                   ! 2-D dimension index      integer :: beg1, end1            ! lower & upper bounds of 1st dimension      integer :: beg2, end2            ! lower & upper bounds of 2nd dimension   end type dim_index_2d   type dim_index_3d                   ! 3-D dimension index      integer :: beg1, end1            ! lower & upper bounds of 1st dimension      integer :: beg2, end2            ! lower & upper bounds of 2nd dimension      integer :: beg3, end3            ! lower & upper bounds of 3rd dimension   end type dim_index_3d   integer :: ndm(12)                           ! number of days in each month (jan-dec)   save ndm   data ndm/31,28,31,30,31,30,31,31,30,31,30,31/   integer :: nfmaster = 0             ! number of fields in master field list   integer :: nflds(ptapes)            ! number of fields per tape! per tape sampling frequency (0=monthly avg)   integer :: i                        ! index for nhtfrq initialization   integer :: nhtfrq(ptapes) = (/0, (-24, i=2,ptapes)/)  ! history write frequency (0 = monthly)   integer :: mfilt(ptapes) = 30       ! number of time samples per tape   integer :: nfils(ptapes)            ! Array of no. of files on current h-file   integer :: mtapes = 0               ! index of max history file requested    integer :: nexcl(ptapes)            ! Actual number of excluded fields   integer :: nincl(ptapes)            ! Actual number of included primary file fields   integer :: nhstpr(ptapes) = 8       ! history buffer precision (8 or 4 bytes)   integer :: ndens(ptapes) = 2        ! packing density (nf_float vs nf_double)   integer :: ncprec(ptapes) = -999    ! netcdf packing parameter based on ndens   real(r8) :: beg_time(ptapes)        ! time at beginning of an averaging interval!! Netcdf ids!   integer :: nfid(ptapes)             ! file id   integer :: varid(pflds,ptapes)      ! variable ids   integer :: mdtid(ptapes)            ! var id for timestep   integer :: ndbaseid(ptapes)         ! var id for base day   integer :: nsbaseid(ptapes)         ! var id for base seconds of base day   integer :: nbdateid(ptapes)         ! var id for base date   integer :: nbsecid(ptapes)          ! var id for base seconds of base date   integer :: ndcurid(ptapes)          ! var id for current day   integer :: nscurid(ptapes)          ! var id for current seconds of current day   integer :: dateid(ptapes)           ! var id for current date   integer :: datesecid(ptapes)        ! var id for curent seconds of current date   integer :: nstephid(ptapes)         ! var id for current timestep   integer :: timeid(ptapes)           ! var id for time   integer :: tbndid(ptapes)           ! var id for time_bnds   integer :: gwid(ptapes)             ! var id for gaussian weights   integer :: date_writtenid(ptapes)   ! var id for date time sample written   integer :: time_writtenid(ptapes)   ! var id for time time sample written   integer :: nlonid(ptapes)           ! var id for number of longitudes   integer :: wnummaxid(ptapes)        ! var id for cutoff fourier wavenumber (reduced grid)   integer :: nscurf(ptapes)           ! First "current" second of day for each h-file   integer :: ncsecf(ptapes)           ! First "current" second of date for each h-file   logical :: rgnht(ptapes) = .false.  ! flag array indicating regeneration volumes   logical :: hstwr(ptapes) = .false.  ! Flag for history writes   logical :: empty_htapes  = .false.  ! Namelist flag indicates no default history fields   logical :: htapes_defined = .false. ! flag indicates history contents have been defined   integer, parameter :: nlen = 256    ! Length of strings   character(len=nlen) :: hrestpath(ptapes) = (/(' ',i=1,ptapes)/) ! Full history restart pathnames   character(len=nlen) :: nfpath(ptapes) = (/(' ',i=1,ptapes)/) ! Array of first pathnames, for header   character(len=nlen) :: cpath(ptapes)                   ! Array of current pathnames   character(len=nlen) :: nhfil(ptapes)                   ! Array of current file names   character(len=1)  :: avgflag_pertape(ptapes) = (/(' ',i=1,ptapes)/) ! per tape averaging flag   character(len=8)  :: logname             ! user name   character(len=16) :: host                ! host name   character(len=80) :: ctitle              ! Case title   character(len=8)  :: inithist = 'YEARLY' ! If set to 'MONTHLY' or 'YEARLY' then write IC file    character(len=10) :: fincl(pflds,ptapes) ! List of fields to add to primary h-file   character(len=8)  :: fexcl(pflds,ptapes) ! List of fields to rm from primary h-file   character(len=10) :: fhstpr(pflds,ptapes) ! List of fields to change default hbuf size   character(len=10) :: fwrtpr(pflds,ptapes) ! List of fields to change default history output prec!! Equivalence to please namelist on a wide variety of platforms! NOTE: It is *ASSUMED* that ptapes is 6!   character*10 fincl1(pflds)   character*10 fincl2(pflds)   character*10 fincl3(pflds)   character*10 fincl4(pflds)   character*10 fincl5(pflds)   character*10 fincl6(pflds)   equivalence (fincl1,fincl(1,1))   equivalence (fincl2,fincl(1,2))   equivalence (fincl3,fincl(1,3))   equivalence (fincl4,fincl(1,4))   equivalence (fincl5,fincl(1,5))   equivalence (fincl6,fincl(1,6))   character*8 fexcl1(pflds)   character*8 fexcl2(pflds)   character*8 fexcl3(pflds)   character*8 fexcl4(pflds)   character*8 fexcl5(pflds)   character*8 fexcl6(pflds)   equivalence (fexcl1,fexcl(1,1))   equivalence (fexcl2,fexcl(1,2))   equivalence (fexcl3,fexcl(1,3))   equivalence (fexcl4,fexcl(1,4))   equivalence (fexcl5,fexcl(1,5))   equivalence (fexcl6,fexcl(1,6))   character*10 fhstpr1(pflds)   character*10 fhstpr2(pflds)   character*10 fhstpr3(pflds)   character*10 fhstpr4(pflds)   character*10 fhstpr5(pflds)   character*10 fhstpr6(pflds)   equivalence (fhstpr1,fhstpr(1,1))   equivalence (fhstpr2,fhstpr(1,2))   equivalence (fhstpr3,fhstpr(1,3))   equivalence (fhstpr4,fhstpr(1,4))   equivalence (fhstpr5,fhstpr(1,5))   equivalence (fhstpr6,fhstpr(1,6))   character*10 fwrtpr1(pflds)   character*10 fwrtpr2(pflds)   character*10 fwrtpr3(pflds)   character*10 fwrtpr4(pflds)   character*10 fwrtpr5(pflds)   character*10 fwrtpr6(pflds)   equivalence (fwrtpr1,fwrtpr(1,1))   equivalence (fwrtpr2,fwrtpr(1,2))   equivalence (fwrtpr3,fwrtpr(1,3))   equivalence (fwrtpr4,fwrtpr(1,4))   equivalence (fwrtpr5,fwrtpr(1,5))   equivalence (fwrtpr6,fwrtpr(1,6))!! Overloading assignment operator!   interface assignment (=)      module procedure hbuf_assigned_to_hbuf      module procedure hbuf_assigned_to_real8   end interface!! Generic procedures!   interface allocate_hbuf      module procedure allocate_hbuf2d      module procedure allocate_hbuf3d   end interface   interface deallocate_hbuf      module procedure deallocate_hbuf2d      module procedure deallocate_hbuf3d   end interface   interface nullify_hbuf      module procedure nullify_hbuf2d      module procedure nullify_hbuf3d   end interface!! Public entities!!! Filename specifiers for history, initial files and restart history files! (%c = caseid, $y = year, $m = month, $d = day, $s = seconds in day, %t = tape number)!   character(len=256) :: ifilename_spec = '%c.cam2.i.%y-%m-%d-%s.nc'  ! Initial files   character(len=256) :: rhfilename_spec = '%c.cam2.rh%t.%y-%m-%d-%s' ! history restart   character(len=256), public :: hfilename_spec(ptapes) = (/ (' ', i=1, ptapes) /) ! filename specifyer! Needed by anyone calling addfld   integer, parameter, public :: phys_decomp = 1     ! flag indicates physics decomposition   integer, parameter, public :: dyn_decomp  = 2     ! flag indicates dynamics decomposition! To allow parameterizations to initialize arrays to the fillvalue! THIS NEEDS TO BE FIXED.  No parameterization should be allowed access to fillvalue   public :: fillvalue! Needed by cam   public :: bldfld! Needed by initext   public :: nhtfrq, mfilt, inithist, ctitle! Needed by parse_namelist   public :: fincl, fincl1, fincl2, fincl3, fincl4, fincl5, fincl6   public :: fexcl, fexcl1, fexcl2, fexcl3, fexcl4, fexcl5, fexcl6   public :: fhstpr, fhstpr1, fhstpr2, fhstpr3, fhstpr4, fhstpr5, fhstpr6   public :: fwrtpr, fwrtpr1, fwrtpr2, fwrtpr3, fwrtpr4, fwrtpr5, fwrtpr6   public :: pflds, ptapes, empty_htapes, nhstpr, ndens   public :: avgflag_pertape! Needed by stepon   public :: hstwr   public :: nfils! Functions   public :: write_restart_history     ! Write restart history data   public :: read_restart_history      ! Read restart history data   public :: wshist                    ! Write files out   public :: write_inithist            ! Write the initial file   public :: outfld                    ! Output a field   public :: intht                     ! Initialization   public :: wrapup                    ! Archive history files at end of run   public :: addfld                    ! Add a field to history file   public :: add_default               ! Add the default fields   public :: get_hfilepath             ! Return history filename   public :: get_mtapes                ! Return the number of tapes being used   public :: get_hist_restart_filepath ! Return the full filepath to the history restart fileCONTAINS   subroutine intht ()!----------------------------------------------------------------------- ! ! Purpose: Initialize history file handler for initial or continuation run.!          For example, on an initial run, this routine initializes "mtapes"!          history files.  On a restart or regeneration  run, this routine !          only initializes history files declared beyond what existed on the !          previous run.  Files which already existed on the previous run have !          already been initialized (i.e. named and opened) in routine RESTRT.! 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av影院| 日韩成人精品在线观看| 成人性生交大片免费| 久久久午夜精品| 国产1区2区3区精品美女| 欧美高清在线精品一区| 成人激情小说网站| 亚洲黄一区二区三区| 欧美午夜寂寞影院| 男女男精品网站| 国产午夜一区二区三区| 91在线视频官网| 另类中文字幕网| 国产亚洲欧美一区在线观看| 成人黄色片在线观看| 亚洲精品视频在线观看网站| 欧美美女网站色| 国产在线观看一区二区| 椎名由奈av一区二区三区| 欧美亚洲一区二区三区四区| 免费视频一区二区| 欧美极品aⅴ影院| 欧美色大人视频| 国内精品在线播放| 亚洲欧美乱综合| 欧美成人aa大片| 97久久精品人人做人人爽| 日韩中文字幕一区二区三区| 久久久精品国产99久久精品芒果| 99久久夜色精品国产网站| 天堂午夜影视日韩欧美一区二区| 国产亚洲精久久久久久| 欧美亚洲国产bt| 国产sm精品调教视频网站| 亚洲国产精品人人做人人爽| 欧美tickling挠脚心丨vk| 色悠悠亚洲一区二区| 久久国产精品99久久人人澡| 一区二区三区在线观看网站| 欧美v国产在线一区二区三区| 91视频你懂的| 国产成人综合在线观看| 日韩主播视频在线| 亚洲蜜臀av乱码久久精品蜜桃| 欧美www视频| 欧美日韩在线免费视频| 成人激情校园春色| 久久99久久精品| 视频一区二区三区入口| 国产精品国产自产拍高清av王其| 日韩三级在线免费观看| 欧美主播一区二区三区美女| 成人理论电影网| 久久99国产精品尤物| 丝袜亚洲另类欧美综合| 一区二区三区在线视频观看| 国产欧美精品区一区二区三区 | 国产福利精品一区二区| 午夜欧美2019年伦理| 亚洲欧洲综合另类| 中文字幕亚洲区| 欧美国产激情一区二区三区蜜月| 欧美一区二区三区日韩| 欧美影片第一页| 色婷婷综合久久久久中文一区二区| 国产一区二区精品久久91| 爽爽淫人综合网网站| 偷拍日韩校园综合在线| 午夜视频在线观看一区二区三区| 亚洲激情自拍偷拍| 亚洲九九爱视频| 怡红院av一区二区三区| 亚洲免费观看高清完整版在线 | 亚洲色图在线视频| 久久美女高清视频| 久久影院电视剧免费观看| 精品免费视频.| 欧美哺乳videos| 久久综合中文字幕| 久久久久久久久久久黄色| 久久美女艺术照精彩视频福利播放| 欧美成人a在线| 国产色一区二区| 中文字幕亚洲欧美在线不卡| 中文字幕一区二区三中文字幕| 国产精品成人免费精品自在线观看| 国产精品成人一区二区三区夜夜夜| 中文字幕久久午夜不卡| 亚洲色图在线看| 亚洲123区在线观看| 免费看欧美女人艹b| 国产最新精品免费| 粉嫩嫩av羞羞动漫久久久| 成人国产精品免费网站| 色欧美乱欧美15图片| 欧美私人免费视频| 91麻豆精品国产91久久久久久久久| 欧美一区二区三区性视频| 欧美大片顶级少妇| 国产日韩欧美精品一区| 中文字幕在线不卡一区二区三区| 一区二区三区在线免费观看| 视频一区视频二区在线观看| 国产在线一区二区| av在线一区二区三区| 欧美日韩高清不卡| 久久久777精品电影网影网| 国产精品乱码一区二区三区软件| 一区二区在线看| 久久99这里只有精品| 成人动漫一区二区在线| 欧美久久久久久久久久| 精品国产1区二区| 亚洲欧洲无码一区二区三区| 亚洲成人免费电影| 国产成人小视频| 欧美日韩精品综合在线| 久久久噜噜噜久噜久久综合| 亚洲精品高清在线观看| 国内一区二区视频| 在线观看视频一区二区欧美日韩| 精品国产精品一区二区夜夜嗨| 国产精品久久久久久福利一牛影视| 亚洲午夜精品在线| 国产成人精品1024| 欧美美女网站色| 中文字幕日本不卡| 韩国v欧美v亚洲v日本v| 日本道色综合久久| 久久综合一区二区| 丝袜诱惑制服诱惑色一区在线观看| 国产一区二区精品在线观看| 欧美中文字幕亚洲一区二区va在线 | 亚洲午夜久久久久久久久电影网 | 国产盗摄视频一区二区三区| 在线精品视频小说1| 国产精品少妇自拍| 激情深爱一区二区| 欧美精品亚洲一区二区在线播放| 国产精品污网站| 国产麻豆视频一区二区| 在线观看视频一区二区欧美日韩| 国产精品色在线观看| 黑人巨大精品欧美一区| 制服丝袜av成人在线看| 国产精品一卡二卡| 3751色影院一区二区三区| 亚洲视频1区2区| 国产成人福利片| 26uuu精品一区二区| 青青草91视频| 欧美日本一道本在线视频| 自拍偷拍国产亚洲| 成人蜜臀av电影| 国产午夜亚洲精品不卡| 激情久久五月天| 日韩一级片在线播放| 天天影视色香欲综合网老头| 欧美丝袜丝交足nylons图片| 亚洲日本中文字幕区| 91香蕉视频黄| 亚洲人成伊人成综合网小说| 成人美女在线观看| 国产精品国产自产拍高清av| 国产.欧美.日韩| 国产人伦精品一区二区| 成人久久久精品乱码一区二区三区| 国产午夜久久久久| 国产成人精品影院| 欧美激情综合网| youjizz久久| 亚洲欧美在线视频| av成人动漫在线观看| 亚洲伦理在线精品| 色欧美日韩亚洲| 五月天激情综合网| 日韩欧美你懂的| 蜜桃精品视频在线观看| 精品噜噜噜噜久久久久久久久试看| 久久精品免费看| 久久精品免视看| 99re免费视频精品全部| 亚洲欧美日韩国产综合| 欧美色图免费看| 日本三级韩国三级欧美三级| 日韩欧美一区电影| 粉嫩蜜臀av国产精品网站| 亚洲视频免费观看| 欧美日韩黄视频| 精品无码三级在线观看视频| 中文字幕 久热精品 视频在线 | 欧美日韩在线一区二区| 日本大胆欧美人术艺术动态| 久久网站最新地址| 99这里只有精品| 日日骚欧美日韩| 久久综合久久鬼色中文字| 不卡的av在线播放| 五月天欧美精品| 欧美国产精品久久|