38 use dc_message,
only: messagenotify
39 use dc_trace,
only: beginsub, endsub
47 real(
dp),
intent(in):: in_time
51 character(*),
intent(in):: in_unit
55 character(*),
intent(in):: out_unit
59 type(
dc_cal),
intent(in),
optional,
target:: cal
68 type(
dc_cal),
pointer:: calp =>null()
70 integer:: in_unit_sym, out_unit_sym
73 character(*),
parameter:: subname =
'DCCalConvertByUnit1'
84 if (
present( cal ) )
then
94 if ( .not. calp % initialized )
then
95 call messagenotify(
'W', subname,
'"cal" is not initialized. <-1> is returned.' )
162 use dc_message,
only: messagenotify
163 use dc_trace,
only: beginsub, endsub
170 real(
dp),
intent(in):: in_time
174 integer,
intent(in):: in_unit
178 integer,
intent(in):: out_unit
182 type(
dc_cal),
intent(in),
optional,
target:: cal
191 type(
dc_cal),
pointer:: calp =>null()
195 character(*),
parameter:: subname =
'DCCalConvertByUnit2'
206 if (
present( cal ) )
then
216 if ( .not. calp % initialized )
then
217 call messagenotify(
'W', subname,
'"cal" is not initialized. <-1> is returned.' )
228 in_timew = in_time * calp % hour_in_day &
229 & * calp % min_in_hour &
230 & * calp % sec_in_min
232 in_timew = in_time * calp % min_in_hour &
233 & * calp % sec_in_min
235 in_timew = in_time * calp % sec_in_min
240 call messagenotify(
'W', subname,
'in_unit=<%d> is invalid. (ONLY day,hour,min,sec are valid).' // &
241 &
' <-1> is returned.', &
242 & i = (/ in_unit /) )
247 select case(out_unit)
249 out_time = in_timew / calp % hour_in_day &
250 & / calp % min_in_hour &
251 & / calp % sec_in_min
253 out_time = in_timew / calp % min_in_hour &
254 & / calp % sec_in_min
256 out_time = in_timew / calp % sec_in_min
261 call messagenotify(
'W', subname,
'out_unit=<%d> is invalid. (ONLY day,hour,min,sec are valid).' // &
262 &
' <-1> is returned.', &
263 & i = (/ out_unit /) )
real(dp) function dccalconvertbyunit1(in_time, in_unit, out_unit, cal)
real(dp) function dccalconvertbyunit2(in_time, in_unit, out_unit, cal)
type(dc_cal), target, save, public default_cal
character(token) function, public dccaltype_str(cal_type)
subroutine, public default_cal_set
integer function, public dccaldate_str2usym(str)
integer, parameter, public unit_symbol_sec
integer, parameter, public unit_symbol_month
integer, parameter, public unit_symbol_year
integer, parameter, public unit_symbol_hour
integer, parameter, public unit_symbol_day
integer, parameter, public unit_symbol_min
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_ebadunit
integer, parameter, public dc_enotinit
integer, parameter, public dc_noerr
Provides kind type parameter values.
integer, parameter, public token
Character length for word, token
integer, parameter, public dp
Double Precision Real number
integer, parameter, public string
Character length for string