46 use dc_date,
only:
operator(*),
operator(+)
51 logical:: allvar_invalid
55 integer,
parameter:: names_limit = 100
56 character(names_limit):: names_invalid
60 character(STRING):: name, units, longname, var_info_str
61 character(TOKEN),
pointer:: dims(:) =>null()
64 character(STRING):: cause_c
65 character(*),
parameter:: subname =
"HistoryAutoAllVarFix"
76 cause_c =
'gtool_historyauto'
91 & invalid = allvar_invalid, names = names_invalid )
93 if ( len_trim(names_invalid) > (names_limit - 5) )
then
94 names_invalid = names_invalid(1:names_limit - 5) //
' ....'
97 if ( allvar_invalid )
then
99 cause_c = names_invalid
101 &
'names "%c" from NAMELIST "gtool_historyauto_nml" are invalid.', &
102 & c1 = trim(names_invalid) )
111 call messagenotify(
'M',
sub_sname,
'-------------------------------------------', rank_mpi = msnot_rank )
112 call messagenotify(
'M',
sub_sname,
'----- Registered variables for output -----', rank_mpi = msnot_rank )
113 call messagenotify(
'M',
sub_sname,
'-------------------------------------------', rank_mpi = msnot_rank )
116 call historyvarinfoinquire( &
120 & longname = longname, &
123 var_info_str = trim( longname ) //
' [' // &
124 & trim( units ) //
'] {' // &
125 & trim(
joinchar( dims,
',' ) ) //
'}'
129 & c1 = trim(name), c2 = trim(var_info_str), rank_mpi = msnot_rank )
140 call storeerror(stat, subname, cause_c = cause_c)
141 call endsub(subname,
'stat=%d', i = (/stat/) )
subroutine historyautoallvarfix
Date and time manipulation module.
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
Error storage variables
integer, parameter, public hst_ebadvarname
integer, parameter, public dc_enotinit
-400 or less: DC utilities errors
Handling character types.
character(string) function, public joinchar(carray, expr)
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
Provides kind type parameter values.
integer, parameter, public token
Character length for word, token
integer, parameter, public string
Character length for string
type(gthst_nmlinfo), save, public gthstnml
logical, save, public save_mpi_gather
type(gt_history_varinfo), dimension(1:max_vars), save, public gthst_vars
character(*), parameter, public sub_sname
logical, save, public flag_allvarfixed
logical, save, public initialized
integer, save, public numvars