Loading...
Searching...
No Matches
Functions/Subroutines
historyvarinfocreate.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine historyvarinfocreate1 (varinfo, name, dims, longname, units, xtype, time_average, average, err)
 
subroutine historyvarinfocreate2 (varinfo, name, dims, longname, units, xtype, time_average, average, err)
 

Function/Subroutine Documentation

◆ historyvarinfocreate1()

subroutine historyvarinfocreate1 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  name,
character(*), dimension(:), intent(in)  dims,
character(*), intent(in)  longname,
character(*), intent(in)  units,
character(*), intent(in), optional  xtype,
logical, intent(in), optional  time_average,
logical, intent(in), optional  average,
logical, intent(out), optional  err 
)

Definition at line 10 of file historyvarinfocreate.f90.

14 !
15 !== GT_HISTORY_VARINFO 型変数作成
16 !
17 ! GT_HISTORY_VARINFO 型変数を作成します。
18 ! このサブルーチンによる設定の後、
19 ! HistoryAddVariable の *varinfo* に与えます。
20 ! さらに属性を付加する場合には HistoryVarinfoAddAttr
21 ! を用いてください。
22 !
23 ! Constructor of GT_HISTORY_VARINFO
24 !
26 use dc_types, only: string, token, dp
27 use dc_trace, only: beginsub, endsub, dbgmessage
28 use dc_message, only: messagenotify
30 implicit none
31 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
32 character(*), intent(in):: name ! 変数名
33 character(*), intent(in):: dims(:) ! 依存する次元
34 character(*), intent(in):: longname ! 変数の記述的名称
35 character(*), intent(in):: units ! 変数の単位
36 character(*), intent(in), optional:: xtype
37 ! 変数の型
38 logical, intent(in), optional:: time_average
39 ! 時間平均
40 logical, intent(in), optional:: average
41 ! 時間平均 (後方互換用)
42 logical, intent(out), optional:: err
43 ! 例外処理用フラグ.
44 ! デフォルトでは, この手続き内でエラーが
45 ! 生じた場合, プログラムは強制終了します.
46 ! 引数 *err* が与えられる場合,
47 ! プログラムは強制終了せず, 代わりに
48 ! *err* に .true. が代入されます.
49 !
50 ! Exception handling flag.
51 ! By default, when error occur in
52 ! this procedure, the program aborts.
53 ! If this *err* argument is given,
54 ! .true. is substituted to *err* and
55 ! the program does not abort.
56
57 ! Internal Work
58 integer:: i, numdims, stat
59 character(STRING):: cause_c
60 character(*), parameter:: subname = "HistoryVarinfoCreate1"
61 continue
62 call beginsub(subname)
63 stat = dc_noerr
64 cause_c = ''
65
66 if ( varinfo % initialized ) then
67 stat = dc_ealreadyinit
68 cause_c = 'GT_HISTORY_VARINFO'
69 goto 999
70 end if
71
72 varinfo % name = name
73 varinfo % longname = longname
74 varinfo % units = units
75 if ( present(xtype) ) varinfo % xtype = xtype
76 if ( present(time_average) ) varinfo % time_average = time_average
77 if ( present(average) ) varinfo % time_average = average
78 numdims = size(dims)
79 allocate(varinfo % dims(numdims))
80 do i = 1, numdims
81 varinfo % dims(i) = dims(i)
82 if (len(trim(dims(i))) > token) then
83 call messagenotify('W', subname, &
84 & 'dimension name <%c> is trancated to <%c>', &
85 & c1=trim(dims(i)), c2=trim(varinfo % dims(i)))
86 end if
87 end do
88 varinfo % initialized = .true.
89
90999 continue
91 call storeerror( stat, subname, err, cause_c )
92 call endsub(subname)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:830
integer, parameter, public dc_ealreadyinit
Definition dc_error.f90:558
integer, parameter, public dc_noerr
Definition dc_error.f90:509
種別型パラメタを提供します。
Definition dc_types.f90:49
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
Definition dc_types.f90:109
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:83
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition dc_types.f90:118

References dc_error::dc_ealreadyinit, dc_error::dc_noerr, dc_types::dp, dc_error::storeerror(), dc_types::string, and dc_types::token.

Here is the call graph for this function:

◆ historyvarinfocreate2()

subroutine historyvarinfocreate2 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  name,
character(*), dimension(:), intent(in)  dims,
character(*), intent(in)  longname,
character(*), intent(in)  units,
character(*), intent(in), optional  xtype,
logical, intent(in), optional  time_average,
logical, intent(in), optional  average,
logical, intent(out), optional  err 
)

Definition at line 97 of file historyvarinfocreate.f90.

101 !
102 ! 使用方法は HistoryVarinfoCreate と同様です.
103 !
104 ! Usage is same as "HistoryVarinfoCreate".
105 !
106 !--
107 ! 総称名 Create として提供するためのサブルーチンです.
108 ! 機能は HistoryVarinfoCreate1 と同じです.
109 !++
111 use gtool_history_generic, only: historyvarinfocreate
112 use dc_trace, only: beginsub, endsub, dbgmessage
113 implicit none
114 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
115 character(*), intent(in):: name ! 変数名
116 character(*), intent(in):: dims(:) ! 依存する次元
117 character(*), intent(in):: longname ! 変数の記述的名称
118 character(*), intent(in):: units ! 変数の単位
119 character(*), intent(in), optional:: xtype
120 ! 変数の型
121 logical, intent(in), optional:: time_average
122 ! 時間平均
123 logical, intent(in), optional:: average
124 ! 時間平均 (後方互換用)
125 logical, intent(out), optional:: err
126 ! 例外処理用フラグ.
127 ! デフォルトでは, この手続き内でエラーが
128 ! 生じた場合, プログラムは強制終了します.
129 ! 引数 *err* が与えられる場合,
130 ! プログラムは強制終了せず, 代わりに
131 ! *err* に .true. が代入されます.
132 !
133 ! Exception handling flag.
134 ! By default, when error occur in
135 ! this procedure, the program aborts.
136 ! If this *err* argument is given,
137 ! .true. is substituted to *err* and
138 ! the program does not abort.
139
140 ! Internal Work
141 character(*), parameter:: subname = "HistoryVarinfoCreate2"
142 continue
143 call beginsub(subname)
144 call historyvarinfocreate( varinfo, & ! (out)
145 & name, dims, longname, units, xtype, & ! (in)
146 & time_average, average, err & ! (in) optional
147 & )
148 call endsub(subname)