26 use dc_string,
only: tochar, printf, putline
27 use gtdata_generic,
only: get, inquire
28 use dc_trace,
only: beginsub, endsub, dbgmessage
31 integer,
intent(in),
optional:: unit
37 character(*),
intent(in),
optional:: indent
41 logical,
intent(out),
optional:: err
59 real,
allocatable:: rvalue(:)
65 character(STRING):: indent_str
66 character(*),
parameter:: subname =
'GTVarPutLine'
68 call beginsub(subname,
'%d', i=(/var % mapid/))
74 if (
present(unit) )
then
82 if (
present(indent) )
then
83 if ( len(indent) /= 0 )
then
84 indent_len = len(indent)
85 indent_str(1:indent_len) = indent
93 if ( var % mapid < 0 )
then
94 call printf( out_unit, &
95 & indent_str(1:indent_len) // &
96 &
'#<GT_VARIABLE:: @initialized=%y>', &
105 call inquire(var, size=siz)
106 call dbgmessage(
'size = %d', i=(/siz/))
108 allocate(rvalue(siz), stat=stat)
113 call get(var, rvalue,
size(rvalue), err=myerr)
117 call printf( out_unit, &
118 & indent_str(1:indent_len) // &
119 &
'#<GT_VARIABLE:: @initialized=%y>', &
125 call printf( out_unit, &
126 & indent_str(1:indent_len) // &
127 &
'#<GT_VARIABLE:: @initialized=%y', &
130 call putline( rvalue, unit = out_unit, &
131 & lbounds = lbound(rvalue), &
132 & ubounds = ubound(rvalue), &
133 & indent = indent_str(1:indent_len) // &
140 call printf( out_unit, &
141 & indent_str(1:indent_len) // &
144 deallocate(rvalue, stat=stat)
149 call endsub(subname,
'%d stat=%d', i=(/var % mapid, stat/))