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
gtvardimname2ord.f90
Go to the documentation of this file.
1
!> @file gtvardimname2ord.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 Query dimension order number from dimension relative name
9
!>
10
!> This function is provided as gtdata_generic#Dimname_to_Dimord
11
!> through gtdata_generic.
12
!> @enden
13
!>
14
!> @ja
15
!> @brief 次元相対名から次元順序番号の問い合わせ
16
!>
17
!> この関数は gtdata_generic から gtdata_generic#Dimname_to_Dimord
18
!> として提供されます。
19
!> @endja
20
!>
21
22
!>
23
!> @en
24
!> @brief Get dimension order from dimension relative name
25
!>
26
!> A variable belongs to multiple dimensions. Dimensions are identified
27
!> by order numbers, but since the order of dimensions in a variable
28
!> can be exchanged, it is sometimes convenient to identify them with
29
!> short names relative to the variable.
30
!> For example, for variable `filename?var`, used with comma notation
31
!> like `filename?var,dim=1` (see "5.4 Comma Notation" in gtool4 netCDF
32
!> Convention). (For netCDF variable `filename?varname`, dimension name
33
!> `dim` would indicate `filename?dim`, but such relationship does not
34
!> always hold.)
35
!>
36
!> The Dimname_to_Dimord procedure gives the dimension order number from
37
!> such relative dimension names. Valid numbers are 1 or greater;
38
!> numbers 0 or less indicate an error.
39
!> @param[in] var Variable handle
40
!> @param[in] name Dimension relative name
41
!> @return Dimension order number (0 or less indicates error)
42
!> @enden
43
!>
44
!> @ja
45
!> @brief 次元相対名から次元順序番号を取得
46
!>
47
!> 変数には複数の次元が所属します。次元は順序番号で識別されますが、
48
!> 変数における次元の順序は入れ替えることもできるため、
49
!> 変数に相対的短い名前で識別することが便利な場合もあります。
50
!> たとえば変数 `filename?var` に対して `filename?var,dim=1` のような
51
!> コンマ記法 (gtool4 netCDF 規約の「5.4 コンマ記法」参照)
52
!> で用いられるものです。(NetCDF 変数 `filename?varname`
53
!> に対する次元名 `dim` は `filename?dim` を指示するでしょうが、
54
!> 必ずしもそのような関係が成り立つとは限りません)
55
!>
56
!> Dimname_to_Dimord 手続はこのような相対次元名から次元順序番号を与えます。
57
!> 正当な番号は1以上であり、0以下の番号はエラーを示します。
58
!> @param[in] var 変数ハンドル
59
!> @param[in] name 次元相対名
60
!> @return 次元順序番号 (0以下はエラーを示す)
61
!> @endja
62
!>
63
integer
function
gtvardimname2ord
(var, name)
result
(result)
64
use
gtdata_types
,
only
:
gt_variable
65
use
dc_string
,
only
:
stoi
66
use
gtdata_netcdf_generic
,
only
:
search_dim
67
use
gtdata_netcdf_types
,
only
:
gd_nc_variable
68
use
gtdata_internal_map
,
only
:
var_class
, vtb_class_netcdf
69
implicit none
70
type
(
gt_variable
),
intent(in)
:: var
71
character(len = *)
,
intent(in)
:: name
72
integer
::
class
, cid
73
result = -1
74
if
(name ==
' '
)
return
75
result =
stoi
(name)
76
if
(result /= 0)
return
77
! 個別層に問い合わせて次元番号を得ようと試みる。
78
call
var_class
(var,
class
, cid)
79
if
(
class
== vtb_class_netcdf)
then
80
result =
search_dim
(
gd_nc_variable
(cid), name)
81
endif
82
! map 表から次元名を使って次元番号を得ようと試みる。
83
end function
gtvardimname2ord
gtvardimname2ord
integer function gtvardimname2ord(var, name)
Definition
gtvardimname2ord.f90:64
dc_string::stoi
Definition
dc_string.f90:111
gtdata_netcdf_generic::search_dim
Definition
gtdata_netcdf_generic.f90:145
dc_string
文字型変数の操作
Definition
dc_string.f90:83
gtdata_internal_map
Definition
gtdata_internal_map.f90:53
gtdata_internal_map::var_class
subroutine, public var_class(var, class, cid)
Definition
gtdata_internal_map.f90:485
gtdata_netcdf_generic
Definition
gtdata_netcdf_generic.f90:72
gtdata_netcdf_types
Definition
gtdata_netcdf_types.f90:46
gtdata_types
Definition
gtdata_types.f90:39
gtdata_netcdf_types::gd_nc_variable
Definition
gtdata_netcdf_types.f90:67
gtdata_types::gt_variable
Definition
gtdata_types.f90:46
Generated on
for gtool5 Fortran 90/95 ライブラリ by
1.15.0