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
integer, parameter, public stdout
標準出力の装置番号
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
integer, parameter, public dp
倍精度実数型変数
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
character(1), parameter, public name_delimiter