gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
gtvargetattrsc.f90
Go to the documentation of this file.
1!> @file gtvargetattrsc.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 Character type attribute input
9!>
10!> This subroutine is provided through gtdata_generic.
11!> @enden
12!>
13!> @ja
14!> @brief 文字型属性の入力
15!>
16!> このサブルーチンは gtdata_generic から提供されます。
17!> @endja
18!>
19
20!>
21!> @en
22!> @brief Get character attribute value
23!>
24!> When receiving as character type, truncates or pads with blanks
25!> to match the receiving variable's length, same as normal character
26!> assignment. Uses default value if attribute does not exist.
27!> @param[in] var Variable handle
28!> @param[in] name Attribute name
29!> @param[out] value Retrieved attribute value
30!> @param[in] default Default value (optional)
31!> @enden
32!>
33!> @ja
34!> @brief 文字属性値を取得
35!>
36!> character 型で受け取る場合は通常の文字型代入と同様、
37!> 受け側変数の長さに合わせて切り捨て・空白埋めを行う。
38!> 属性が存在しない場合 default 値を使う。
39!> @param[in] var 変数ハンドル
40!> @param[in] name 属性名
41!> @param[out] value 取得した属性値
42!> @param[in] default デフォルト値 (省略可能)
43!> @endja
44!>
45subroutine gtvargetattrcc(var, name, value, default)
46
47 use gtdata_types, only: gt_variable
48 use gtdata_internal_map, only: var_class, vtb_class_netcdf
51 use dc_trace, only: beginsub, endsub
52 use dc_types, only: string
53 implicit none
54 type(gt_variable), intent(in):: var
55 character(len = *), intent(in):: name
56 character(len = *), intent(out):: value
57 character(len = *), intent(in), optional:: default
58 integer:: class, cid, stat
59 character(len = string):: p_default
60 character(len = *), parameter:: subnam = "gtvargetattrcc"
61continue
62 call beginsub(subnam)
63 call var_class(var, class, cid)
64 p_default = ""
65 if (present(default)) p_default = default
66 if (class == vtb_class_netcdf) then
67 call get_attr(gd_nc_variable(cid), name, value, p_default, stat)
68 endif
69 call endsub(subnam, "%d:%d:%c = %c", i=(/class, cid/), &
70 & c1=trim(name), c2=trim(value))
71end subroutine gtvargetattrcc
subroutine gtvargetattrcc(var, name, value, default)
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
subroutine, public var_class(var, class, cid)