gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
Data Types
dc_date_types Module Reference

Derived types and parameters for date and time. More...

Data Types

type  dc_datetime
 
type  dc_difftime
 

Variables

Calendar type parameters
integer, parameter, public cal_cyclic = 1
 Cyclic calendar (30.6 days per month)
 
integer, parameter, public cal_noleap = 2
 Calendar without leap years (365 days per year)
 
integer, parameter, public cal_julian = 3
 Julian calendar
 
integer, parameter, public cal_gregorian = 4
 Gregorian calendar
 
integer, dimension(0:3), parameter, public prepared_caltypes = (/CAL_CYCLIC, CAL_NOLEAP, CAL_JULIAN, CAL_GREGORIAN/)
 Array of prepared calendar types
 
integer, save, public caltype = CAL_GREGORIAN
 Default calendar type (Gregorian)
 
Time unit conversion parameters
real(dp), parameter, public cyclic_mdays = 30.6_DP
 Days per month for cyclic calendar (also used for DC_DIFFTIME)
 
integer, parameter, public min_seconds = 60
 Seconds per minute
 
integer, parameter, public hour_seconds = 3600
 Seconds per hour
 
real(dp), parameter, public day_seconds_earth = 86400.0_DP
 Seconds per day on Earth
 
real(dp), save, public day_seconds = DAY_SECONDS_EARTH
 Seconds per day (variable, default is Earth day)
 
type(dc_scaled_sec), save, public day_seconds_scl
 Seconds per day (DC_SCALED_SEC type)
 
logical, save, public flag_set_day_seconds_scl = .false.
 Flag indicating if day_seconds_scl is set
 
integer, parameter, public year_days = 365
 Days per year (non-leap year)
 
integer, parameter, public year_months = 12
 Months per year
 
integer, parameter, public four_years = YEAR_DAYS * 4 + 1
 Days in 4 years (including leap year)
 
integer, parameter, public four_century = YEAR_DAYS * 400 + 97
 Days in 400 years
 
Unit string parameters
character(*), dimension(1), parameter, public unit_nondim = (/ '1' /)
 Strings recognized as nondimensional unit
 
character(*), dimension(8), parameter, public unit_sec = (/ 'seconds', 'second ', 'secs. ', 'secs ', 'sec. ', 'sec ', 's. ', 's '/)
 Strings recognized as second unit
 
character(*), dimension(4), parameter, public unit_min = (/ 'minutes', 'minute ', 'min. ', 'min '/)
 Strings recognized as minute unit
 
character(*), dimension(8), parameter, public unit_hour = (/ 'hours', 'hour ', 'hrs. ', 'hrs ', 'hr. ', 'hr ', 'h. ', 'h '/)
 Strings recognized as hour unit
 
character(*), dimension(4), parameter, public unit_day = (/ 'days', 'day ', 'd. ', 'd '/)
 Strings recognized as day unit
 
character(*), dimension(6), parameter, public unit_month = (/ 'months', 'month ', 'mon. ', 'mon ', 'mo. ', 'mo '/)
 Strings recognized as month unit
 
character(*), dimension(4), parameter, public unit_year = (/ 'years', 'year ', 'yr. ', 'yr '/)
 Strings recognized as year unit
 
Unit symbol parameters
integer, parameter, public unit_symbol_err = -1
 Symbol for invalid unit
 
integer, parameter, public unit_symbol_nondim = 1
 Symbol for nondimensional unit
 
integer, parameter, public unit_symbol_sec = 2
 Symbol for second unit
 
integer, parameter, public unit_symbol_min = 3
 Symbol for minute unit
 
integer, parameter, public unit_symbol_hour = 4
 Symbol for hour unit
 
integer, parameter, public unit_symbol_day = 5
 Symbol for day unit
 
integer, parameter, public unit_symbol_month = 6
 Symbol for month unit
 
integer, parameter, public unit_symbol_year = 7
 Symbol for year unit
 

Detailed Description

Derived types and parameters for date and time.

Author
Youhei SASAKI, Yasuhiro MORIKAWA, Eizi TOYODA

Variable Documentation

◆ cal_cyclic

integer, parameter, public dc_date_types::cal_cyclic = 1

Cyclic calendar (30.6 days per month)

A calendar where each month has 30.6 days (CYCLIC_MDAYS). (e.g., month 0: 1-30 (30.6), month 1: 1-31 (61.2), month 2: 1-30 (91.8), month 3: 1-31 (122.4), ...) Intended for use in experiments with virtual time.

Definition at line 152 of file dc_date_types.f90.

152 integer, parameter:: CAL_CYCLIC = 1

◆ cal_gregorian

integer, parameter, public dc_date_types::cal_gregorian = 4

Gregorian calendar

Definition at line 164 of file dc_date_types.f90.

164 integer, parameter:: CAL_GREGORIAN = 4

◆ cal_julian

integer, parameter, public dc_date_types::cal_julian = 3

Julian calendar

Definition at line 160 of file dc_date_types.f90.

160 integer, parameter:: CAL_JULIAN = 3

◆ cal_noleap

integer, parameter, public dc_date_types::cal_noleap = 2

Calendar without leap years (365 days per year)

Definition at line 156 of file dc_date_types.f90.

156 integer, parameter:: CAL_NOLEAP = 2

◆ caltype

integer, save, public dc_date_types::caltype = CAL_GREGORIAN

Default calendar type (Gregorian)

Definition at line 173 of file dc_date_types.f90.

173 integer, save:: caltype = cal_gregorian

◆ cyclic_mdays

real(dp), parameter, public dc_date_types::cyclic_mdays = 30.6_DP

Days per month for cyclic calendar (also used for DC_DIFFTIME)

Definition at line 188 of file dc_date_types.f90.

188 real(DP), parameter:: CYCLIC_MDAYS = 30.6_dp

◆ day_seconds

real(dp), save, public dc_date_types::day_seconds = DAY_SECONDS_EARTH

Seconds per day (variable, default is Earth day)

Definition at line 204 of file dc_date_types.f90.

204 real(DP), save :: day_seconds = day_seconds_earth

◆ day_seconds_earth

real(dp), parameter, public dc_date_types::day_seconds_earth = 86400.0_DP

Seconds per day on Earth

Definition at line 200 of file dc_date_types.f90.

200 real(DP), parameter:: DAY_SECONDS_EARTH = 86400.0_dp

◆ day_seconds_scl

type(dc_scaled_sec), save, public dc_date_types::day_seconds_scl

Seconds per day (DC_SCALED_SEC type)

Definition at line 208 of file dc_date_types.f90.

208 type(DC_SCALED_SEC), save :: day_seconds_scl

◆ flag_set_day_seconds_scl

logical, save, public dc_date_types::flag_set_day_seconds_scl = .false.

Flag indicating if day_seconds_scl is set

Definition at line 212 of file dc_date_types.f90.

212 logical, save :: flag_set_day_seconds_scl = .false.

◆ four_century

integer, parameter, public dc_date_types::four_century = YEAR_DAYS * 400 + 97

Days in 400 years

Definition at line 228 of file dc_date_types.f90.

228 integer, parameter:: FOUR_CENTURY = year_days * 400 + 97

◆ four_years

integer, parameter, public dc_date_types::four_years = YEAR_DAYS * 4 + 1

Days in 4 years (including leap year)

Definition at line 224 of file dc_date_types.f90.

224 integer, parameter:: FOUR_YEARS = year_days * 4 + 1

◆ hour_seconds

integer, parameter, public dc_date_types::hour_seconds = 3600

Seconds per hour

Definition at line 196 of file dc_date_types.f90.

196 integer, parameter:: HOUR_SECONDS = 3600

◆ min_seconds

integer, parameter, public dc_date_types::min_seconds = 60

Seconds per minute

Definition at line 192 of file dc_date_types.f90.

192 integer, parameter:: MIN_SECONDS = 60

◆ prepared_caltypes

integer, dimension(0:3), parameter, public dc_date_types::prepared_caltypes = (/CAL_CYCLIC, CAL_NOLEAP, CAL_JULIAN, CAL_GREGORIAN/)

Array of prepared calendar types

Definition at line 168 of file dc_date_types.f90.

168 integer, parameter:: PREPARED_CALTYPES(0:3) = &
169 & (/CAL_CYCLIC, CAL_NOLEAP, CAL_JULIAN, CAL_GREGORIAN/)

◆ unit_day

character(*), dimension(4), parameter, public dc_date_types::unit_day = (/ 'days', 'day ', 'd. ', 'd '/)

Strings recognized as day unit

Definition at line 265 of file dc_date_types.f90.

265 character(*), parameter, dimension(4) :: UNIT_DAY = (/ &
266 & 'days', 'day ', 'd. ', 'd '/)

◆ unit_hour

character(*), dimension(8), parameter, public dc_date_types::unit_hour = (/ 'hours', 'hour ', 'hrs. ', 'hrs ', 'hr. ', 'hr ', 'h. ', 'h '/)

Strings recognized as hour unit

Definition at line 259 of file dc_date_types.f90.

259 character(*), parameter, dimension(8) :: UNIT_HOUR = (/ &
260 & 'hours', 'hour ', 'hrs. ', 'hrs ', &
261 & 'hr. ', 'hr ', 'h. ', 'h '/)

◆ unit_min

character(*), dimension(4), parameter, public dc_date_types::unit_min = (/ 'minutes', 'minute ', 'min. ', 'min '/)

Strings recognized as minute unit

Definition at line 254 of file dc_date_types.f90.

254 character(*), parameter, dimension(4) :: UNIT_MIN = (/ &
255 & 'minutes', 'minute ', 'min. ', 'min '/)

◆ unit_month

character(*), dimension(6), parameter, public dc_date_types::unit_month = (/ 'months', 'month ', 'mon. ', 'mon ', 'mo. ', 'mo '/)

Strings recognized as month unit

Definition at line 270 of file dc_date_types.f90.

270 character(*), parameter, dimension(6) :: UNIT_MONTH = (/ &
271 & 'months', 'month ', 'mon. ', &
272 & 'mon ', 'mo. ', 'mo '/)

◆ unit_nondim

character(*), dimension(1), parameter, public dc_date_types::unit_nondim = (/ '1' /)

Strings recognized as nondimensional unit

Definition at line 243 of file dc_date_types.f90.

243 character(*), parameter, dimension(1) :: UNIT_NONDIM = (/ &
244 & '1' /)

◆ unit_sec

character(*), dimension(8), parameter, public dc_date_types::unit_sec = (/ 'seconds', 'second ', 'secs. ', 'secs ', 'sec. ', 'sec ', 's. ', 's '/)

Strings recognized as second unit

Definition at line 248 of file dc_date_types.f90.

248 character(*), parameter, dimension(8) :: UNIT_SEC = (/ &
249 & 'seconds', 'second ', 'secs. ', 'secs ', &
250 & 'sec. ', 'sec ', 's. ', 's '/)

◆ unit_symbol_day

integer, parameter, public dc_date_types::unit_symbol_day = 5

Symbol for day unit

Definition at line 312 of file dc_date_types.f90.

312 integer, parameter:: UNIT_SYMBOL_DAY = 5

◆ unit_symbol_err

integer, parameter, public dc_date_types::unit_symbol_err = -1

Symbol for invalid unit

Definition at line 292 of file dc_date_types.f90.

292 integer, parameter:: UNIT_SYMBOL_ERR = -1

◆ unit_symbol_hour

integer, parameter, public dc_date_types::unit_symbol_hour = 4

Symbol for hour unit

Definition at line 308 of file dc_date_types.f90.

308 integer, parameter:: UNIT_SYMBOL_HOUR = 4

◆ unit_symbol_min

integer, parameter, public dc_date_types::unit_symbol_min = 3

Symbol for minute unit

Definition at line 304 of file dc_date_types.f90.

304 integer, parameter:: UNIT_SYMBOL_MIN = 3

◆ unit_symbol_month

integer, parameter, public dc_date_types::unit_symbol_month = 6

Symbol for month unit

Definition at line 316 of file dc_date_types.f90.

316 integer, parameter:: UNIT_SYMBOL_MONTH = 6

◆ unit_symbol_nondim

integer, parameter, public dc_date_types::unit_symbol_nondim = 1

Symbol for nondimensional unit

Definition at line 296 of file dc_date_types.f90.

296 integer, parameter:: UNIT_SYMBOL_NONDIM = 1

◆ unit_symbol_sec

integer, parameter, public dc_date_types::unit_symbol_sec = 2

Symbol for second unit

Definition at line 300 of file dc_date_types.f90.

300 integer, parameter:: UNIT_SYMBOL_SEC = 2

◆ unit_symbol_year

integer, parameter, public dc_date_types::unit_symbol_year = 7

Symbol for year unit

Definition at line 320 of file dc_date_types.f90.

320 integer, parameter:: UNIT_SYMBOL_YEAR = 7

◆ unit_year

character(*), dimension(4), parameter, public dc_date_types::unit_year = (/ 'years', 'year ', 'yr. ', 'yr '/)

Strings recognized as year unit

Definition at line 276 of file dc_date_types.f90.

276 character(*), parameter, dimension(4) :: UNIT_YEAR = (/ &
277 & 'years', 'year ', 'yr. ', 'yr '/)

◆ year_days

integer, parameter, public dc_date_types::year_days = 365

Days per year (non-leap year)

Definition at line 216 of file dc_date_types.f90.

216 integer, parameter:: YEAR_DAYS = 365

◆ year_months

integer, parameter, public dc_date_types::year_months = 12

Months per year

Definition at line 220 of file dc_date_types.f90.

220 integer, parameter:: YEAR_MONTHS = 12