gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
historyvarinfocreate.f90 File Reference

Constructor of GT_HISTORY_VARINFO . More...

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)

Detailed Description

Constructor of GT_HISTORY_VARINFO

.

Author
Yasuhiro MORIKAWA

Definition in file historyvarinfocreate.f90.

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 )

Create a GT_HISTORY_VARINFO variable

Creates a GT_HISTORY_VARINFO variable. After setting with this subroutine, pass it to the varinfo argument of HistoryAddVariable. To add attributes, use HistoryVarinfoAddAttr.

Parameters
[in,out]varinfoVariable information
[in]nameVariable name
[in]dimsDependent dimensions
[in]longnameDescriptive name
[in]unitsUnits
[in]xtypeVariable type (optional)
[in]time_averageTime average flag (optional)
[in]averageTime average flag (optional, backward compatibility)
[out]errError flag (optional)

Definition at line 53 of file historyvarinfocreate.f90.

57 !
59 use dc_types, only: string, token
60 use dc_trace, only: beginsub, endsub
61 use dc_message, only: messagenotify
63 implicit none
64 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
65 character(*), intent(in):: name ! 変数名
66 character(*), intent(in):: dims(:) ! 依存する次元
67 character(*), intent(in):: longname ! 変数の記述的名称
68 character(*), intent(in):: units ! 変数の単位
69 character(*), intent(in), optional:: xtype
70 ! 変数の型
71 logical, intent(in), optional:: time_average
72 ! 時間平均
73 logical, intent(in), optional:: average
74 ! 時間平均 (後方互換用)
75 logical, intent(out), optional:: err
76 ! 例外処理用フラグ.
77 ! デフォルトでは, この手続き内でエラーが
78 ! 生じた場合, プログラムは強制終了します.
79 ! 引数 *err* が与えられる場合,
80 ! プログラムは強制終了せず, 代わりに
81 ! *err* に .true. が代入されます.
82 !
83 ! Exception handling flag.
84 ! By default, when error occur in
85 ! this procedure, the program aborts.
86 ! If this *err* argument is given,
87 ! .true. is substituted to *err* and
88 ! the program does not abort.
89
90 ! Internal Work
91 integer:: i, numdims, stat
92 character(STRING):: cause_c
93 character(*), parameter:: subname = "HistoryVarinfoCreate1"
94 continue
95 call beginsub(subname)
96 stat = dc_noerr
97 cause_c = ''
98
99 if ( varinfo % initialized ) then
100 stat = dc_ealreadyinit
101 cause_c = 'GT_HISTORY_VARINFO'
102 goto 999
103 end if
104
105 varinfo % name = name
106 varinfo % longname = longname
107 varinfo % units = units
108 if ( present(xtype) ) varinfo % xtype = xtype
109 if ( present(time_average) ) varinfo % time_average = time_average
110 if ( present(average) ) varinfo % time_average = average
111 numdims = size(dims)
112 allocate(varinfo % dims(numdims))
113 do i = 1, numdims
114 varinfo % dims(i) = dims(i)
115 if (len(trim(dims(i))) > token) then
116 call messagenotify('W', subname, &
117 & 'dimension name <%c> is trancated to <%c>', &
118 & c1=trim(dims(i)), c2=trim(varinfo % dims(i)))
119 end if
120 end do
121 varinfo % initialized = .true.
122
123999 continue
124 call storeerror( stat, subname, err, cause_c )
125 call endsub(subname)
Error handling module.
Definition dc_error.f90:454
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:891
integer, parameter, public dc_ealreadyinit
Definition dc_error.f90:535
integer, parameter, public dc_noerr
Error storage variables
Definition dc_error.f90:468
Message output module.
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:457
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
Definition dc_trace.f90:580
Provides kind type parameter values.
Definition dc_types.f90:55
integer, parameter, public token
Character length for word, token
Definition dc_types.f90:128
integer, parameter, public string
Character length for string
Definition dc_types.f90:137

References dc_trace::beginsub(), dc_error::dc_ealreadyinit, dc_error::dc_noerr, dc_trace::endsub(), 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 )

Create a GT_HISTORY_VARINFO variable (generic interface)

Usage is same as HistoryVarinfoCreate.

Definition at line 140 of file historyvarinfocreate.f90.

146 use dc_trace, only: beginsub, endsub
147 implicit none
148 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
149 character(*), intent(in):: name ! 変数名
150 character(*), intent(in):: dims(:) ! 依存する次元
151 character(*), intent(in):: longname ! 変数の記述的名称
152 character(*), intent(in):: units ! 変数の単位
153 character(*), intent(in), optional:: xtype
154 ! 変数の型
155 logical, intent(in), optional:: time_average
156 ! 時間平均
157 logical, intent(in), optional:: average
158 ! 時間平均 (後方互換用)
159 logical, intent(out), optional:: err
160 ! 例外処理用フラグ.
161 ! デフォルトでは, この手続き内でエラーが
162 ! 生じた場合, プログラムは強制終了します.
163 ! 引数 *err* が与えられる場合,
164 ! プログラムは強制終了せず, 代わりに
165 ! *err* に .true. が代入されます.
166 !
167 ! Exception handling flag.
168 ! By default, when error occur in
169 ! this procedure, the program aborts.
170 ! If this *err* argument is given,
171 ! .true. is substituted to *err* and
172 ! the program does not abort.
173
174 ! Internal Work
175 character(*), parameter:: subname = "HistoryVarinfoCreate2"
176 continue
177 call beginsub(subname)
178 call historyvarinfocreate( varinfo, & ! (out)
179 & name, dims, longname, units, xtype, & ! (in)
180 & time_average, average, err & ! (in) optional
181 & )
182 call endsub(subname)

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

Here is the call graph for this function: