!== dc_date_types.f90 - 日付・時刻に関する構造体を提供するモジュール
!
! Authors::   Yasuhiro MORIKAWA, Eizi TOYODA
! Version::   $Id: dc_date_types.f90,v 1.3 2005/12/26 11:34:38 morikawa Exp $
! Tag Name::  $Name: gt4f90io-20060627 $
! Copyright:: Copyright (C) GFD Dennou Club, 2000-2005. All rights reserved.
! License::   See COPYRIGHT[link:../../COPYRIGHT]
!
! This file provides dc_date_types


module dc_date_types !:nodoc: 25,1
  !
  ! dc_date で用いられる構造体や変数、定数を保持するモジュールです。
  !
  use dc_types, only: DP

  implicit none

  type DC_DATETIME
    ! 通日と通秒の対で日付時刻を表現します。
    sequence
    integer :: day
    real(DP):: sec
  end type DC_DATETIME

  type DC_DIFFTIME
    ! 「1ヵ月後」という概念に対応するため、month 欄を持ちます。
    !
    ! 注意: 日付と違って月を normalize することはできません。
    sequence
    integer :: mon
    integer :: day
    real(DP):: sec
  end type DC_DIFFTIME

  integer, parameter:: CAL_CYCLIC = 1
  integer, parameter:: CAL_NOLEAP = 2
  integer, parameter:: CAL_JULIAN = 3
  integer, parameter:: CAL_GREGORIAN = 4
  integer, save     :: caltype = CAL_GREGORIAN

  real(DP), save:: cyclic_mdays = 30.6
  real(DP), save:: day_seconds  = 86400.0

end module dc_date_types