53 & name, dims, longname, units, xtype )
64 logical,
intent(out),
optional:: err
65 character(*) ,
intent(in),
optional:: name
66 character(*) ,
intent(in),
optional,
target:: dims(:)
67 character(*) ,
intent(in),
optional:: longname
68 character(*) ,
intent(in),
optional:: units
69 character(*) ,
intent(in),
optional:: xtype
72 character(STRING):: cause_c
73 character(TOKEN),
pointer :: srcdims(:) =>null()
74 character(STRING) :: name_tmp, xtype_tmp
75 character(*),
parameter:: subname =
"HistoryVarinfoCopy1"
81 if ( .not. varinfo_src % initialized )
then
83 cause_c =
'GT_HISTORY_VARINFO'
87 if ( varinfo_dest % initialized )
then
89 cause_c =
'GT_HISTORY_VARINFO'
94 varinfo_dest % name = name_tmp(:len(varinfo_dest % name))
95 varinfo_dest % longname =
present_select(
'', varinfo_src % longname, longname)
96 varinfo_dest % units =
present_select(
'', varinfo_src % units, units)
98 varinfo_dest % xtype = xtype_tmp(:len(varinfo_dest % xtype))
100 if (
present(dims))
then
103 srcdims => varinfo_src % dims
109 allocate( varinfo_dest % dims(
size( srcdims ) ) )
110 do i = 1,
size(srcdims)
111 varinfo_dest % dims(i) = srcdims(i)
114 call dbgmessage(
'varinfo_dest %% dims=<%c>', &
115 & c1=trim(
joinchar(varinfo_dest % dims)))
117 if (
associated( varinfo_src % attrs ) )
then
118 allocate( varinfo_dest % attrs(
size( varinfo_src % attrs) ) )
119 call copy_attrs( from = varinfo_src % attrs, &
120 & to = varinfo_dest % attrs, err = err)
123 varinfo_dest % initialized = .true.
125 call storeerror( stat, subname, err, cause_c )
130 & name, dims, longname, units, xtype )
146 logical,
intent(out),
optional:: err
147 character(*) ,
intent(in),
optional:: name
148 character(*) ,
intent(in),
optional,
target:: dims(:)
149 character(*) ,
intent(in),
optional:: longname
150 character(*) ,
intent(in),
optional:: units
151 character(*) ,
intent(in),
optional:: xtype
153 character(*),
parameter:: subname =
"HistoryVarinfoCopy2"
157 & name, dims, longname, units, xtype )
subroutine historyvarinfocopy1(varinfo_dest, varinfo_src, err, name, dims, longname, units, xtype)
subroutine historyvarinfocopy2(varinfo_dest, varinfo_src, err, name, dims, longname, units, xtype)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
Error storage variables
integer, parameter, public dc_enotinit
-400 or less: DC utilities errors
integer, parameter, public dc_ealreadyinit
Judge optional control parameters.
Handling character types.
character(string) function, public joinchar(carray, expr)
subroutine, public dbgmessage(fmt, i, r, d, l, n, c1, c2, c3, ca)
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
Provides kind type parameter values.
integer, parameter, public token
Character length for word, token
integer, parameter, public string
Character length for string