11 & title, source, institution, &
13 & conventions, gt_version)
36 type(
gt_history),
intent(out),
target:: hist_dest
37 character(*),
intent(in):: file
38 type(
gt_history),
intent(in),
optional,
target:: hist_src
39 character(*),
intent(in),
optional:: title, source, institution
40 real,
intent(in),
optional:: origin, interval
41 character(*),
intent(in),
optional:: conventions, gt_version
45 character(STRING) :: title_src, source_src, institution_src
46 character(STRING) :: conventions_src, gt_version_src
47 character(STRING),
pointer:: dims(:) => null()
48 integer ,
pointer:: dimsizes(:) => null()
49 character(STRING),
pointer:: longnames(:) => null()
50 character(STRING),
pointer:: units(:) => null()
51 character(STRING),
pointer:: xtypes(:) => null()
52 real:: originw, intervalw
55 real(DP),
pointer :: dimvalue(:) => null()
56 character(len = *),
parameter:: subname =
"HistoryCopy1" 58 call beginsub(subname,
'file=<%c>', c1=trim(file))
60 if (
present(hist_src))
then 71 numdims =
size(src % dimvars)
74 & source=source_src, institution=institution_src, &
75 & dims=dims, dimsizes=dimsizes, longnames=longnames, &
76 & units=units, xtypes=xtypes, &
77 & conventions=conventions_src, gt_version=gt_version_src)
79 if (
present(origin) )
then 82 originw = src % origin
86 intervalw = src % interval
88 if (
present(interval) )
then 89 if ( interval /= 0.0 )
then 97 & institution=trim(
present_select(
'', institution_src, institution)), &
98 & dims=dims, dimsizes=dimsizes, longnames=longnames, units=units, &
99 & origin=originw, interval=intervalw, &
101 & history=hist_dest, &
102 & conventions=trim(
present_select(
'', conventions_src, conventions)), &
103 & gt_version=trim(
present_select(
'', gt_version_src, gt_version)) )
110 call copy_attr(hist_dest % dimvars(i), src % dimvars (i), global=.false.)
115 if (dimsizes(i) == 0) cycle
116 call get(src % dimvars(i), dimvalue, err)
122 deallocate(dims, dimsizes, longnames, units, xtypes)
134 & title, source, institution, &
135 & origin, interval, &
136 & conventions, gt_version)
150 type(
gt_history),
intent(out),
target:: hist_dest
151 character(*),
intent(in):: file
152 type(
gt_history),
intent(in),
optional,
target:: hist_src
153 character(*),
intent(in),
optional:: title, source, institution
154 real,
intent(in),
optional:: origin, interval
155 character(*),
intent(in),
optional:: conventions, gt_version
158 character(len = *),
parameter:: subname =
"HistoryCopy2" 160 call beginsub(subname,
'file=<%c>', c1=trim(file))
162 & title, source, institution, &
163 & origin, interval, &
164 & conventions, gt_version)
type(gt_history), target, save, public default
integer, parameter, public token
Character length for word, token.
subroutine historycopy1(hist_dest, file, hist_src, title, source, institution, origin, interval, conventions, gt_version)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
subroutine historycopy2(hist_dest, file, hist_src, title, source, institution, origin, interval, conventions, gt_version)
integer, parameter, public dp
Double Precision Real number.
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)
integer, parameter, public gt_eargsizemismatch
Provides kind type parameter values.
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
integer, parameter, public string
Character length for string.