35 use dc_date, only:
operator(*),
operator(+)
40 logical:: allvar_invalid
44 integer,
parameter:: names_limit = 100
45 character(names_limit):: names_invalid
49 character(STRING):: name, units, longname, var_info_str
50 character(TOKEN),
pointer:: dims(:) =>null()
53 character(STRING):: cause_c
54 character(*),
parameter:: subname =
"HistoryAutoAllVarFix" 65 cause_c =
'gtool_historyauto' 80 & invalid = allvar_invalid, names = names_invalid )
82 if ( len_trim(names_invalid) > (names_limit - 5) )
then 83 names_invalid = names_invalid(1:names_limit - 5) //
' ....' 86 if ( allvar_invalid )
then 88 cause_c = names_invalid
90 &
'names "%c" from NAMELIST "gtool_historyauto_nml" are invalid.', &
91 & c1 = trim(names_invalid) )
100 call messagenotify(
'M',
sub_sname,
'-------------------------------------------', rank_mpi = msnot_rank )
101 call messagenotify(
'M',
sub_sname,
'----- Registered variables for output -----', rank_mpi = msnot_rank )
102 call messagenotify(
'M',
sub_sname,
'-------------------------------------------', rank_mpi = msnot_rank )
105 call historyvarinfoinquire( &
109 & longname = longname, &
112 var_info_str = trim( longname ) //
' [' // &
113 & trim( units ) //
'] {' // &
114 & trim(
joinchar( dims,
',' ) ) //
'}' 118 & c1 = trim(name), c2 = trim(var_info_str), rank_mpi = msnot_rank )
129 call storeerror(stat, subname, cause_c = cause_c)
130 call endsub(subname,
'stat=%d', i = (/stat/) )
subroutine historyautoallvarfix
logical, save, public initialized
integer, parameter, public dc_enotinit
integer, save, public numvars
logical, save, public flag_allvarfixed
integer, parameter, public token
Character length for word, token.
type(gt_history_varinfo), dimension(1:max_vars), save, public gthst_vars
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
integer, parameter, public hst_ebadvarname
character(string) function, public joinchar(carray, expr)
integer, parameter, public dp
Double Precision Real number.
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
Handling character types.
Provides kind type parameter values.
integer, save, public numdims
logical, save, public save_mpi_gather
type(gthst_nmlinfo), save, public gthstnml
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
character(*), parameter, public sub_sname
integer, parameter, public string
Character length for string.