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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? history.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
#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.! 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人性战久久| 在线播放亚洲一区| 日韩精品国产精品| 精品粉嫩aⅴ一区二区三区四区 | 精品视频在线免费| 久久精品视频一区二区| 老色鬼精品视频在线观看播放| 欧美私人免费视频| 亚洲不卡一区二区三区| 欧美群妇大交群的观看方式| 亚洲一区二区av在线| 在线免费观看日本欧美| 亚洲成a人片在线不卡一二三区| 欧美日韩一区小说| 国精产品一区一区三区mba桃花 | 欧美日韩在线播放| 亚洲永久精品大片| 日韩一区二区三区在线| 国产一区二区免费看| 理论片日本一区| 精品精品国产高清a毛片牛牛| 久久精品av麻豆的观看方式| 国产精品亲子乱子伦xxxx裸| 欧美艳星brazzers| 国产精品美女久久久久aⅴ| 97精品久久久午夜一区二区三区 | 99国产欧美另类久久久精品 | 国产黄色精品网站| 极品少妇xxxx偷拍精品少妇| 日本视频一区二区三区| 免费在线一区观看| 激情欧美一区二区| 九九热在线视频观看这里只有精品| 国产亚洲欧美日韩在线一区| 色国产综合视频| 国产一区二区三区在线看麻豆 | 精品人伦一区二区色婷婷| 91亚洲大成网污www| 亚洲成人在线免费| 国产欧美精品区一区二区三区| 色天天综合久久久久综合片| 国产综合色视频| 亚洲乱码中文字幕综合| 亚洲欧洲日韩女同| 欧美日韩一级片网站| 久久免费看少妇高潮| 久久免费看少妇高潮| 国产三级一区二区三区| 久久综合九色综合97婷婷女人| 国产亚洲视频系列| 欧美激情一区二区三区四区| 国产精品久久久久久久浪潮网站| 国产精品你懂的在线| 成人欧美一区二区三区| 亚洲裸体在线观看| 亚洲一区在线观看视频| 首页国产欧美久久| 国产揄拍国内精品对白| 成人毛片视频在线观看| 欧美在线免费播放| 欧美一三区三区四区免费在线看 | 久久久久久久综合色一本| 欧美极品少妇xxxxⅹ高跟鞋| 中文字幕在线观看不卡视频| 亚洲一区在线电影| 美美哒免费高清在线观看视频一区二区 | 精品一区二区三区免费视频| 成人一区在线看| 欧美色综合久久| 337p日本欧洲亚洲大胆精品| 国产精品护士白丝一区av| 婷婷综合五月天| 欧美高清视频一二三区| 日韩免费视频一区二区| 国产精品电影院| 日韩电影在线看| 不卡av免费在线观看| 欧美一卡在线观看| 国产精品国产自产拍高清av| 日本aⅴ免费视频一区二区三区| 国产精品亚洲一区二区三区在线| 91丨九色porny丨蝌蚪| 日韩欧美国产三级电影视频| 亚洲欧美日韩国产综合| 免费成人在线观看视频| 91麻豆精东视频| 欧美一区二区三区免费在线看 | 另类人妖一区二区av| 成人一级片网址| 91精品国产综合久久香蕉的特点| 中文字幕成人网| 亚洲激情第一区| 国产在线一区二区综合免费视频| 色婷婷综合久色| 久久精品亚洲一区二区三区浴池 | 成人性生交大片免费看视频在线| 色拍拍在线精品视频8848| 91精品国产综合久久精品图片| 国产亚洲一二三区| 亚洲国产日韩精品| 成人av午夜电影| 欧美videofree性高清杂交| 亚洲与欧洲av电影| 成人一级片在线观看| 日韩精品专区在线| 天堂成人国产精品一区| 色八戒一区二区三区| xfplay精品久久| 亚洲mv在线观看| 青青青伊人色综合久久| 色综合天天做天天爱| 精品国产成人在线影院| 亚洲va欧美va国产va天堂影院| 风间由美中文字幕在线看视频国产欧美| 91精品国产高清一区二区三区| 亚洲另类在线制服丝袜| jiyouzz国产精品久久| 久久久久国产精品人| 日韩av不卡在线观看| 欧美日本免费一区二区三区| 一区二区三区不卡在线观看| 国产91精品露脸国语对白| 日韩视频在线观看一区二区| 亚洲成人av中文| 欧美日韩国产综合久久| 亚洲精品国产第一综合99久久 | 亚洲影院在线观看| av一二三不卡影片| 国产欧美一区二区三区网站 | 精品乱人伦小说| 午夜精品久久久久久久蜜桃app| 91在线观看地址| 亚洲视频图片小说| 白白色 亚洲乱淫| 中文字幕av一区 二区| 精品亚洲成a人| 精品久久国产老人久久综合| 久久精品国产色蜜蜜麻豆| 日韩一区二区三区在线| 蜜臀av一级做a爰片久久| 欧美日韩色一区| 亚洲一区二区精品久久av| 色播五月激情综合网| 一区二区三区在线免费播放| jlzzjlzz亚洲日本少妇| 亚洲天堂2014| 91成人在线观看喷潮| 亚洲综合成人网| 欧美三级日韩三级国产三级| 三级精品在线观看| 日韩午夜激情免费电影| 国产在线视频一区二区三区| 国产日韩影视精品| 成人激情综合网站| 一区二区三区在线视频观看58| 在线日韩av片| 视频在线观看国产精品| 精品电影一区二区| 成人激情免费视频| 国产精品超碰97尤物18| 91行情网站电视在线观看高清版| 性久久久久久久久| 日韩精品最新网址| 风间由美中文字幕在线看视频国产欧美| 亚洲少妇30p| 欧美福利一区二区| 国产在线麻豆精品观看| 国产精品久久久一本精品| 色婷婷激情一区二区三区| 免费人成黄页网站在线一区二区| 精品国产污污免费网站入口 | 亚洲乱码中文字幕| 欧美裸体bbwbbwbbw| 激情五月激情综合网| 国产精品久久久久久久裸模| 欧美日韩免费高清一区色橹橹 | 亚洲一区二区三区免费视频| 欧美一区二区网站| 风间由美性色一区二区三区| 亚洲国产欧美在线人成| 久久久久99精品国产片| 色94色欧美sute亚洲线路二 | 2014亚洲片线观看视频免费| 99精品国产热久久91蜜凸| 日本成人在线电影网| 日本一区二区综合亚洲| 色噜噜狠狠一区二区三区果冻| 蜜桃传媒麻豆第一区在线观看| 中文字幕av一区二区三区高| 555www色欧美视频| 成人午夜免费视频| 日本欧洲一区二区| 亚洲视频在线观看一区| 日韩精品一区二区三区蜜臀| 91小视频免费观看| 国产精品自拍在线| 日本怡春院一区二区| 亚洲蜜臀av乱码久久精品| 久久―日本道色综合久久| 欧美日韩久久久|