next up previous contents index
Next: masterlist_printflds Up: ProTEX Source Code Documentation Previous: getdatetime (File: getdatetime.F90)   Contents   Index


Module histFileMod
(Source File: histFileMod.F90)

Module containing methods to for CLM history file handling.


USES:

   use shr_kind_mod, only : r8 => shr_kind_r8
   use shr_sys_mod , only : shr_sys_getenv, shr_sys_flush
   use abortutils  , only : endrun
   use clm_varcon  , only : spval
   implicit none
   save
   private
   include "netcdf.inc"
PUBLIC TYPES:
   Constants
   integer , public, parameter :: max_tapes = 6          ! max number of histo
   integer , public, parameter :: max_flds = 1000        ! max number of histo
   integer , public, parameter :: max_namlen = 32        ! maximum number of c
   Counters
   integer , public :: ntapes = 0          ! index of max history file request
   Namelist
   integer :: ni                          ! implicit index below
   logical, public :: &
        hist_empty_htapes  = .false.      ! namelist: flag indicates no defaul
   integer, public :: &
        hist_ndens(max_tapes) = 2         ! namelist: output density of netcdf
   integer, public :: &
        hist_mfilt(max_tapes) = 30        ! namelist: number of time samples p
   logical, public :: &
        hist_dov2xy(max_tapes) = (/.true.,(.true.,ni=2,max_tapes)/) ! namelist
   integer, public :: &
        hist_nhtfrq(max_tapes) = (/0, (-24, ni=2,max_tapes)/)        ! namelis
   character(len=1), public :: &
        hist_avgflag_pertape(max_tapes) = (/(' ',ni=1,max_tapes)/)   ! namelis
   character(len=max_namlen), public :: &
        hist_type1d_pertape(max_tapes)  = (/(' ',ni=1,max_tapes)/)   ! namelis
 
   character(len=max_namlen+2), public :: &
        hist_fincl1(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen+2), public :: &
        hist_fincl2(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen+2), public :: &
        hist_fincl3(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen+2), public :: &
        hist_fincl4(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen+2), public :: &
        hist_fincl5(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen+2), public :: &
        hist_fincl6(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen+2), public :: &
        fincl(max_flds,max_tapes)    ! namelist-equivalence list of fields to 
 
   character(len=max_namlen), public :: &
        hist_fexcl1(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen), public :: &
        hist_fexcl2(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen), public :: &
        hist_fexcl3(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen), public :: &
        hist_fexcl4(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen), public :: &
        hist_fexcl5(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen), public :: &
        hist_fexcl6(max_flds) = (/(' ',ni=1,max_flds)/) ! namelist: list of fi
   character(len=max_namlen), public :: &
        fexcl(max_flds,max_tapes)    ! namelist-equivalence list of fields to 
   Equivalence used to satisfy namelist on a wide variety of platforms
   NOTE: It is *ASSUMED* that max_tapes is 6
   equivalence (hist_fincl1,fincl(1,1))
   equivalence (hist_fincl2,fincl(1,2))
   equivalence (hist_fincl3,fincl(1,3))
   equivalence (hist_fincl4,fincl(1,4))
   equivalence (hist_fincl5,fincl(1,5))
   equivalence (hist_fincl6,fincl(1,6))
 
   equivalence (hist_fexcl1,fexcl(1,1))
   equivalence (hist_fexcl2,fexcl(1,2))
   equivalence (hist_fexcl3,fexcl(1,3))
   equivalence (hist_fexcl4,fexcl(1,4))
   equivalence (hist_fexcl5,fexcl(1,5))
   equivalence (hist_fexcl6,fexcl(1,6))
   Restart
   logical, public :: if_writrest    ! true=> write restart file now
PUBLIC MEMBER FUNCTIONS:
   public :: add_fld1d               ! Add a 1d single-level field to the mast
   public :: add_fld2d               ! Add a 2d multi-level field to the maste
   public :: add_subscript           ! Add a 2d subscript dimension
   public :: masterlist_make_active  ! Add a field to the given history file d
   public :: masterlist_printflds    ! Print summary of master field list
   public :: htapes_build            ! Initialize history file handler for ini
   public :: update_hbuf             ! Updates history buffer for all fields a
   public :: htapes_wrapup           ! Write and/or dispose history tape(s)
   public :: restart_history         ! Read/write history file restart data
REVISION HISTORY:
   Created by Mariana Vertenstein



Subsections

Mariana Vertenstein 2004-06-21