MOM6
time_utils_mod::fms2esmf_cal Interface Reference

Detailed Description

Converts calendar from FMS to ESMF format.

Definition at line 21 of file time_utils.F90.

Private functions

type(esmf_calkind_flag) function fms2esmf_cal_c (calendar)
 Sets fms2esmf_cal_c to the corresponding ESMF calendar type. More...
 
type(esmf_calkind_flag) function fms2esmf_cal_i (calendar)
 Sets fms2esmf_cal_i to the corresponding ESMF calendar type. More...
 

Functions and subroutines

◆ fms2esmf_cal_c()

type(esmf_calkind_flag) function time_utils_mod::fms2esmf_cal::fms2esmf_cal_c ( character(len=*), intent(in)  calendar)
private

Sets fms2esmf_cal_c to the corresponding ESMF calendar type.

Returns
ESMF calendar type
Parameters
[in]calendarType of calendar

Definition at line 41 of file time_utils.F90.

41  type(ESMF_CALKIND_FLAG) :: fms2esmf_cal_c !< ESMF calendar type
42  character(len=*), intent(in) :: calendar !< Type of calendar
43 
44  select case( uppercase(trim(calendar)) )
45  case( 'GREGORIAN' )
46  fms2esmf_cal_c = esmf_calkind_gregorian
47  case( 'JULIAN' )
48  fms2esmf_cal_c = esmf_calkind_julian
49  case( 'NOLEAP' )
50  fms2esmf_cal_c = esmf_calkind_noleap
51  case( 'THIRTY_DAY' )
52  fms2esmf_cal_c = esmf_calkind_360day
53  case( 'NO_CALENDAR' )
54  fms2esmf_cal_c = esmf_calkind_nocalendar
55  case default
56  call mpp_error(fatal, &
57  'ocean_solo: ocean_solo_nml entry calendar must be one of GREGORIAN|JULIAN|NOLEAP|THIRTY_DAY|NO_CALENDAR.' )
58  end select

◆ fms2esmf_cal_i()

type(esmf_calkind_flag) function time_utils_mod::fms2esmf_cal::fms2esmf_cal_i ( integer, intent(in)  calendar)
private

Sets fms2esmf_cal_i to the corresponding ESMF calendar type.

Returns
ESMF calendar structure
Parameters
[in]calendarType of calendar

Definition at line 63 of file time_utils.F90.

63  type(ESMF_CALKIND_FLAG) :: fms2esmf_cal_i !< ESMF calendar structure
64  integer, intent(in) :: calendar !< Type of calendar
65 
66  select case(calendar)
67  case(thirty_day_months)
68  fms2esmf_cal_i = esmf_calkind_360day
69  case(gregorian)
70  fms2esmf_cal_i = esmf_calkind_gregorian
71  case(julian)
72  fms2esmf_cal_i = esmf_calkind_julian
73  case(noleap)
74  fms2esmf_cal_i = esmf_calkind_noleap
75  case(no_calendar)
76  fms2esmf_cal_i = esmf_calkind_nocalendar
77  end select

The documentation for this interface was generated from the following file: