For keeping track of the model's date and time.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(datetime), | public | :: | model_datetime | The model's current datetime (continuously updated)  | 
  
|||
| type(datetime), | public | :: | start_datetime | The start datetime  | 
  
|||
| type(datetime), | public | :: | end_datetime | The end datetime  | 
  
|||
| integer, | public | :: | imont1 | The month used for computing seasonal forcing fields  | 
  
|||
| real, | public | :: | tmonth | The fraction of the current month elapsed  | 
  
|||
| real, | public | :: | tyear | The fraction of the current year elapsed  | 
  
|||
| integer, | public | :: | isst0 | Initial month of SST anomalies  | 
  
|||
| integer, | public | :: | ndaycal(12,2) | The model calendar  | 
  
|||
| integer, | private, | parameter | :: | ncal | = | 365 | The number of days in a year  | 
  
| integer, | private | :: | ncal365(12) | = | (/31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31/) | The number of days in each month  | 
  
For storing dates and times.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | year | ||||
| integer, | public | :: | month | ||||
| integer, | public | :: | day | ||||
| integer, | public | :: | hour | ||||
| integer, | public | :: | minute | 
Initializes model date and calendar.
Updates the current datetime and related date variables.