Class dc_date_types
In: dc_date_types.f90

dc_date で用いられる構造体や変数、定数を保持するモジュールです。

また暦法に関する情報も保持しています.

Methods

Included Modules

dc_types

Attributes

Derived_Types  []  DC_DATETIME, DC_DIFFTIME

Public Instance methods

CAL_CYCLIC()
Constant :
CAL_CYCLIC = 1 :integer, parameter
: 1 ヵ月を 30.6 日 (CYCLIC_MDAYS) とする暦. (例: 0 ヶ月目は 1 〜 30 (30.6), 1 ヶ月目は 1 〜 31 (61.2), 2 ヶ月目は 1 〜 30 (91.8), 3 ヶ月目は 1 〜 31 (122.4), 4 ヶ月目は 1 〜 31 (153.0) …)

仮想的な時間で実験を行う 場合に使用することを想定してい ます.

CAL_GREGORIAN()
Constant :
CAL_GREGORIAN = 4 :integer, parameter
: グレゴリオ暦
CAL_JULIAN()
Constant :
CAL_JULIAN = 3 :integer, parameter
: ユリウス暦
CAL_NOLEAP()
Constant :
CAL_NOLEAP = 2 :integer, parameter
: 1 年 365 日の暦
CYCLIC_MDAYS()
Constant :
CYCLIC_MDAYS = 30.6_DP :real(DP), parameter
: CAL_CYCLIC で使用される 1 ヶ月の日数. また DC_DIFFTIME の 1 ヶ月の日数にも 使用します.
DAY_SECONDS_EARTH()
Constant :
DAY_SECONDS_EARTH = 86400.0_DP :real(DP), parameter
: 地球の 1 日の秒数
DC_DATETIME()
Derived Type :
caltype = CAL_GREGORIAN :integer
: 暦法
day = 1 :integer
:
sec = 0.0_DP :real(DP)
:
day_seconds = DAY_SECONDS_EARTH :real(DP)
: 1 日の秒数
zone = ’+00:00’ :character(STRING)
: UTC からの時差

通日と通秒の対で日付時刻を表現します.

この構造データ型の変数を使用する際は必ず変数を dc_date#Create または dc_date#assignment(=) によって初期化してください. また, day, sec などの内部変数は 直接変更しないでください.

利用法は dc_date の "List" および "Usage" を参照してください.

DC_DIFFTIME()
Derived Type :
mon = 0 :integer
:
day = 0 :integer
:
sec = 0.0_DP :real(DP)
:
day_seconds = DAY_SECONDS_EARTH :real(DP)
: 1 日の秒数

X ヶ月後, X 日前, などを表現するためのデータ型です.

この構造データ型の変数を使用する際は必ず変数を dc_date#Create または dc_date#assignment(=) によって初期化してください. また, day, sec などの内部変数は 直接変更しないでください.

利用法は dc_date の "List" および "Usage" を参照してください.

なお, 1 ヶ月は dc_date_types#CYCLIC_MDAYS と換算します.

FOUR_CENTURY()
Constant :
FOUR_CENTURY = YEAR_DAYS * 400 + 97 :integer, parameter
: 1 世紀の日数
FOUR_YEARS()
Constant :
FOUR_YEARS = YEAR_DAYS * 4 + 1 :integer, parameter
: 4 年の日数
HOUR_SECONDS()
Constant :
HOUR_SECONDS = 3600.0_DP :real(DP), parameter
: 1 時間の秒数
MIN_SECONDS()
Constant :
MIN_SECONDS = 60.0_DP :real(DP), parameter
: 1 分の秒数
PREPARED_CALTYPES()
Constant :
PREPARED_CALTYPES(0:3) = (/CAL_CYCLIC, CAL_NOLEAP, CAL_JULIAN, CAL_GREGORIAN/) :integer, parameter
UNIT_DAY()
Constant :
UNIT_DAY = (/ ‘days’, ‘day ’, ‘d. ’, ‘d ‘/) :character(*), parameter, dimension(4)
: 日の単位を示す文字列
UNIT_HOUR()
Constant :
UNIT_HOUR = (/ ‘hours’, ‘hour ’, ‘hrs. ’, ‘hrs ’, ‘hr. ’, ‘hr ’, ‘h. ’, ‘h ‘/) :character(*), parameter, dimension(8)
: 時の単位を示す文字列
UNIT_MIN()
Constant :
UNIT_MIN = (/ ‘minutes’, ‘minute ’, ‘min. ’, ‘min ‘/) :character(*), parameter, dimension(4)
: 分の単位を示す文字列
UNIT_MONTH()
Constant :
UNIT_MONTH = (/ ‘months’, ‘month ’, ‘mon. ’, ‘mon ’, ‘mo. ’, ‘mo ‘/) :character(*), parameter, dimension(6)
: 月の単位を示す文字列
UNIT_SEC()
Constant :
UNIT_SEC = (/ ‘seconds’, ‘second ’, ‘secs. ’, ‘secs ’, ‘sec. ’, ‘sec ’, ‘s. ’, ‘s ‘/) :character(*), parameter, dimension(8)
: 秒の単位を示す文字列
UNIT_YEAR()
Constant :
UNIT_YEAR = (/ ‘years’, ‘year ’, ‘yr. ’, ‘yr ‘/) :character(*), parameter, dimension(4)
: 年の単位を示す文字列
YEAR_DAYS()
Constant :
YEAR_DAYS = 365 :integer, parameter
: 1 年 (非閏年) の日数
YEAR_MONTHS()
Constant :
YEAR_MONTHS = 12 :integer, parameter
: 1 年の月数
caltype()
Variable :
caltype = CAL_GREGORIAN :integer, save
: デフォルトの暦
day_seconds()
Variable :
day_seconds = DAY_SECONDS_EARTH :real(DP), save
: 1 日の秒数

[Validate]