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 14 of file historyvarinfocreate.f90.

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_ealreadyinit, dc_error::dc_noerr, dc_types::dp, dc_trace::endsub(), dc_error::storeerror(), dc_types::string, and dc_types::token.

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 
90 999 continue
91  call storeerror( stat, subname, err, cause_c )
92  call endsub(subname)
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
Definition: dc_types.f90:109
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
Definition: dc_trace.f90:351
種別型パラメタを提供します。
Definition: dc_types.f90:49
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:446
integer, parameter, public dc_ealreadyinit
Definition: dc_error.f90:558
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
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 101 of file historyvarinfocreate.f90.

References dc_trace::beginsub(), dc_trace::dbgmessage(), and dc_trace::endsub().

101  !
102  ! 使用方法は HistoryVarinfoCreate と同様です.
103  !
104  ! Usage is same as "HistoryVarinfoCreate".
105  !
106  !--
107  ! 総称名 Create として提供するためのサブルーチンです.
108  ! 機能は HistoryVarinfoCreate1 と同じです.
109  !++
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)
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
Definition: dc_trace.f90:351
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:446
Here is the call graph for this function: