92
100 implicit none
101 character(*), intent(out), optional:: cal_type
102 integer, intent(out), optional:: month_in_year
103 integer, intent(out), optional:: day_in_month(:)
104 integer, pointer, optional:: day_in_month_ptr(:)
105 integer, intent(out), optional:: hour_in_day
106 integer, intent(out), optional:: min_in_hour
107 real(DP), intent(out), optional:: sec_in_min
108 type(DC_CAL), intent(in), optional, target:: cal
109 logical, intent(out), optional:: err
110
111
112
113
114 type(DC_CAL), pointer:: calp =>null()
115 integer:: siz_dm
116 integer:: stat
117 character(STRING):: cause_c
118 character(*), parameter:: subname = 'DCCalInquire1'
119continue
122 cause_c = ''
123
124
125
126
127 if ( present( cal ) ) then
128 calp => cal
129 else
132 end if
133
134
135
136
137 if ( .not. calp % initialized ) then
139 cause_c = 'DC_CAL'
140 goto 999
141 end if
142
143
144
145
146 if ( present( cal_type ) ) then
148 end if
149 if ( present( month_in_year ) ) month_in_year = calp % month_in_year
150 if ( present( hour_in_day ) ) hour_in_day = calp % hour_in_day
151 if ( present( min_in_hour ) ) min_in_hour = calp % min_in_hour
152 if ( present( sec_in_min ) ) sec_in_min = calp % sec_in_min
153
154 if ( present( day_in_month ) ) then
155 if ( size( day_in_month ) > 0 ) then
156 day_in_month = 0
157 siz_dm = min( size( day_in_month ), size( calp % day_in_month ) )
158 day_in_month(1:siz_dm) = calp % day_in_month(1:siz_dm)
159 end if
160 end if
161
162 if ( present( day_in_month_ptr ) ) then
163 siz_dm = size( calp % day_in_month )
164 allocate( day_in_month_ptr(1:siz_dm) )
165 day_in_month_ptr(1:siz_dm) = calp % day_in_month(1:siz_dm)
166 end if
167
168
169
170
171999 continue
172 nullify( calp )
173 call storeerror( stat, subname, err, cause_c )
type(dc_cal), target, save, public default_cal
デフォルトの暦. DCCal で始まる手続のうち, DC_CAL 型の省略可能引数が与えられない 場合にはこの暦が設定もしくは利用される.
character(token) function, public dccaltype_str(cal_type)
subroutine, public default_cal_set
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
エラー等を保持
integer, parameter, public dc_enotinit
-400 以下: dc ユーティリティのエラー
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
integer, parameter, public dp
倍精度実数型変数
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ