346 public::
assignment(=)
347 public::
mod,
operator(/),
operator(-),
operator(+),
operator(*)
348 public::
operator(<),
operator(>),
operator(>=),
operator(<=)
349 public::
operator(==),
max,
min
360 & year, mon, day, hour, min, sec, &
361 & zone, zone_hour, zone_min, caltype, caltype_str, day_seconds, &
362 & sclyear, sclmon, sclday, sclsec, err)
367 integer,
intent(in),
optional:: year, mon, day, hour, min
368 real(DP),
intent(in),
optional:: sec, day_seconds
369 character(*),
intent(in),
optional :: zone
370 integer,
intent(in),
optional :: zone_hour
371 integer,
intent(in),
optional :: zone_min
372 integer,
intent(in),
optional:: caltype
373 character(*),
intent(in),
optional:: caltype_str
374 type(
dc_scaled_sec),
intent(in),
optional:: sclyear, sclmon, sclday, sclsec
375 logical,
intent(out),
optional:: err
381 & year, mon, day, hour, min, sec, day_seconds, nondim, &
382 & sclyear, sclmon, sclday, sclsec )
387 integer,
intent(in),
optional:: year, mon, day, hour, min
388 real(DP),
intent(in),
optional:: sec, day_seconds, nondim
389 type(
dc_scaled_sec),
intent(in),
optional:: sclyear, sclmon, sclday, sclsec
396 real(DP),
intent(in) :: value
397 character(*),
intent(in) :: unit
398 integer,
intent(in),
optional :: unit_symbol
399 logical,
intent(out),
optional :: err
405 real,
intent(in) :: value
406 character(*),
intent(in) :: unit
407 integer,
intent(in),
optional :: unit_symbol
408 logical,
intent(out),
optional :: err
414 integer,
intent(in) :: value
415 character(*),
intent(in) :: unit
416 integer,
intent(in),
optional :: unit_symbol
417 logical,
intent(out),
optional :: err
426 integer,
intent(in),
optional :: unit
427 character(*),
intent(in),
optional:: indent
435 integer,
intent(in),
optional :: unit
436 character(*),
intent(in),
optional:: indent
440 interface assignment(=)
445 integer,
intent(in):: sec
451 real,
intent(in):: sec
458 real(DP),
intent(in):: sec
464 integer,
intent(in):: sec
470 real,
intent(in):: sec
477 real(DP),
intent(in):: sec
496 integer,
intent(in):: caltype
503 real(DP),
intent(in):: sec
509 integer,
intent(in):: caltype
516 character(*),
intent(in):: zone
525 character(*),
intent(in):: zone
531 character(*),
intent(in):: str
540 character(*),
intent(in):: zone
541 logical,
intent(out),
optional:: err
549 & sec, caltype, zone, sclyear, sclmon, sclday, sclsec)
554 integer,
intent(out),
optional:: year, mon, day, hour, min, caltype
555 real(DP),
intent(out),
optional:: sec
556 character(*),
intent(out),
optional:: zone
557 type(
dc_scaled_sec),
intent(out),
optional:: sclyear, sclmon, sclday, sclsec
569 & year, mon, day, hour, min, sec, nondim, &
570 & sclyear, sclmon, sclday, sclsec, sclnondim, err)
575 integer,
intent(out),
optional:: year, mon, day, hour, min
576 real(DP),
intent(out),
optional:: sec, nondim
577 type(
dc_scaled_sec),
intent(out),
optional:: sclyear, sclmon, sclday, sclsec, sclnondim
578 logical,
intent(out),
optional :: err
679 character(*),
intent(in),
optional:: unit
680 integer,
intent(in),
optional:: unit_symbol
688 character(*),
intent(in),
optional:: unit
689 integer,
intent(in),
optional:: unit_symbol
699 character(STRING) :: result
706 character(STRING) :: result
715 character(TOKEN) :: result
717 logical,
intent(in),
optional:: upcase
721 interface operator(+)
743 real(
dp),
intent(in):: sec
749 real,
intent(in):: sec
755 integer,
intent(in):: sec
759 interface operator(-)
780 real(
dp),
intent(in):: sec
786 real,
intent(in):: sec
792 integer,
intent(in):: sec
796 interface operator(*)
799 integer,
intent(in):: factor
806 integer,
intent(in):: factor
811 real,
intent(in):: factor
818 real,
intent(in):: factor
824 real(
dp),
intent(in):: factor
832 real(
dp),
intent(in):: factor
837 interface operator(/)
841 integer,
intent(in):: denominator
847 real,
intent(in):: denominator
854 real(
dp),
intent(in):: denominator
871 interface operator(==)
885 integer,
intent(in):: i
891 integer,
intent(in):: i
910 real(
dp),
intent(in):: d
917 real(
dp),
intent(in):: d
923 interface operator(>)
937 integer,
intent(in):: factor
942 integer,
intent(in):: factor
947 interface operator(<)
961 integer,
intent(in):: factor
966 integer,
intent(in):: factor
971 interface operator(>=)
985 integer,
intent(in):: factor
990 integer,
intent(in):: factor
995 interface operator(<=)
1009 integer,
intent(in):: factor
1014 integer,
intent(in):: factor
1048 & year, mon, day, hour, min, sec, &
1049 & zone, caltype, day_seconds, err)
1054 integer,
intent(in),
optional:: year, mon, day, hour, min
1055 real(DP),
intent(in),
optional:: sec, day_seconds
1056 character(*),
intent(in),
optional :: zone
1057 integer,
intent(in),
optional:: caltype
1058 logical,
intent(out),
optional:: err
1062 & year, mon, day, hour, min, sec, day_seconds )
1067 integer,
intent(in),
optional:: year, mon, day, hour, min
1068 real(DP),
intent(in),
optional:: sec, day_seconds
1075 real(DP),
intent(in) :: value
1076 character(*),
intent(in) :: unit
1077 integer,
intent(in),
optional :: unit_symbol
1078 logical,
intent(out),
optional :: err
1086 integer,
intent(in),
optional :: unit
1092 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)
Functions for user defined operation (+)
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)
Create DC_DATETIME and DC_DIFFTIME type variables.
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)
Functions for user defined operation (/)
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)
Functions for user defined operation (==)
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)
Functions for user defined operation (>=)
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)
Functions for user defined operation (>)
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)
Functions for user defined operation (<=)
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)
Functions for user defined operation (<)
type(dc_datetime) function dcdatetime_max_tt(time1, time2)
User defined function "max".
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)
User defined function "min".
type(dc_difftime) function dcdatetime_mod_ff(diff1, diff2)
User defined function "mod".
type(dc_difftime) function dcdatetime_mul_if(factor, diff)
Functions for user defined operation (*)
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)
Parse strings that mean units.
subroutine dcdifftimeputline_bc(diff, unit)
subroutine dcdatetimeputline_bc(time, unit)
subroutine dcdatetimesetcaltype(caltype)
Set the calendar type.
subroutine dcdatetimesetsecofday(sec)
Set the number of seconds in a day.
type(dc_difftime) function dcdatetime_sub_fd(diff, sec)
type(dc_datetime) function dcdatetime_sub_tf(time, diff)
Functions for user defined operation (-)
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)
Convert DC_DATETIME, DC_DIFFTIME to character strings.
character(string) function dcdifftimetochar(diff)
logical function dcdatetimevalidcaltype(caltype)
Check if calendar type is valid in dc_date_types.
type(dc_difftime) function dcdatetimezonetodiff(zone)
logical function dcdatetimevalidzone(zone)
subroutine dcdatetimesetzone(time, zone, err)
Procedures for timezone handling.
Interface declarations for procedures provided from dc_date.
Derived types and parameters for date and time.
Judge optional control parameters.
logical function, public present_and_not_empty(arg)
Scaled seconds module for precise time operations.
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