CAM
histfilemod Module Reference

Data Types

type  clmpoint_ra
 
type  clmpoint_rs
 
type  field_info
 
type  history_entry
 
type  history_tape
 
type  master_entry
 

Functions/Subroutines

subroutine, public hist_printflds ()
 
subroutine, private masterlist_addfld (fname, type1d, type1d_out, type2d, num2d, units, avgflag, long_name, hpindex, p2c_scale_type, c2l_scale_type, l2g_scale_type, no_snow_behavior)
 
subroutine, public hist_htapes_build ()
 
subroutine, private masterlist_make_active (name, tape_index, avgflag)
 
subroutine, private masterlist_change_timeavg (t)
 
subroutine, public htapes_fieldlist ()
 
subroutine, private htape_addfld (t, f, avgflag)
 
subroutine, public hist_update_hbuf (bounds)
 
subroutine, private hist_update_hbuf_field_1d (t, f, bounds)
 
subroutine, private hist_update_hbuf_field_2d (t, f, bounds, num2d)
 
subroutine, private hist_set_snow_field_2d (field_out, field_in, no_snow_behavior, type1d, beg1d, end1d)
 
subroutine, private hfields_normalize (t)
 
subroutine, private hfields_zero (t)
 
subroutine, private htape_create (t, histrest)
 
subroutine, private htape_add_ltype_metadata (lnfid)
 
subroutine, private htape_add_natpft_metadata (lnfid)
 
subroutine, private htape_add_cft_metadata (lnfid)
 
subroutine, private htape_timeconst3d (t, bounds, watsat_col, sucsat_col, bsw_col, hksat_col, mode)
 
subroutine, private htape_timeconst (t, mode)
 
subroutine, private hfields_write (t, mode)
 
subroutine, private hfields_1dinfo (t, mode)
 
subroutine, public hist_htapes_wrapup (rstwr, nlend, bounds, watsat_col, sucsat_col, bsw_col, hksat_col)
 
subroutine, public hist_restart_ncd (bounds, ncid, flag, rdate)
 
integer function, private max_nfields ()
 
character(len=max_namlen) function, private getname (inname)
 
character(len=1) function, private getflag (inname)
 
subroutine, private list_index (list, name, index)
 
character(len=256) function, private set_hist_filename (hist_freq, hist_mfilt, hist_file)
 
subroutine, public hist_addfld1d (fname, units, avgflag, long_name, type1d_out, ptr_gcell, ptr_lunit, ptr_col, ptr_patch, ptr_lnd, ptr_atm, p2c_scale_type, c2l_scale_type, l2g_scale_type, set_lake, set_nolake, set_urb, set_nourb, set_noglcmec, set_spec, default)
 
subroutine, public hist_addfld2d (fname, type2d, units, avgflag, long_name, type1d_out, ptr_gcell, ptr_lunit, ptr_col, ptr_patch, ptr_lnd, ptr_atm, p2c_scale_type, c2l_scale_type, l2g_scale_type, set_lake, set_nolake, set_urb, set_nourb, set_spec, no_snow_behavior, default)
 
subroutine, public hist_addfld_decomp (fname, type2d, units, avgflag, long_name, ptr_col, ptr_patch, default)
 
integer function, private pointer_index ()
 
subroutine, public hist_add_subscript (name, dim)
 
subroutine strip_null (str)
 
subroutine hist_do_disp (ntapes, hist_ntimes, hist_mfilt, if_stop, if_disphist, rstwr, nlend)
 

Variables

integer, parameter, public max_tapes = 6
 
integer, parameter, public max_flds = 2500
 
integer, parameter, public max_namlen = 64
 
integer, parameter, private hist_dim_name_length = 16
 
integer, parameter, private no_snow_min = 1
 
integer, parameter, public no_snow_normal = 1
 
integer, parameter, public no_snow_zero = 2
 
integer, parameter, private no_snow_max = 2
 
integer, parameter, private no_snow_unset = no_snow_MIN - 1
 
integer, public ntapes = 0
 
integer ni
 
logical, public hist_empty_htapes = .false.
 
integer, dimension(max_tapes), public hist_ndens = 2
 
integer, dimension(max_tapes), public hist_mfilt = 30
 
logical, dimension(max_tapes), public hist_dov2xy = (/.true.,(.true.,ni=2,max_tapes)/)
 
integer, dimension(max_tapes), public hist_nhtfrq = (/0, (-24, ni=2,max_tapes)/)
 
character(len=1), dimension(max_tapes), public hist_avgflag_pertape = (/(' ',ni=1,max_tapes)/)
 
character(len=max_namlen), dimension(max_tapes), public hist_type1d_pertape = (/(' ',ni=1,max_tapes)/)
 
character(len=max_namlen+2), dimension(max_flds, max_tapes), public fincl
 
character(len=max_namlen+2), dimension(max_flds), public hist_fincl1 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fincl2 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fincl3 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fincl4 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fincl5 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fincl6 = ' '
 
character(len=max_namlen+2), dimension(max_flds, max_tapes), public fexcl
 
character(len=max_namlen+2), dimension(max_flds), public hist_fexcl1 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fexcl2 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fexcl3 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fexcl4 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fexcl5 = ' '
 
character(len=max_namlen+2), dimension(max_flds), public hist_fexcl6 = ' '
 
logical, dimension(max_tapes), private if_disphist
 
integer, parameter max_chars = 256
 
integer, parameter max_subs = 100
 
integer num_subs = 0
 
character(len=32), dimension(max_subssubs_name
 
integer, dimension(max_subssubs_dim
 
integer, parameter max_mapflds = 2500
 
type(clmpoint_rs), dimension(max_mapfldsclmptr_rs
 
type(clmpoint_ra), dimension(max_mapfldsclmptr_ra
 
type(master_entry), dimension(max_fldsmasterlist
 
type(history_tape), dimension(max_tapestape
 
integer nfmaster = 0
 
character(len=max_chars), dimension(max_tapeslocfnh
 
character(len=max_chars), dimension(max_tapeslocfnhr
 
logical htapes_defined = .false.
 
type(file_desc_t), dimension(max_tapesnfid
 
type(file_desc_t), dimension(max_tapesncid_hist
 
integer time_dimid
 
integer hist_interval_dimid
 
integer strlen_dimid
 
character(len=max_charstimeconst3dvars_filename = ' '
 
character(len=max_charstimeconst3dvars = ' '
 

Function/Subroutine Documentation

◆ getflag()

character(len=1) function, private histfilemod::getflag ( character(len=*)  inname)
private
Here is the caller graph for this function:

◆ getname()

character(len=max_namlen) function, private histfilemod::getname ( character(len=*), intent(in)  inname)
private
Here is the caller graph for this function:

◆ hfields_1dinfo()

subroutine, private histfilemod::hfields_1dinfo ( integer, intent(in)  t,
character(len=*), intent(in)  mode 
)
private
Here is the caller graph for this function:

◆ hfields_normalize()

subroutine, private histfilemod::hfields_normalize ( integer, intent(in)  t)
private
Here is the caller graph for this function:

◆ hfields_write()

subroutine, private histfilemod::hfields_write ( integer, intent(in)  t,
character(len=*), intent(in)  mode 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfields_zero()

subroutine, private histfilemod::hfields_zero ( integer, intent(in)  t)
private
Here is the caller graph for this function:

◆ hist_add_subscript()

subroutine, public histfilemod::hist_add_subscript ( character(len=*), intent(in)  name,
integer, intent(in)  dim 
)

◆ hist_addfld1d()

subroutine, public histfilemod::hist_addfld1d ( character(len=*), intent(in)  fname,
character(len=*), intent(in)  units,
character(len=1), intent(in)  avgflag,
character(len=*), intent(in)  long_name,
character(len=*), intent(in), optional  type1d_out,
real(r8), dimension(:), optional, pointer  ptr_gcell,
real(r8), dimension(:), optional, pointer  ptr_lunit,
real(r8), dimension(:), optional, pointer  ptr_col,
real(r8), dimension(:), optional, pointer  ptr_patch,
real(r8), dimension(:), optional, pointer  ptr_lnd,
real(r8), dimension(:), optional, pointer  ptr_atm,
character(len=*), intent(in), optional  p2c_scale_type,
character(len=*), intent(in), optional  c2l_scale_type,
character(len=*), intent(in), optional  l2g_scale_type,
real(r8), intent(in), optional  set_lake,
real(r8), intent(in), optional  set_nolake,
real(r8), intent(in), optional  set_urb,
real(r8), intent(in), optional  set_nourb,
real(r8), intent(in), optional  set_noglcmec,
real(r8), intent(in), optional  set_spec,
character(len=*), intent(in), optional  default 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_addfld2d()

subroutine, public histfilemod::hist_addfld2d ( character(len=*), intent(in)  fname,
character(len=*), intent(in)  type2d,
character(len=*), intent(in)  units,
character(len=1), intent(in)  avgflag,
character(len=*), intent(in)  long_name,
character(len=*), intent(in), optional  type1d_out,
real(r8), dimension(:,:), optional, pointer  ptr_gcell,
real(r8), dimension(:,:), optional, pointer  ptr_lunit,
real(r8), dimension(:,:), optional, pointer  ptr_col,
real(r8), dimension(:,:), optional, pointer  ptr_patch,
real(r8), dimension(:,:), optional, pointer  ptr_lnd,
real(r8), dimension(:,:), optional, pointer  ptr_atm,
character(len=*), intent(in), optional  p2c_scale_type,
character(len=*), intent(in), optional  c2l_scale_type,
character(len=*), intent(in), optional  l2g_scale_type,
real(r8), intent(in), optional  set_lake,
real(r8), intent(in), optional  set_nolake,
real(r8), intent(in), optional  set_urb,
real(r8), intent(in), optional  set_nourb,
real(r8), intent(in), optional  set_spec,
integer, intent(in), optional  no_snow_behavior,
character(len=*), intent(in), optional  default 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_addfld_decomp()

subroutine, public histfilemod::hist_addfld_decomp ( character(len=*), intent(in)  fname,
character(len=*), intent(in)  type2d,
character(len=*), intent(in)  units,
character(len=1), intent(in)  avgflag,
character(len=*), intent(in)  long_name,
real(r8), dimension(:,:), optional, pointer  ptr_col,
real(r8), dimension(:,:), optional, pointer  ptr_patch,
character(len=*), intent(in), optional  default 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_do_disp()

subroutine histfilemod::hist_do_disp ( integer, intent(in)  ntapes,
integer, dimension(ntapes), intent(in)  hist_ntimes,
integer, dimension(ntapes), intent(in)  hist_mfilt,
logical, intent(out)  if_stop,
logical, dimension(ntapes), intent(out)  if_disphist,
logical, intent(in)  rstwr,
logical, intent(in)  nlend 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_htapes_build()

subroutine, public histfilemod::hist_htapes_build ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_htapes_wrapup()

subroutine, public histfilemod::hist_htapes_wrapup ( logical, intent(in)  rstwr,
logical, intent(in)  nlend,
type(bounds_type), intent(in)  bounds,
real(r8), dimension( bounds%begc:,1: ), intent(in)  watsat_col,
real(r8), dimension( bounds%begc:,1: ), intent(in)  sucsat_col,
real(r8), dimension( bounds%begc:,1: ), intent(in)  bsw_col,
real(r8), dimension( bounds%begc:,1: ), intent(in)  hksat_col 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_printflds()

subroutine, public histfilemod::hist_printflds ( )
Here is the caller graph for this function:

◆ hist_restart_ncd()

subroutine, public histfilemod::hist_restart_ncd ( type(bounds_type), intent(in)  bounds,
type(file_desc_t), intent(inout)  ncid,
character(len=*), intent(in)  flag,
character(len=*), intent(in), optional  rdate 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_set_snow_field_2d()

subroutine, private histfilemod::hist_set_snow_field_2d ( real(r8), dimension( beg1d: , 1: ), intent(out)  field_out,
real(r8), dimension ( beg1d: , 1: ), intent(in)  field_in,
integer, intent(in)  no_snow_behavior,
character(len=*), intent(in)  type1d,
integer, intent(in)  beg1d,
integer, intent(in)  end1d 
)
private
Here is the caller graph for this function:

◆ hist_update_hbuf()

subroutine, public histfilemod::hist_update_hbuf ( type(bounds_type), intent(in)  bounds)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hist_update_hbuf_field_1d()

subroutine, private histfilemod::hist_update_hbuf_field_1d ( integer, intent(in)  t,
integer, intent(in)  f,
type(bounds_type), intent(in)  bounds 
)
private
Here is the caller graph for this function:

◆ hist_update_hbuf_field_2d()

subroutine, private histfilemod::hist_update_hbuf_field_2d ( integer, intent(in)  t,
integer, intent(in)  f,
type(bounds_type), intent(in)  bounds,
integer, intent(in)  num2d 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ htape_add_cft_metadata()

subroutine, private histfilemod::htape_add_cft_metadata ( type(file_desc_t), intent(inout)  lnfid)
private
Here is the caller graph for this function:

◆ htape_add_ltype_metadata()

subroutine, private histfilemod::htape_add_ltype_metadata ( type(file_desc_t), intent(inout)  lnfid)
private
Here is the caller graph for this function:

◆ htape_add_natpft_metadata()

subroutine, private histfilemod::htape_add_natpft_metadata ( type(file_desc_t), intent(inout)  lnfid)
private

◆ htape_addfld()

subroutine, private histfilemod::htape_addfld ( integer, intent(in)  t,
integer, intent(in)  f,
character(len=1), intent(in)  avgflag 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ htape_create()

subroutine, private histfilemod::htape_create ( integer, intent(in)  t,
logical, intent(in), optional  histrest 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ htape_timeconst()

subroutine, private histfilemod::htape_timeconst ( integer, intent(in)  t,
character(len=*), intent(in)  mode 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ htape_timeconst3d()

subroutine, private histfilemod::htape_timeconst3d ( integer, intent(in)  t,
type(bounds_type), intent(in)  bounds,
real(r8), dimension( bounds%begc:,1: ), intent(in)  watsat_col,
real(r8), dimension( bounds%begc:,1: ), intent(in)  sucsat_col,
real(r8), dimension( bounds%begc:,1: ), intent(in)  bsw_col,
real(r8), dimension( bounds%begc:,1: ), intent(in)  hksat_col,
character(len=*), intent(in)  mode 
)
private
Here is the caller graph for this function:

◆ htapes_fieldlist()

subroutine, public histfilemod::htapes_fieldlist ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ list_index()

subroutine, private histfilemod::list_index ( character(len=*), dimension(max_flds), intent(in)  list,
character(len=max_namlen), intent(in)  name,
integer, intent(out)  index 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ masterlist_addfld()

subroutine, private histfilemod::masterlist_addfld ( character(len=*), intent(in)  fname,
character(len=*), intent(in)  type1d,
character(len=*), intent(in)  type1d_out,
character(len=*), intent(in)  type2d,
integer, intent(in)  num2d,
character(len=*), intent(in)  units,
character(len=1), intent(in)  avgflag,
character(len=*), intent(in)  long_name,
integer, intent(in)  hpindex,
character(len=*), intent(in)  p2c_scale_type,
character(len=*), intent(in)  c2l_scale_type,
character(len=*), intent(in)  l2g_scale_type,
integer, intent(in), optional  no_snow_behavior 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ masterlist_change_timeavg()

subroutine, private histfilemod::masterlist_change_timeavg ( integer, intent(in)  t)
private
Here is the caller graph for this function:

◆ masterlist_make_active()

subroutine, private histfilemod::masterlist_make_active ( character(len=*), intent(in)  name,
integer, intent(in)  tape_index,
character(len=1), intent(in), optional  avgflag 
)
private
Here is the caller graph for this function:

◆ max_nfields()

integer function, private histfilemod::max_nfields ( )
private
Here is the caller graph for this function:

◆ pointer_index()

integer function, private histfilemod::pointer_index ( )
private
Here is the caller graph for this function:

◆ set_hist_filename()

character(len=256) function, private histfilemod::set_hist_filename ( integer, intent(in)  hist_freq,
integer, intent(in)  hist_mfilt,
integer, intent(in)  hist_file 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ strip_null()

subroutine histfilemod::strip_null ( character(len=*), intent(inout)  str)
private
Here is the caller graph for this function:

Variable Documentation

◆ clmptr_ra

type (clmpoint_ra), dimension(max_mapflds) histfilemod::clmptr_ra
private

◆ clmptr_rs

type (clmpoint_rs), dimension(max_mapflds) histfilemod::clmptr_rs
private

◆ fexcl

character(len=max_namlen+2), dimension(max_flds,max_tapes), public histfilemod::fexcl

◆ fincl

character(len=max_namlen+2), dimension(max_flds,max_tapes), public histfilemod::fincl

◆ hist_avgflag_pertape

character(len=1), dimension(max_tapes), public histfilemod::hist_avgflag_pertape = (/(' ',ni=1,max_tapes)/)

◆ hist_dim_name_length

integer, parameter, private histfilemod::hist_dim_name_length = 16
private

◆ hist_dov2xy

logical, dimension(max_tapes), public histfilemod::hist_dov2xy = (/.true.,(.true.,ni=2,max_tapes)/)

◆ hist_empty_htapes

logical, public histfilemod::hist_empty_htapes = .false.

◆ hist_fexcl1

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fexcl1 = ' '

◆ hist_fexcl2

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fexcl2 = ' '

◆ hist_fexcl3

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fexcl3 = ' '

◆ hist_fexcl4

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fexcl4 = ' '

◆ hist_fexcl5

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fexcl5 = ' '

◆ hist_fexcl6

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fexcl6 = ' '

◆ hist_fincl1

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fincl1 = ' '

◆ hist_fincl2

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fincl2 = ' '

◆ hist_fincl3

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fincl3 = ' '

◆ hist_fincl4

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fincl4 = ' '

◆ hist_fincl5

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fincl5 = ' '

◆ hist_fincl6

character(len=max_namlen+2), dimension(max_flds), public histfilemod::hist_fincl6 = ' '

◆ hist_interval_dimid

integer histfilemod::hist_interval_dimid
private

◆ hist_mfilt

integer, dimension(max_tapes), public histfilemod::hist_mfilt = 30

◆ hist_ndens

integer, dimension(max_tapes), public histfilemod::hist_ndens = 2

◆ hist_nhtfrq

integer, dimension(max_tapes), public histfilemod::hist_nhtfrq = (/0, (-24, ni=2,max_tapes)/)

◆ hist_type1d_pertape

character(len=max_namlen), dimension(max_tapes), public histfilemod::hist_type1d_pertape = (/(' ',ni=1,max_tapes)/)

◆ htapes_defined

logical histfilemod::htapes_defined = .false.
private

◆ if_disphist

logical, dimension(max_tapes), private histfilemod::if_disphist
private

◆ locfnh

character(len=max_chars), dimension(max_tapes) histfilemod::locfnh
private

◆ locfnhr

character(len=max_chars), dimension(max_tapes) histfilemod::locfnhr
private

◆ masterlist

type (master_entry), dimension(max_flds) histfilemod::masterlist
private

◆ max_chars

integer, parameter histfilemod::max_chars = 256
private

◆ max_flds

integer, parameter, public histfilemod::max_flds = 2500

◆ max_mapflds

integer, parameter histfilemod::max_mapflds = 2500
private

◆ max_namlen

integer, parameter, public histfilemod::max_namlen = 64

◆ max_subs

integer, parameter histfilemod::max_subs = 100
private

◆ max_tapes

integer, parameter, public histfilemod::max_tapes = 6

◆ ncid_hist

type(file_desc_t), dimension(max_tapes) histfilemod::ncid_hist
private

◆ nfid

type(file_desc_t), dimension(max_tapes) histfilemod::nfid
private

◆ nfmaster

integer histfilemod::nfmaster = 0
private

◆ ni

integer histfilemod::ni
private

◆ no_snow_max

integer, parameter, private histfilemod::no_snow_max = 2
private

◆ no_snow_min

integer, parameter, private histfilemod::no_snow_min = 1
private

◆ no_snow_normal

integer, parameter, public histfilemod::no_snow_normal = 1

◆ no_snow_unset

integer, parameter, private histfilemod::no_snow_unset = no_snow_MIN - 1
private

◆ no_snow_zero

integer, parameter, public histfilemod::no_snow_zero = 2

◆ ntapes

integer, public histfilemod::ntapes = 0

◆ num_subs

integer histfilemod::num_subs = 0
private

◆ strlen_dimid

integer histfilemod::strlen_dimid
private

◆ subs_dim

integer, dimension(max_subs) histfilemod::subs_dim
private

◆ subs_name

character(len=32), dimension(max_subs) histfilemod::subs_name
private

◆ tape

type (history_tape), dimension(max_tapes) histfilemod::tape
private

◆ time_dimid

integer histfilemod::time_dimid
private

◆ timeconst3dvars

character(len=max_chars) histfilemod::timeconst3dvars = ' '
private

◆ timeconst3dvars_filename

character(len=max_chars) histfilemod::timeconst3dvars_filename = ' '
private