gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
gtvarsearch.f90
Go to the documentation of this file.
1!> @file gtvarsearch.f90
2!>
3!> @author Yasuhiro MORIKAWA, Eizi TOYODA
4!> @copyright Copyright (C) GFD Dennou Club, 2000-2026. All rights reserved. <br/>
5!> License is BSD-2-Clause. See [COPYRIGHT](@ref COPYRIGHT) in detail
6!>
7!> @en
8!> @brief Variable search
9!>
10!> These subroutines are provided as gtdata_generic#GTVarSearch
11!> through gtdata_generic.
12!> @enden
13!>
14!> @ja
15!> @brief 変数探査
16!>
17!> これらのサブルーチンは gtdata_generic から gtdata_generic#GTVarSearch
18!> として提供されます。
19!> @endja
20!>
21
22!>
23!> @en
24!> @brief Variable search subroutine (get next)
25!>
26!> To get all variables dependent on a filename urlBase,
27!> first call GTVarSearch(urlBase) (see below), then call
28!> GTVarSearch(url, end) in an infinite loop. This returns
29!> variable names one by one in url. When end becomes true,
30!> all variable names have been searched.
31!>
32!> Example:
33!> @code
34!> use gtool5
35!> character(len = STRING) :: filename, varname
36!> logical :: end
37!>
38!> write(*,*) "Enter file name: "
39!> read(*,*) filename
40!>
41!> call GTVarSearch(filename)
42!> do
43!> call GTVarSearch(varname, end)
44!> if (end) exit
45!> write(*, *) trim(varname)
46!> enddo
47!> @endcode
48!> @param[out] url Variable URL
49!> @param[out] end .true. when all variables have been searched
50!> @enden
51!>
52!> @ja
53!> @brief 変数探査サブルーチン (次を取得)
54!>
55!> あるファイル名 urlBase に依存する変数すべてを取得するには、
56!> まず GTVarSearch(urlBase) (下記のサブルーチン) を呼び出し、
57!> その後無限ループの中で GTVarSearch(url, end) を呼び出します。
58!> そうすることで url に1つ1つの変数名が返ります。
59!> end が真になったとき、すべての変数名を探索し終えたことになります。
60!> @param[out] url 変数URL
61!> @param[out] end すべての変数を探索し終えたとき .true.
62!> @endja
63!>
64subroutine gtvarsearchnext(url, end)
67 use dc_trace, only: beginsub, endsub
68 implicit none
69 character(len = *), intent(out):: url
70 logical, intent(out):: end
71continue
72 call beginsub('gtvarsearchnext')
73 call var_search(gdnc_search, & ! (inout)
74 & url=url, end=end) ! (out)
75 call endsub('gtvarsearchnext', 'url=%c end=%y', c1=trim(url), l=(/end/))
76end subroutine gtvarsearchnext
77
78!>
79!> @en
80!> @brief Variable search initialization subroutine
81!>
82!> See GTVarSearchNext above.
83!> @param[in] urlBase Base URL for search
84!> @enden
85!>
86!> @ja
87!> @brief 変数探査初期化サブルーチン
88!>
89!> 上記の GTVarSearchNext を参照してください。
90!> @param[in] urlBase 検索のベースURL
91!> @endja
92!>
93subroutine gtvarsearchinit(urlBase)
96 use dc_trace, only: beginsub, endsub
97 implicit none
98 character(len = *), intent(in):: urlBase
99continue
100 call beginsub('gtvarsearchinit', 'urlbase=<%c>', c1=trim(urlbase))
101 call var_search(gdnc_search, & ! (out)
102 & urlbase = urlbase ) ! (in)
103 call endsub('gtvarsearchinit')
104end subroutine gtvarsearchinit
subroutine gtvarsearchinit(urlbase)
subroutine gtvarsearchnext(url, end)
Search for variables by filename
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
type(gd_nc_variable_search), save, public gdnc_search