14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
37 use dc_trace, only: beginsub, endsub
38 use dc_string, only: putline, printf, split, strinclude, stoa, joinchar
39 use dc_present, only: present_and_not_empty, present_and_true
42 implicit none
43 type(GTHST_NMLINFO), intent(in):: gthstnml
44 logical, intent(out):: invalid
45
46
47
48
49
50
51 character(*), intent(out):: names
52
53
54
55 logical, intent(out), optional:: err
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 type(GTHST_NMLINFO_ENTRY), pointer:: hptr =>null()
74 integer:: stat
75 character(STRING):: cause_c
76 character(*), parameter:: subname = 'HstNmlInfoAllVarIniCheck'
77 continue
78 call beginsub( subname )
80 cause_c = ''
81
82 names = ''
83 invalid = .false.
84
85
86
87
88
89 if ( .not. gthstnml % initialized ) then
91 cause_c = 'GTHST_NMLINFO'
92 goto 999
93 end if
94
95
96
97
98
99 hptr => gthstnml % gthstnml_list
100 do while ( associated( hptr % next ) )
101 call listnext( gthstnml_list = hptr )
102
103 if ( .not. historyinitialized( hptr % history ) ) then
104 invalid = .true.
106 names = trim(names) // adjustl( hptr % name )
107 end if
108 end do
109
110
111
112
113
114999 continue
115 call storeerror( stat, subname, err, cause_c )
116 call endsub( subname, fmt = '@invalid=%y @names=%c', &
117 & l = (/ invalid /), c1 = trim(names) )
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_enotinit
integer, parameter, public dc_earglack
integer, parameter, public dc_noerr
integer, parameter, public dc_enoentry
Provides kind type parameter values.
integer, parameter, public token
Character length for word, token
integer, parameter, public string
Character length for string
integer, parameter, public stdout
Unit number for Standard OUTPUT
integer, parameter, public dp
Double Precision Real number
character(1), parameter, public name_delimiter