gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
Functions/Subroutines
hstnmlinfoassocgthist.f90 File Reference

Associate a gtool_history_types::GT_HISTORY variable . More...

Go to the source code of this file.

Functions/Subroutines

subroutine hstnmlinfoassocgthist (gthstnml, name, history, err)
 

Detailed Description

Associate a gtool_history_types::GT_HISTORY variable

.

Author
Yasuhiro MORIKAWA

Definition in file hstnmlinfoassocgthist.f90.

Function/Subroutine Documentation

◆ hstnmlinfoassocgthist()

subroutine hstnmlinfoassocgthist ( type(gthst_nmlinfo), intent(in)  gthstnml,
character(*), intent(in)  name,
type(gt_history), pointer  history,
logical, intent(out), optional  err 
)

Associate a gtool_history_types::GT_HISTORY variable

This subroutine associates given gtool_history_types::GT_HISTORY pointer history to gtool_history_types::GT_HISTORY corresponding to name in gthstnml. Give null history.

Use after state is changed from define mode to output mode by HstNmlInfoEndDefine. If this subroutine is used before HstNmlInfoEndDefine is used, error is occurred.

When data corresponding to name is not found, error is occurred. When name is blank, error is occurred too.

If gthstnml is not initialized by HstNmlInfoCreate yet, error is occurred.

Parameters
[in]gthstnmlgtool_history_nmlinfo_types::GTHST_NMLINFO 型変数
[in]name変数名. 先頭の空白は無視されます. Variable identifier. Blanks at the head of the name are ignored.
[out]historygtool_history_types::GT_HISTORY 型ポインタ. Pointer of gtool_history_types::GT_HISTORY.
[out]err例外処理用フラグ. Exception handling flag.

Definition at line 65 of file hstnmlinfoassocgthist.f90.

69 use gtool_history, only: gt_history
70 use dc_trace, only: beginsub, endsub
71 use dc_types, only: string
73 implicit none
74 type(GTHST_NMLINFO), intent(in):: gthstnml
75 character(*), intent(in):: name
76 ! 変数名.
77 ! 先頭の空白は無視されます.
78 !
79 ! Variable identifier.
80 ! Blanks at the head of the name are ignored.
81 type(GT_HISTORY), pointer:: history
82 ! (out)
83 !
84 ! gtool_history モジュール用構造体.
85 ! Derived type for "gtool_history" module
86 logical, intent(out), optional:: err
87 ! 例外処理用フラグ.
88 ! デフォルトでは, この手続き内でエラーが
89 ! 生じた場合, プログラムは強制終了します.
90 ! 引数 *err* が与えられる場合,
91 ! プログラムは強制終了せず, 代わりに
92 ! *err* に .true. が代入されます.
93 !
94 ! Exception handling flag.
95 ! By default, when error occur in
96 ! this procedure, the program aborts.
97 ! If this *err* argument is given,
98 ! .true. is substituted to *err* and
99 ! the program does not abort.
100
101 !-----------------------------------
102 ! 作業変数
103 ! Work variables
104 type(GTHST_NMLINFO_ENTRY), pointer:: hptr =>null()
105 integer:: stat
106 character(STRING):: cause_c
107 character(*), parameter:: subname = 'HstNmlInfoAssocGtHist'
108 continue
109 call beginsub( subname )
110 stat = dc_noerr
111 cause_c = ''
112
113 !-----------------------------------------------------------------
114 ! 初期設定のチェック
115 ! Check initialization
116 !-----------------------------------------------------------------
117 if ( .not. gthstnml % initialized ) then
118 stat = dc_enotinit
119 cause_c = 'GTHST_NMLINFO'
120 goto 999
121 end if
122
123 if ( trim( name ) == '' ) then
124 stat = hst_ebadname
125 cause_c = ''
126 goto 999
127 end if
128
129 if ( gthstnml % define_mode ) then
130 stat = hst_eindefine
131 cause_c = 'AssocGtHist'
132 goto 999
133 end if
134
135 !-----------------------------------------------------------------
136 ! *gthstnml* 内から, *name* に関する history を探査.
137 ! Search "history" correspond to *name* in *gthstnml*
138 !-----------------------------------------------------------------
139 hptr => gthstnml % gthstnml_list
140 call listsearch( gthstnml_list = hptr, & ! (inout)
141 & name = name ) ! (in)
142
143 if ( .not. associated( hptr ) ) then
144 stat = dc_enoentry
145 cause_c = adjustl( name )
146 goto 999
147 end if
148
149 nullify( history )
150 history => hptr % history
151
152 nullify( hptr )
153
154 !-----------------------------------------------------------------
155 ! 終了処理, 例外処理
156 ! Termination and Exception handling
157 !-----------------------------------------------------------------
158999 continue
159 call storeerror( stat, subname, err, cause_c )
160 call endsub( subname )
Error handling module.
Definition dc_error.f90:454
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:891
integer, parameter, public dc_noerr
Error storage variables
Definition dc_error.f90:468
integer, parameter, public dc_enotinit
-400 or less: DC utilities errors
Definition dc_error.f90:534
integer, parameter, public hst_eindefine
Definition dc_error.f90:558
integer, parameter, public hst_ebadname
Definition dc_error.f90:560
integer, parameter, public dc_enoentry
Definition dc_error.f90:548
Debug tracing module.
Definition dc_trace.f90:150
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
Definition dc_trace.f90:476
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
Definition dc_trace.f90:599
Provides kind type parameter values.
Definition dc_types.f90:55
integer, parameter, public string
Character length for string
Definition dc_types.f90:137

References dc_trace::beginsub(), dc_error::dc_enoentry, dc_error::dc_enotinit, dc_error::dc_noerr, dc_trace::endsub(), dc_error::hst_ebadname, dc_error::hst_eindefine, dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function: