shr_cal_mod Module



Variables

Type Visibility Attributes Name Initial
type(calParamType), protected :: calParams
integer(kind=SHR_KIND_IN), public, parameter :: shr_cal_calMaxLen = 64
character(len=*), public, parameter :: shr_cal_noleap = 'NO_LEAP'
character(len=*), public, parameter :: shr_cal_gregorian = 'GREGORIAN'

Interfaces

public interface shr_cal_timeSet

  • private subroutine shr_cal_timeSet_int(etime, ymd, sec, calendar)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Time), intent(out) :: etime
    integer(kind=SHR_KIND_IN), intent(in) :: ymd
    integer(kind=SHR_KIND_IN), intent(in) :: sec
    character(len=*), intent(in) :: calendar
  • private subroutine shr_cal_timeSet_long(etime, ymd, sec, calendar)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Time), intent(out) :: etime
    integer(kind=SHR_KIND_I8), intent(in) :: ymd
    integer(kind=SHR_KIND_IN), intent(in) :: sec
    character(len=*), intent(in) :: calendar

public interface shr_cal_date2ymd

  • private subroutine shr_cal_date2ymd_int(date, year, month, day)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_IN), intent(in) :: date
    integer(kind=SHR_KIND_IN), intent(out) :: year
    integer(kind=SHR_KIND_IN), intent(out) :: month
    integer(kind=SHR_KIND_IN), intent(out) :: day
  • private subroutine shr_cal_date2ymd_long(date, year, month, day)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_I8), intent(in) :: date
    integer(kind=SHR_KIND_IN), intent(out) :: year
    integer(kind=SHR_KIND_IN), intent(out) :: month
    integer(kind=SHR_KIND_IN), intent(out) :: day

public interface shr_cal_date2julian

  • private subroutine shr_cal_date2julian_int(date, sec, jday, calendar)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_IN), intent(in) :: date
    integer(kind=SHR_KIND_IN), intent(in) :: sec
    real(kind=SHR_KIND_R8), intent(out) :: jday
    character(len=*), intent(in) :: calendar
  • private subroutine shr_cal_date2julian_long(date, sec, jday, calendar)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_I8), intent(in) :: date
    integer(kind=SHR_KIND_IN), intent(in) :: sec
    real(kind=SHR_KIND_R8), intent(out) :: jday
    character(len=*), intent(in) :: calendar

public interface shr_cal_ymd2date

  • private subroutine shr_cal_ymd2date_int(year, month, day, date)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_IN), intent(in) :: year
    integer(kind=SHR_KIND_IN), intent(in) :: month
    integer(kind=SHR_KIND_IN), intent(in) :: day
    integer(kind=SHR_KIND_IN), intent(out) :: date
  • private subroutine shr_cal_ymd2date_long(year, month, day, date)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_IN), intent(in) :: year
    integer(kind=SHR_KIND_IN), intent(in) :: month
    integer(kind=SHR_KIND_IN), intent(in) :: day
    integer(kind=SHR_KIND_I8), intent(out) :: date

public interface shr_cal_advDate

  • private subroutine shr_cal_advDate_int(delta, units, dateIN, secIN, dateOUT, secOUT, calendar)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SHR_KIND_R8), intent(in) :: delta
    character(len=*), intent(in) :: units
    integer(kind=SHR_KIND_IN), intent(in) :: dateIN
    real(kind=SHR_KIND_R8), intent(in) :: secIN
    integer(kind=SHR_KIND_IN), intent(out) :: dateOUT
    real(kind=SHR_KIND_R8), intent(out) :: secOUT
    character(len=*), intent(in) :: calendar
  • private subroutine shr_cal_advDate_long(delta, units, dateIN, secIN, dateOUT, secOUT, calendar)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SHR_KIND_R8), intent(in) :: delta
    character(len=*), intent(in) :: units
    integer(kind=SHR_KIND_I8), intent(in) :: dateIN
    real(kind=SHR_KIND_R8), intent(in) :: secIN
    integer(kind=SHR_KIND_I8), intent(out) :: dateOUT
    real(kind=SHR_KIND_R8), intent(out) :: secOUT
    character(len=*), intent(in) :: calendar

public interface shr_cal_advDateInt

  • private subroutine shr_cal_advDateInt_int(delta, units, dateIN, secIN, dateOUT, secOUT, calendar)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_IN), intent(in) :: delta
    character(len=*), intent(in) :: units
    integer(kind=SHR_KIND_IN), intent(in) :: dateIN
    integer(kind=SHR_KIND_IN), intent(in) :: secIN
    integer(kind=SHR_KIND_IN), intent(out) :: dateOUT
    integer(kind=SHR_KIND_IN), intent(out) :: secOUT
    character(len=*), intent(in) :: calendar
  • private subroutine shr_cal_advDateInt_long(delta, units, dateIN, secIN, dateOUT, secOUT, calendar)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_IN), intent(in) :: delta
    character(len=*), intent(in) :: units
    integer(kind=SHR_KIND_I8), intent(in) :: dateIN
    integer(kind=SHR_KIND_IN), intent(in) :: secIN
    integer(kind=SHR_KIND_I8), intent(out) :: dateOUT
    integer(kind=SHR_KIND_IN), intent(out) :: secOUT
    character(len=*), intent(in) :: calendar

public interface shr_cal_validdate

  • private function shr_cal_validDate_int(date, calendar)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_IN), intent(in) :: date
    character(len=*), intent(in) :: calendar

    Return Value logical

  • private function shr_cal_validDate_long(date, calendar)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=SHR_KIND_I8), intent(in) :: date
    character(len=*), intent(in) :: calendar

    Return Value logical

public interface shr_cal_datetod2string

  • private subroutine shr_cal_datetod2string_int(date_str, ymd, tod)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(out) :: date_str
    integer(kind=shr_kind_in), intent(in) :: ymd
    integer(kind=shr_kind_in), intent(in), optional :: tod
  • private subroutine shr_cal_datetod2string_long(date_str, ymd, tod)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(out) :: date_str
    integer(kind=shr_kind_i8), intent(in) :: ymd
    integer(kind=shr_kind_in), intent(in), optional :: tod

Derived Types

type, public ::  calParamType

Components

Type Visibility Attributes Name Initial
integer, public :: january = 1
integer, public :: february = 2
integer, public :: march = 3
integer, public :: april = 4
integer, public :: may = 5
integer, public :: june = 6
integer, public :: july = 7
integer, public :: august = 8
integer, public :: september = 9
integer, public :: october = 10
integer, public :: november = 11
integer, public :: december = 12
integer, public :: firstDayOfMonth = 1

Functions

public function shr_cal_calendarName(calendar, trap)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: calendar
logical, intent(in), optional :: trap

Return Value character(len=shr_cal_calMaxLen)

public function shr_cal_numDaysInMonth(year, month, calendar)

Arguments

Type IntentOptional Attributes Name
integer(kind=SHR_KIND_IN), intent(in) :: year
integer(kind=SHR_KIND_IN), intent(in) :: month
character(len=*), intent(in) :: calendar

Return Value integer

public function shr_cal_numDaysInYear(year, calendar)

Arguments

Type IntentOptional Attributes Name
integer(kind=SHR_KIND_IN), intent(in) :: year
character(len=*), intent(in) :: calendar

Return Value integer

public function shr_cal_elapsDaysStrtMonth(year, month, calendar)

Arguments

Type IntentOptional Attributes Name
integer(kind=SHR_KIND_IN), intent(in) :: year
integer(kind=SHR_KIND_IN), intent(in) :: month
character(len=*), intent(in) :: calendar

Return Value integer

public function shr_cal_validYMD(year, month, day, calendar)

Arguments

Type IntentOptional Attributes Name
integer(kind=SHR_KIND_IN), intent(in) :: year
integer(kind=SHR_KIND_IN), intent(in) :: month
integer(kind=SHR_KIND_IN), intent(in) :: day
character(len=*), intent(in) :: calendar

Return Value logical

public function shr_cal_validHMS(hr, min, sec)

Arguments

Type IntentOptional Attributes Name
integer(kind=SHR_KIND_IN), intent(in) :: hr
integer(kind=SHR_KIND_IN), intent(in) :: min
integer(kind=SHR_KIND_IN), intent(in) :: sec

Return Value logical


Subroutines

public subroutine shr_cal_ymd2julian(year, month, day, sec, jday, calendar)

Arguments

Type IntentOptional Attributes Name
integer(kind=SHR_KIND_IN), intent(in) :: year
integer(kind=SHR_KIND_IN), intent(in) :: month
integer(kind=SHR_KIND_IN), intent(in) :: day
integer(kind=SHR_KIND_IN), intent(in) :: sec
real(kind=SHR_KIND_R8), intent(out) :: jday
character(len=*), intent(in) :: calendar

public subroutine shr_cal_setDebug(level)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: level

public subroutine shr_cal_getDebug(level)

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: level

public subroutine shr_cal_ymdtod2string(date_str, yy, mm, dd, tod)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(out) :: date_str
integer(kind=shr_kind_in), intent(in) :: yy
integer(kind=shr_kind_in), intent(in), optional :: mm
integer(kind=shr_kind_in), intent(in), optional :: dd
integer(kind=shr_kind_in), intent(in), optional :: tod

public subroutine shr_cal_ymds2rday_offset(etime, rdays_offset, years_offset, months_offset, days_offset, seconds_offset)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Time), intent(in) :: etime
real(kind=SHR_KIND_R8), intent(out) :: rdays_offset
integer(kind=SHR_KIND_IN), intent(in), optional :: years_offset
integer(kind=SHR_KIND_IN), intent(in), optional :: months_offset
integer(kind=SHR_KIND_IN), intent(in), optional :: days_offset
integer(kind=SHR_KIND_IN), intent(in), optional :: seconds_offset