24 use dc_string,
only: printf
25 use dc_trace,
only: beginsub, endsub
30 integer,
intent(in),
optional :: unit
36 character(*),
intent(in),
optional:: indent
43 character(STRING):: indent_str
44 character(*),
parameter :: subname =
'DCDateTimePutLine'
46 call beginsub(subname)
47 if (
present(unit))
then
55 if (
present(indent) )
then
56 if ( len(indent) /= 0 )
then
57 indent_len = len(indent)
58 indent_str(1:indent_len) = indent
62 call printf(out_unit, &
63 & indent_str(1:indent_len) // &
64 &
'#<DC_DATETIME:: @date=%c @caltype=%d @zone=%c', &
65 & i=(/time % caltype/), c1=trim(
tochar(time)), c2=trim(time % zone) )
67 call printf(out_unit, &
68 & indent_str(1:indent_len) // &
71 & indent = indent_str(1:indent_len) // &
74 call printf(out_unit, &
75 & indent_str(1:indent_len) // &
78 & indent = indent_str(1:indent_len) // &
81 call printf(out_unit, &
82 & indent_str(1:indent_len) //
'>' )
100 use dc_string,
only: printf
101 use dc_trace,
only: beginsub, endsub
106 integer,
intent(in),
optional :: unit
112 character(*),
intent(in),
optional:: indent
119 character(STRING):: indent_str
120 character(*),
parameter :: subname =
'DCDiffTimePutLine'
122 call beginsub(subname)
123 if (
present(unit))
then
131 if (
present(indent) )
then
132 if ( len(indent) /= 0 )
then
133 indent_len = len(indent)
134 indent_str(1:indent_len) = indent
138 call printf(out_unit, &
139 & indent_str(1:indent_len) // &
140 &
'#<DC_DIFFTIME:: @diff=%c @nondim=%b', &
141 & c1 = trim(
tochar(diff)), l = (/ diff % nondim_flag /) )
143 call printf(out_unit, &
144 & indent_str(1:indent_len) // &
147 & indent = indent_str(1:indent_len) // &
150 call printf(out_unit, &
151 & indent_str(1:indent_len) // &
154 & indent = indent_str(1:indent_len) // &
157 call printf(out_unit, &
158 & indent_str(1:indent_len) // &
161 & indent = indent_str(1:indent_len) // &
164 call printf(out_unit, &
165 & indent_str(1:indent_len) //
'>' )