Go to the source code of this file.
Functions/Subroutines | |
| subroutine | dccalcreate1 (cal_type, cal, err) |
| Calendar creation procedures. | |
| subroutine | dccalcreate2 (month_in_year, day_in_month, hour_in_day, min_in_hour, sec_in_min, cal, err) |
| subroutine dccalcreate1 | ( | character(*), intent(in) | cal_type, |
| type(dc_cal), intent(out), optional, target | cal, | ||
| logical, intent(out), optional | err ) |
Calendar creation procedures.
Procedures described in this file are provided from "dc_calendar" module.
Create calendar with predefined calendar type
Set calendar.
This subroutine sets previously-defined calendars by "dc_calendar" module. If number of days of a month, number of seconds of a day, etc. want to be specified arbitrarily, use the following homonymous subroutine.
Following strings are valid as cal_type. If any other string is specified, an error is caused. They are not case-sensitive.
| cal_type | Description |
|---|---|
| gregorian | Gregorian calendar |
| julian | Julian calendar |
| noleap | A calendar without leap year |
| 360day | A calendar in which number of days of a month is 30 |
| cyclic | A calendar in which number of days of a year is "30.6 x (number of months) - (total days until last month)" (truncate fractional part) |
If an optional argument cal is omitted, the calendar setting is stored to a "dc_calendar_types#DC_CAL" variable that is saved in the "dc_calendar". When cal is omitted in subsequent procedures, the internal calendar is used. If cal is not omitted, the settings is stored to the cal. In order to use the calendar setting, use the "dc_calendar_types#DC_CAL" variable to subsequent procedures.
| [in] | cal_type | Strings that specify a previously-defined calendar |
| [out] | cal | An object that stores information of calendar |
| [out] | err | Exception handling flag |
Definition at line 93 of file dccalcreate.f90.
References dc_trace::beginsub(), dc_calendar_types::cal_360day, dc_calendar_types::cal_cyclic, dc_calendar_types::cal_gregorian, dc_calendar_types::cal_julian, dc_calendar_types::cal_noleap, dc_error::dc_ebadcaltype, dc_error::dc_noerr, dc_calendar_internal::default_cal, dc_types::dp, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.
| subroutine dccalcreate2 | ( | integer, intent(in) | month_in_year, |
| integer, dimension(:), intent(in) | day_in_month, | ||
| integer, intent(in) | hour_in_day, | ||
| integer, intent(in) | min_in_hour, | ||
| real(dp), intent(in) | sec_in_min, | ||
| type(dc_cal), intent(out), optional, target | cal, | ||
| logical, intent(out), optional | err ) |
Create calendar with custom settings
Set calendar.
Specify number of days of a month, number of seconds of a day, etc. to arguments. If Gregorian calendar, Julian calendar are needed, see a foregoing homonymous subroutine.
If an optional argument cal is omitted. The calendar setting is stored to a "dc_calendar_types#DC_CAL" variable that is saved in the "dc_calendar". When cal is omitted in subsequent procedures, the internal calendar is used. If cal is not omitted, the settings is stored to the cal. In order to use the calendar setting, use the "dc_calendar_types#DC_CAL" variable to subsequent procedures.
| [in] | month_in_year | Months in a year |
| [in] | day_in_month | Days in months (array) |
| [in] | hour_in_day | Hours in a day |
| [in] | min_in_hour | Minutes in an hour |
| [in] | sec_in_min | Seconds in a minute |
| [out] | cal | An object that stores information of calendar |
| [out] | err | Exception handling flag |
Definition at line 248 of file dccalcreate.f90.
References dc_trace::beginsub(), dc_calendar_types::cal_user_defined, dc_error::dc_ebadcaltype, dc_error::dc_noerr, dc_calendar_internal::default_cal, dc_types::dp, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.