seq_timemgr_mod Module



Variables

Type Visibility Attributes Name Initial
integer(kind=SHR_KIND_IN), public :: seq_timemgr_histavg_type
integer(kind=SHR_KIND_IN), public, parameter :: seq_timemgr_type_other = -1
integer(kind=SHR_KIND_IN), public, parameter :: seq_timemgr_type_never = 1
integer(kind=SHR_KIND_IN), public, parameter :: seq_timemgr_type_nhour = 2
integer(kind=SHR_KIND_IN), public, parameter :: seq_timemgr_type_nday = 3
integer(kind=SHR_KIND_IN), public, parameter :: seq_timemgr_type_nmonth = 4
integer(kind=SHR_KIND_IN), public, parameter :: seq_timemgr_type_nyear = 5
character(len=SHR_KIND_CS), public, parameter :: seq_timemgr_noleap = shr_cal_noleap
character(len=SHR_KIND_CS), public, parameter :: seq_timemgr_gregorian = shr_cal_gregorian
character(len=*), public, parameter :: seq_timemgr_clock_drv = 'seq_timemgr_clock_drv'
character(len=*), public, parameter :: seq_timemgr_clock_atm = 'seq_timemgr_clock_atm'
character(len=*), public, parameter :: seq_timemgr_clock_lnd = 'seq_timemgr_clock_lnd'
character(len=*), public, parameter :: seq_timemgr_clock_ocn = 'seq_timemgr_clock_ocn'
character(len=*), public, parameter :: seq_timemgr_clock_ice = 'seq_timemgr_clock_ice'
character(len=*), public, parameter :: seq_timemgr_clock_glc = 'seq_timemgr_clock_glc'
character(len=*), public, parameter :: seq_timemgr_clock_wav = 'seq_timemgr_clock_wav'
character(len=*), public, parameter :: seq_timemgr_clock_rof = 'seq_timemgr_clock_rof'
character(len=*), public, parameter :: seq_timemgr_clock_esp = 'seq_timemgr_clock_esp'
character(len=*), public, parameter :: seq_timemgr_alarm_restart = 'seq_timemgr_alarm_restart '
character(len=*), public, parameter :: seq_timemgr_alarm_run = 'seq_timemgr_alarm_run     '
character(len=*), public, parameter :: seq_timemgr_alarm_stop = 'seq_timemgr_alarm_stop    '
character(len=*), public, parameter :: seq_timemgr_alarm_datestop = 'seq_timemgr_alarm_datestop'
character(len=*), public, parameter :: seq_timemgr_alarm_history = 'seq_timemgr_alarm_history '
character(len=*), public, parameter :: seq_timemgr_alarm_atmrun = 'seq_timemgr_alarm_atmrun  '
character(len=*), public, parameter :: seq_timemgr_alarm_lndrun = 'seq_timemgr_alarm_lndrun  '
character(len=*), public, parameter :: seq_timemgr_alarm_ocnrun = 'seq_timemgr_alarm_ocnrun  '
character(len=*), public, parameter :: seq_timemgr_alarm_icerun = 'seq_timemgr_alarm_icerun  '
character(len=*), public, parameter :: seq_timemgr_alarm_glcrun = 'seq_timemgr_alarm_glcrun  '
character(len=*), public, parameter :: seq_timemgr_alarm_glcrun_avg = 'seq_timemgr_alarm_glcrun_avg'
character(len=*), public, parameter :: seq_timemgr_alarm_ocnnext = 'seq_timemgr_alarm_ocnnext '
character(len=*), public, parameter :: seq_timemgr_alarm_tprof = 'seq_timemgr_alarm_tprof   '
character(len=*), public, parameter :: seq_timemgr_alarm_histavg = 'seq_timemgr_alarm_histavg '
character(len=*), public, parameter :: seq_timemgr_alarm_rofrun = 'seq_timemgr_alarm_rofrun  '
character(len=*), public, parameter :: seq_timemgr_alarm_wavrun = 'seq_timemgr_alarm_wavrun  '
character(len=*), public, parameter :: seq_timemgr_alarm_esprun = 'seq_timemgr_alarm_esprun  '
character(len=*), public, parameter :: seq_timemgr_alarm_pause = 'seq_timemgr_alarm_pause   '
character(len=*), public, parameter :: seq_timemgr_alarm_barrier = 'seq_timemgr_alarm_barrier '

Derived Types

type, public ::  seq_timemgr_type


Functions

public function seq_timemgr_alarmIsOn(EClock, alarmname)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: EClock
character(len=*), intent(in) :: alarmname

Return Value logical

public function seq_timemgr_restartAlarmIsOn(EClock)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: EClock

Return Value logical

public function seq_timemgr_stopAlarmIsOn(EClock)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: EClock

Return Value logical

public function seq_timemgr_historyAlarmIsOn(EClock)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: EClock

Return Value logical

public function seq_timemgr_pauseAlarmIsOn(EClock)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: EClock

Return Value logical

public function seq_timemgr_pause_active()

Arguments

None

Return Value logical

public function seq_timemgr_pause_component_index(component_name)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: component_name

Return Value integer

public function seq_timemgr_pause_component_active(component_index)

Arguments

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

Return Value logical

public function seq_timemgr_data_assimilation_active(component_ntype)

Arguments

Type IntentOptional Attributes Name
character(len=3), intent(in) :: component_ntype

Return Value logical

public function seq_timemgr_EClockDateInSync(Eclock, ymd, tod, prev)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: Eclock
integer, intent(in) :: ymd
integer, intent(in) :: tod
logical, intent(in), optional :: prev

Return Value logical


Subroutines

public subroutine seq_timemgr_clockInit(SyncClock, nmlfile, restart, restart_file, pioid, mpicom, EClock_drv, EClock_atm, EClock_lnd, EClock_ocn, EClock_ice, EClock_glc, EClock_rof, EClock_wav, EClock_esp)

Arguments

Type IntentOptional Attributes Name
type(seq_timemgr_type), intent(inout) :: SyncClock
character(len=*), intent(in) :: nmlfile
logical, intent(in) :: restart
character(len=*), intent(in) :: restart_file
type(File_desc_t) :: pioid
integer, intent(in) :: mpicom
type(ESMF_Clock), intent(in), target :: EClock_drv
type(ESMF_Clock), intent(in), target :: EClock_atm
type(ESMF_Clock), intent(in), target :: EClock_lnd
type(ESMF_Clock), intent(in), target :: EClock_ocn
type(ESMF_Clock), intent(in), target :: EClock_ice
type(ESMF_Clock), intent(in), target :: EClock_glc
type(ESMF_Clock), intent(in), target :: EClock_rof
type(ESMF_Clock), intent(in), target :: EClock_wav
type(ESMF_Clock), intent(in), target :: EClock_esp

public subroutine seq_timemgr_EClockGetData(EClock, curr_yr, curr_mon, curr_day, curr_ymd, curr_tod, prev_ymd, prev_tod, start_ymd, start_tod, StepNo, ref_ymd, ref_tod, stop_ymd, stop_tod, dtime, ECurrTime, alarmcount, curr_cday, next_cday, curr_time, prev_time, calendar)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: EClock
integer(kind=SHR_KIND_IN), intent(out), optional :: curr_yr
integer(kind=SHR_KIND_IN), intent(out), optional :: curr_mon
integer(kind=SHR_KIND_IN), intent(out), optional :: curr_day
integer(kind=SHR_KIND_IN), intent(out), optional :: curr_ymd
integer(kind=SHR_KIND_IN), intent(out), optional :: curr_tod
integer(kind=SHR_KIND_IN), intent(out), optional :: prev_ymd
integer(kind=SHR_KIND_IN), intent(out), optional :: prev_tod
integer(kind=SHR_KIND_IN), intent(out), optional :: start_ymd
integer(kind=SHR_KIND_IN), intent(out), optional :: start_tod
integer(kind=SHR_KIND_IN), intent(out), optional :: StepNo
integer(kind=SHR_KIND_IN), intent(out), optional :: ref_ymd
integer(kind=SHR_KIND_IN), intent(out), optional :: ref_tod
integer(kind=SHR_KIND_IN), intent(out), optional :: stop_ymd
integer(kind=SHR_KIND_IN), intent(out), optional :: stop_tod
integer(kind=SHR_KIND_IN), intent(out), optional :: dtime
type(ESMF_Time), intent(out), optional :: ECurrTime
integer(kind=SHR_KIND_IN), intent(out), optional :: alarmcount
real(kind=SHR_KIND_R8), intent(out), optional :: curr_cday
real(kind=SHR_KIND_R8), intent(out), optional :: next_cday
real(kind=SHR_KIND_R8), intent(out), optional :: curr_time
real(kind=SHR_KIND_R8), intent(out), optional :: prev_time
character(len=*), intent(out), optional :: calendar

public subroutine seq_timemgr_clockAdvance(SyncClock, force_stop, force_stop_ymd, force_stop_tod)

Arguments

Type IntentOptional Attributes Name
type(seq_timemgr_type), intent(inout) :: SyncClock
logical, intent(in), optional :: force_stop
integer, intent(in), optional :: force_stop_ymd
integer, intent(in), optional :: force_stop_tod

public subroutine seq_timemgr_AlarmSetOn(EClock, alarmname)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(inout) :: EClock
character(len=*), intent(in), optional :: alarmname

public subroutine seq_timemgr_AlarmSetOff(EClock, alarmname)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(inout) :: EClock
character(len=*), intent(in), optional :: alarmname

public subroutine seq_timemgr_ETimeInit(ETime, ymd, tod, desc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Time), intent(inout) :: ETime
integer, intent(in) :: ymd
integer, intent(in), optional :: tod
character(len=*), intent(in), optional :: desc

public subroutine seq_timemgr_ETimeGet(ETime, offset, ymd, tod)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Time), intent(in) :: ETime
integer, intent(in), optional :: offset
integer, intent(out), optional :: ymd
integer, intent(out), optional :: tod

public subroutine seq_timemgr_clockPrint(SyncClock)

Arguments

Type IntentOptional Attributes Name
type(seq_timemgr_type), intent(in) :: SyncClock