Inquire information of calendar.
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 )
Internal module for dc_calendar.
type(dc_cal), target, save, public default_cal
Default calendar object
character(token) function, public dccaltype_str(cal_type)
subroutine, public default_cal_set
Derived types and parameters of calendar and date.
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
Error storage variables
integer, parameter, public dc_enotinit
-400 or less: DC utilities errors
Handling character types.
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)
Provides kind type parameter values.
integer, parameter, public dp
Double Precision Real number
integer, parameter, public string
Character length for string