11 & name, dims, longname, units, xtype )
27 use gtool_history_types, only: gt_history, gt_history_axis, gt_history_varinfo, gt_history_attr
28 use gtool_history_internal
, only: default, copy_attrs
29 use dc_trace
, only: beginsub, endsub, dbgmessage
30 use dc_present
,only: present_select
31 use dc_string
, only: joinchar
35 type(gt_history_varinfo),
intent(out):: varinfo_dest
36 type(gt_history_varinfo),
intent(in):: varinfo_src
37 logical,
intent(out),
optional:: err
38 character(*) ,
intent(in),
optional:: name
39 character(*) ,
intent(in),
optional,
target:: dims(:)
40 character(*) ,
intent(in),
optional:: longname
41 character(*) ,
intent(in),
optional:: units
42 character(*) ,
intent(in),
optional:: xtype
45 character(STRING):: cause_c
46 character(TOKEN),
pointer :: srcdims(:) =>null()
47 character(*),
parameter:: subname =
"HistoryVarinfoCopy1" 49 call beginsub(subname)
53 if ( .not. varinfo_src % initialized )
then 55 cause_c =
'GT_HISTORY_VARINFO' 59 if ( varinfo_dest % initialized )
then 61 cause_c =
'GT_HISTORY_VARINFO' 65 varinfo_dest % name = present_select(
'', varinfo_src % name, name)
66 varinfo_dest % longname = present_select(
'', varinfo_src % longname, longname)
67 varinfo_dest % units = present_select(
'', varinfo_src % units, units)
68 varinfo_dest % xtype = present_select(
'', varinfo_src % xtype, xtype)
70 if (
present(dims))
then 73 srcdims => varinfo_src % dims
76 call dbgmessage(
'srcdims=<%c>', &
77 & c1=trim(joinchar(srcdims)))
79 allocate( varinfo_dest % dims(
size( srcdims ) ) )
80 do i = 1,
size(srcdims)
81 varinfo_dest % dims(i) = srcdims(i)
84 call dbgmessage(
'varinfo_dest %% dims=<%c>', &
85 & c1=trim(joinchar(varinfo_dest % dims)))
87 if (
associated( varinfo_src % attrs ) )
then 88 allocate( varinfo_dest % attrs(
size( varinfo_src % attrs) ) )
89 call copy_attrs( from = varinfo_src % attrs, &
90 & to = varinfo_dest % attrs, err = err)
93 varinfo_dest % initialized = .true.
100 & name, dims, longname, units, xtype )
110 use gtool_history_types, only: gt_history, gt_history_axis, gt_history_varinfo, gt_history_attr
111 use gtool_history_generic
, only: historyvarinfocopy
112 use dc_trace
, only: beginsub, endsub, dbgmessage
114 type(gt_history_varinfo),
intent(out):: varinfo_dest
115 type(gt_history_varinfo),
intent(in):: varinfo_src
116 logical,
intent(out),
optional:: err
117 character(*) ,
intent(in),
optional:: name
118 character(*) ,
intent(in),
optional,
target:: dims(:)
119 character(*) ,
intent(in),
optional:: longname
120 character(*) ,
intent(in),
optional:: units
121 character(*) ,
intent(in),
optional:: xtype
123 character(*),
parameter:: subname =
"HistoryVarinfoCopy2" 125 call beginsub(subname)
126 call historyvarinfocopy(varinfo_dest, varinfo_src, err, &
127 & name, dims, longname, units, xtype )
integer, parameter, public dc_enotinit
integer, parameter, public token
Character length for word, token.
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
subroutine historyvarinfocopy2(varinfo_dest, varinfo_src, err, name, dims, longname, units, xtype)
Provides kind type parameter values.
subroutine historyvarinfocopy1(varinfo_dest, varinfo_src, err, name, dims, longname, units, xtype)
integer, parameter, public dc_ealreadyinit
integer, parameter, public string
Character length for string.