gtool5 Fortran 90/95 ライブラリ
1.0.0-rc5
English
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
Loading...
Searching...
No Matches
gtdata
gtvartmpnam.f90
Go to the documentation of this file.
1
!> @file gtvartmpnam.f90
2
!>
3
!> @author Eizi TOYODA, Yasuhiro MORIKAWA
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 Auto-create variable name
9
!>
10
!> This subroutine is provided as gtdata_generic#GTDataTmpNam
11
!> through gtdata_generic.
12
!> @enden
13
!>
14
!> @ja
15
!> @brief 変数名の自動作成
16
!>
17
!> このサブルーチンは gtdata_generic から gtdata_generic#GTDataTmpNam
18
!> として提供されます。
19
!> @endja
20
!>
21
22
!>
23
!> @en
24
!> @brief Create unique variable name
25
!>
26
!> Creates file@base from filename file and variable name base,
27
!> returns in result.
28
!> If file is empty, gtool.nc is used as the filename.
29
!> If base is empty, tmp is used as the variable name.
30
!> @param[in] file Filename
31
!> @param[in] base Base variable name
32
!> @param[out] result Generated unique variable URL
33
!> @enden
34
!>
35
!> @ja
36
!> @brief 一意な変数名を作成
37
!>
38
!> ファイル名 file と変数名 base から file@base を作成して result に返す。
39
!> file が空文字の場合は gtool.nc がファイル名として代用され、
40
!> base が空文字の場合は tmp が変数名として代用される。
41
!> @param[in] file ファイル名
42
!> @param[in] base ベース変数名
43
!> @param[out] result 生成された一意な変数URL
44
!> @endja
45
!>
46
subroutine
gtvartmpnam
(file, base, result)
47
use
dc_types
,
only
:
string
48
use
dc_url
,
only
:
urlmerge
49
use
gtdata_generic
,
only
:
open
,
close
50
use
gtdata_types
,
only
:
gt_variable
51
implicit none
52
character(len = *)
,
intent(in)
:: file
53
character(len = *)
,
intent(in)
:: base
54
character(len = *)
,
intent(out)
:: result
55
type
(
gt_variable
):: var
56
integer
:: n
57
logical
:: failed
58
character(len = STRING)
:: fnam, vnam, vnambase
59
continue
60
if
(file ==
""
)
then
61
fnam =
"gtool.nc"
62
else
63
fnam = file
64
endif
65
if
(base ==
""
)
then
66
vnambase =
"tmp"
67
else
68
vnambase = base
69
endif
70
n = 0
71
do
72
n = n + 1
73
! compatibility note (2001-12-02, TOYODA Eizi)
74
! dc_string の toChar を使いたいのだが FQS Fortran が失敗する
75
write
(unit=vnam, fmt=
"(i32)"
) n
76
vnam = trim(vnambase) // trim(adjustl(vnam))
77
result =
urlmerge
(file=fnam, var=vnam)
78
call
open
(var, result, writable=.false., err=failed)
79
if
(failed)
return
80
call
close
(var)
81
enddo
82
end subroutine
gtvartmpnam
gtvartmpnam
subroutine gtvartmpnam(file, base, result)
Definition
gtvartmpnam.f90:47
dc_url::urlmerge
Definition
dc_url.f90:69
gtdata_generic::close
Definition
gtdata_generic.f90:248
gtdata_generic::open
Definition
gtdata_generic.f90:195
dc_types
種別型パラメタを提供します。
Definition
dc_types.f90:55
dc_types::string
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition
dc_types.f90:137
dc_url
変数 URL の文字列解析
Definition
dc_url.f90:61
gtdata_generic
Definition
gtdata_generic.f90:187
gtdata_types
Definition
gtdata_types.f90:39
gtdata_types::gt_variable
Definition
gtdata_types.f90:46
Generated on
for gtool5 Fortran 90/95 ライブラリ by
1.15.0