186 use dc_present,
only: present_and_not_empty
197 public::
assignment(=)
198 public::
mod,
operator(/),
operator(-),
operator(+),
operator(*)
199 public::
operator(<),
operator(>),
operator(>=),
operator(<=)
200 public::
operator(==),
max,
min
211 & year, mon, day, hour, min, sec, &
212 & zone, zone_hour, zone_min, caltype, caltype_str, day_seconds, &
213 & sclyear, sclmon, sclday, sclsec, err)
218 integer,
intent(in),
optional:: year, mon, day, hour, min
219 real(DP),
intent(in),
optional:: sec, day_seconds
220 character(*),
intent(in),
optional :: zone
221 integer,
intent(in),
optional :: zone_hour
222 integer,
intent(in),
optional :: zone_min
223 integer,
intent(in),
optional:: caltype
224 character(*),
intent(in),
optional:: caltype_str
225 type(
dc_scaled_sec),
intent(in),
optional:: sclyear, sclmon, sclday, sclsec
226 logical,
intent(out),
optional:: err
232 & year, mon, day, hour, min, sec, day_seconds, nondim, &
233 & sclyear, sclmon, sclday, sclsec )
238 integer,
intent(in),
optional:: year, mon, day, hour, min
239 real(DP),
intent(in),
optional:: sec, day_seconds, nondim
240 type(
dc_scaled_sec),
intent(in),
optional:: sclyear, sclmon, sclday, sclsec
247 real(DP),
intent(in) :: value
248 character(*),
intent(in) :: unit
249 integer,
intent(in),
optional :: unit_symbol
250 logical,
intent(out),
optional :: err
256 real,
intent(in) :: value
257 character(*),
intent(in) :: unit
258 integer,
intent(in),
optional :: unit_symbol
259 logical,
intent(out),
optional :: err
265 integer,
intent(in) :: value
266 character(*),
intent(in) :: unit
267 integer,
intent(in),
optional :: unit_symbol
268 logical,
intent(out),
optional :: err
277 integer,
intent(in),
optional :: unit
278 character(*),
intent(in),
optional:: indent
286 integer,
intent(in),
optional :: unit
287 character(*),
intent(in),
optional:: indent
291 interface assignment(=)
296 integer,
intent(in):: sec
302 real,
intent(in):: sec
309 real(DP),
intent(in):: sec
315 integer,
intent(in):: sec
321 real,
intent(in):: sec
328 real(DP),
intent(in):: sec
347 integer,
intent(in):: caltype
354 real(DP),
intent(in):: sec
360 integer,
intent(in):: caltype
367 character(*),
intent(in):: zone
376 character(*),
intent(in):: zone
382 character(*),
intent(in):: str
391 character(*),
intent(in):: zone
392 logical,
intent(out),
optional:: err
400 & sec, caltype, zone, sclyear, sclmon, sclday, sclsec)
405 integer,
intent(out),
optional:: year, mon, day, hour, min, caltype
406 real(DP),
intent(out),
optional:: sec
407 character(*),
intent(out),
optional:: zone
408 type(
dc_scaled_sec),
intent(out),
optional:: sclyear, sclmon, sclday, sclsec
420 & year, mon, day, hour, min, sec, nondim, &
421 & sclyear, sclmon, sclday, sclsec, sclnondim, err)
426 integer,
intent(out),
optional:: year, mon, day, hour, min
427 real(DP),
intent(out),
optional:: sec, nondim
428 type(
dc_scaled_sec),
intent(out),
optional:: sclyear, sclmon, sclday, sclsec, sclnondim
429 logical,
intent(out),
optional :: err
530 character(*),
intent(in),
optional:: unit
531 integer,
intent(in),
optional:: unit_symbol
539 character(*),
intent(in),
optional:: unit
540 integer,
intent(in),
optional:: unit_symbol
550 character(STRING) :: result
557 character(STRING) :: result
566 character(TOKEN) :: result
568 logical,
intent(in),
optional:: upcase
572 interface operator(+)
594 real(
dp),
intent(in):: sec
600 real,
intent(in):: sec
606 integer,
intent(in):: sec
610 interface operator(-)
631 real(
dp),
intent(in):: sec
637 real,
intent(in):: sec
643 integer,
intent(in):: sec
647 interface operator(*)
650 integer,
intent(in):: factor
657 integer,
intent(in):: factor
662 real,
intent(in):: factor
669 real,
intent(in):: factor
675 real(
dp),
intent(in):: factor
683 real(
dp),
intent(in):: factor
688 interface operator(/)
692 integer,
intent(in):: denominator
698 real,
intent(in):: denominator
705 real(
dp),
intent(in):: denominator
722 interface operator(==)
736 integer,
intent(in):: i
742 integer,
intent(in):: i
761 real(
dp),
intent(in):: d
768 real(
dp),
intent(in):: d
774 interface operator(>)
788 integer,
intent(in):: factor
793 integer,
intent(in):: factor
798 interface operator(<)
812 integer,
intent(in):: factor
817 integer,
intent(in):: factor
822 interface operator(>=)
836 integer,
intent(in):: factor
841 integer,
intent(in):: factor
846 interface operator(<=)
860 integer,
intent(in):: factor
865 integer,
intent(in):: factor
899 & year, mon, day, hour, min, sec, &
900 & zone, caltype, day_seconds, err)
905 integer,
intent(in),
optional:: year, mon, day, hour, min
906 real(DP),
intent(in),
optional:: sec, day_seconds
907 character(*),
intent(in),
optional :: zone
908 integer,
intent(in),
optional:: caltype
909 logical,
intent(out),
optional:: err
913 & year, mon, day, hour, min, sec, day_seconds )
918 integer,
intent(in),
optional:: year, mon, day, hour, min
919 real(DP),
intent(in),
optional:: sec, day_seconds
926 real(DP),
intent(in) :: value
927 character(*),
intent(in) :: unit
928 integer,
intent(in),
optional :: unit_symbol
929 logical,
intent(out),
optional :: err
937 integer,
intent(in),
optional :: unit
943 integer,
intent(in),
optional :: unit
type(dc_difftime) function dcdatetime_add_fd(diff, sec)
type(dc_datetime) function dcdatetime_add_tf(time, diff)
type(dc_difftime) function dcdatetime_add_ff(diff1, diff2)
type(dc_datetime) function dcdatetime_add_ft(diff, time)
type(dc_difftime) function dcdatetime_add_fr(diff, sec)
type(dc_difftime) function dcdatetime_add_fi(diff, sec)
subroutine dcdatetimecreater(time, sec)
subroutine dcdatetimecreate1_bc(time, year, mon, day, hour, min, sec, zone, caltype, day_seconds, err)
subroutine dcdifftimecreated(diff, sec)
subroutine dcdifftimecreate2r(diff, value, unit, unit_symbol, err)
subroutine dcdifftimecreatei(diff, sec)
subroutine dcdifftimecreate2d(diff, value, unit, unit_symbol, err)
subroutine dcdifftimecreater(diff, sec)
subroutine dcdifftimecreate1_bc(diff, year, mon, day, hour, min, sec, day_seconds)
subroutine dcdatetimecreatei(time, sec)
subroutine dcdatetimecreate1(time, year, mon, day, hour, min, sec, zone, zone_hour, zone_min, caltype, caltype_str, day_seconds, sclyear, sclmon, sclday, sclsec, err)
subroutine dcdatetimecreated(time, sec)
subroutine dcdifftimecreate2i(diff, value, unit, unit_symbol, err)
subroutine dcdifftimecreate2_bc(diff, value, unit, err)
subroutine dcdifftimecreate1(diff, year, mon, day, hour, min, sec, day_seconds, nondim, sclyear, sclmon, sclday, sclsec)
type(dc_difftime) function dcdatetime_div_fi(diff, denominator)
type(dc_difftime) function dcdatetime_div_fr(diff, denominator)
real(dp) function dcdatetime_div_ff(diff1, diff2)
type(dc_difftime) function dcdatetime_div_fd(diff, denominator)
logical function dcdatetime_eq_df(d, diff)
logical function dcdatetime_eq_fd(diff, d)
logical function dcdatetime_eq_ff(diff1, diff2)
logical function dcdatetime_eq_tt(time1, time2)
logical function dcdatetime_eq_if(i, diff)
logical function dcdatetime_eq_fr(diff, r)
logical function dcdatetime_eq_rf(r, diff)
logical function dcdatetime_eq_fi(diff, i)
subroutine dcdifftimeeval1(diff, year, mon, day, hour, min, sec, nondim, sclyear, sclmon, sclday, sclsec, sclnondim, err)
type(dc_scaled_sec) function dcdifftimeevalsclsec(diff)
real(dp) function dcdifftimeevalbyunit(diff, unit, unit_symbol)
real(dp) function dcdatetimeevalhour(time)
subroutine dcdatetimeeval1(time, year, mon, day, hour, min, sec, caltype, zone, sclyear, sclmon, sclday, sclsec)
real(dp) function dcdatetimeevalsec(time)
real(dp) function dcdifftimeevalnondim(diff)
real(dp) function dcdatetimeevalday(time)
real(dp) function dcdatetimeevalbyunit(time, unit, unit_symbol)
real(dp) function dcdifftimeevalhour(diff)
real(dp) function dcdifftimeevalmin(diff)
real(dp) function dcdatetimeevalmin(time)
type(dc_scaled_sec) function dcdatetimeevalsclsec(time)
real(dp) function dcdifftimeevalday(diff)
real(dp) function dcdifftimeevalsec(diff)
logical function dcdatetime_ge_tt(time1, time2)
logical function dcdatetime_ge_ff(diff1, diff2)
logical function dcdatetime_ge_if(factor, diff)
logical function dcdatetime_ge_fi(diff, factor)
logical function dcdatetime_gt_tt(time1, time2)
logical function dcdatetime_gt_if(factor, diff)
logical function dcdatetime_gt_fi(diff, factor)
logical function dcdatetime_gt_ff(diff1, diff2)
logical function dcdatetime_le_if(factor, diff)
logical function dcdatetime_le_tt(time1, time2)
logical function dcdatetime_le_ff(diff1, diff2)
logical function dcdatetime_le_fi(diff, factor)
logical function dcdatetime_lt_ff(diff1, diff2)
logical function dcdatetime_lt_if(factor, diff)
logical function dcdatetime_lt_fi(diff, factor)
logical function dcdatetime_lt_tt(time1, time2)
type(dc_datetime) function dcdatetime_max_tt(time1, time2)
type(dc_difftime) function dcdatetime_max_ff(diff1, diff2)
type(dc_difftime) function dcdatetime_min_ff(diff1, diff2)
type(dc_datetime) function dcdatetime_min_tt(time1, time2)
type(dc_difftime) function dcdatetime_mod_ff(diff1, diff2)
type(dc_difftime) function dcdatetime_mul_if(factor, diff)
type(dc_difftime) function dcdatetime_mul_rf(factor, diff)
type(dc_difftime) function dcdatetime_mul_df(factor, diff)
type(dc_difftime) function dcdatetime_mul_fd(diff, factor)
type(dc_difftime) function dcdatetime_mul_fr(diff, factor)
type(dc_difftime) function dcdatetime_mul_fi(diff, factor)
integer function dcdatetimeparseunits(str)
subroutine dcdifftimeputline_bc(diff, unit)
subroutine dcdatetimeputline_bc(time, unit)
subroutine dcdatetimesetcaltype(caltype)
subroutine dcdatetimesetsecofday(sec)
type(dc_difftime) function dcdatetime_sub_fd(diff, sec)
type(dc_datetime) function dcdatetime_sub_tf(time, diff)
type(dc_difftime) function dcdatetime_sub_ff(diff1, diff2)
type(dc_difftime) function dcdatetime_sub_fi(diff, sec)
type(dc_difftime) function dcdatetime_sub_fr(diff, sec)
type(dc_difftime) function dcdatetime_sub_tt(time1, time2)
character(token) function dcdatetimetocharcal(time, upcase)
character(string) function dcdatetimetochar(time)
character(string) function dcdifftimetochar(diff)
logical function dcdatetimevalidcaltype(caltype)
type(dc_difftime) function dcdatetimezonetodiff(zone)
logical function dcdatetimevalidzone(zone)
subroutine dcdatetimesetzone(time, zone, err)
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