gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
hstnmlinfooutputvalid.f90
Go to the documentation of this file.
1!> @file hstnmlinfooutputvalid.f90
2!>
3!> @author Yasuhiro MORIKAWA
4!> @copyright Copyright (C) GFD Dennou Club, 2007-2026. All rights reserved. <br/>
5!> License is BSD-2-Clause. See [COPYRIGHT](@ref COPYRIGHT) in detail
6!>
7!> @en
8!> @brief Checker of output validation
9!> @enden
10!>
11!> @ja
12!> @brief 出力の有効性のチェック
13!> @endja
14
15 !> @en
16 !> @brief Check validity of output for a variable
17 !>
18 !> If output of a variable @p name is valid,
19 !> .true. is returned, otherwise .false. is returned.
20 !> Whether output is valid or not is judged with positive or negative
21 !> of interval_value. Positive is valid, and negative is invalid.
22 !> When @p gthstnml is not initialized, .false. is returned too.
23 !> When data corresponding to @p name is not found, .false. is returned too.
24 !>
25 !> If @p gthstnml is not initialized by HstNmlInfoCreate yet,
26 !> error is occurred.
27 !> @enden
28 !>
29 !> @ja
30 !> @brief 出力の有効性のチェック
31 !>
32 !> 変数 @p name の出力が有効であれば,
33 !> .true. を, そうでなければ .false. を返します.
34 !> 出力が有効であるかどうかは, 出力間隔 interval_value の
35 !> 正負によって判定されます. 正の場合が有効, 負の場合が無効です.
36 !> @p gthstnml が初期設定されていない場合にも .false. が返ります.
37 !> @p name に関するデータが存在しない場合にも .false. が返ります.
38 !>
39 !> なお, 与えられた @p gthstnml が HstNmlInfoCreate によって初期設定
40 !> されていない場合, プログラムはエラーを発生させます.
41 !> @endja
42 !>
43 !> @param[in] gthstnml gtool_history_nmlinfo_types::GTHST_NMLINFO 型変数
44 !> @param[in] name 変数名. 先頭の空白は無視されます.
45 !> Variable identifier. Blanks at the head of the name are ignored.
46 !> @return 出力が有効であれば .true.
47 logical function hstnmlinfooutputvalid( gthstnml, &
48 & name ) result(result)
51 implicit none
52 type(gthst_nmlinfo), intent(in):: gthstnml
53 character(*), intent(in):: name
54 ! 変数名.
55 ! 先頭の空白は無視されます.
56 !
57 ! Variable identifier.
58 ! Blanks at the head of the name are ignored.
59
60 !-----------------------------------
61 ! 作業変数
62 ! Work variables
63 type(gthst_nmlinfo_entry), pointer:: hptr =>null()
64!!$ character(*), parameter:: subname = 'HstNmlInfoOutputValid'
65 continue
66
67 result = .false.
68
69 !-----------------------------------------------------------------
70 ! 初期設定のチェック
71 ! Check initialization
72 !-----------------------------------------------------------------
73 if ( .not. gthstnml % initialized ) goto 999
74
75 !-----------------------------------------------------------------
76 ! 情報格納変数への結合
77 ! Associate a variable storing information
78 !-----------------------------------------------------------------
79 hptr => gthstnml % gthstnml_list
80 call listsearch( gthstnml_list = hptr, & ! (inout)
81 & name = name ) ! (in)
82
83 if ( .not. associated( hptr ) ) goto 999
84
85 !-----------------------------------------------------------------
86 ! 出力の有効性のチェック
87 ! Check validity of output
88 !-----------------------------------------------------------------
89 if ( hptr % interval_value > 0.0 ) then
90 result = .true.
91 goto 999
92 end if
93
94 !-----------------------------------------------------------------
95 ! 終了処理, 例外処理
96 ! Termination and Exception handling
97 !-----------------------------------------------------------------
98999 continue
99 nullify( hptr )
100 end function hstnmlinfooutputvalid
logical function hstnmlinfooutputvalid(gthstnml, name)