⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esmf_alarmmod.f

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 F
字号:
! $Id: ESMF_AlarmMod.F,v 1.1.6.1 2002/04/24 03:25:45 erik Exp $      module ESMF_AlarmMod!===============================================================================!BOP! !MODULE: ESMF_AlarmMod!! !USES:      use ESMF_TimeMgrMod!! !PUBLIC TYPES:      implicit none      type ESMF_Alarm        private        sequence        integer(8) type        integer(8) offset        integer(8) period        integer(8) alarmOn       end type ESMF_Alarm!! !PUBLIC MEMBER FUNCTIONS:!     ESMF_AlarmInitPeriodic     !     ESMF_AlarmInitMonthly!     ESMF_AlarmInitYearly!     ESMF_AlarmGetType!     ESMF_AlarmSet!     ESMF_AlarmIsOn!! !PUBLIC DATA MEMBERS:      integer, parameter :: ESMF_ALARM_PERIODIC=0,     &                      ESMF_ALARM_MONTHLY=1,     &                      ESMF_ALARM_YEARLY=2!! !DESCRIPTION:! Alarms are part of the Modeling Framework Time Management module ! ({\tt ESMF\_TimeMgmt}).  An alarm object can be activated at periodic, monthly, or ! yearly intervals. !!EOP!===============================================================================	contains!===============================================================================!BOP!! !IROUTINE:  ESMF_AlarmInitPeriodic!! !INTERFACE:      function ESMF_AlarmInitPeriodic(period, offset, rc)    ! !RETURN VALUE:      type(ESMF_Alarm) :: ESMF_AlarmInitPeriodic   ! returned alarm object    ! !PARAMETERS:      type(ESMF_Time), intent(in) :: period        ! time period      type(ESMF_Time), intent(in) :: offset        ! time offset      integer, intent(out), optional :: rc         ! return code ! !DESCRIPTION:!     Returns a new alarm.  !!EOP!-------------------------------------------------------------------------------      integer stub      call ESMC_AlarmInitPeriodic(ESMF_AlarmInitPeriodic, period,      &  offset, stub)      if (present(rc)) rc = stub      end function ESMF_AlarmInitPeriodic!===============================================================================!BOP!! !IROUTINE:  ESMF_AlarmInitMonthly!! !INTERFACE:      function ESMF_AlarmInitMonthly(rc)    ! !RETURN VALUE:      type(ESMF_Alarm) :: ESMF_AlarmInitMonthly     ! returned alarm object    ! !PARAMETERS:      integer, intent(out), optional :: rc          ! return code! !DESCRIPTION:!     Returns a new alarm object.  !!EOP!-------------------------------------------------------------------------------      integer stub      call ESMC_AlarmInitMonthly(ESMF_AlarmInitMonthly, stub)      if (present(rc)) rc = stub      end function ESMF_AlarmInitMonthly!===============================================================================!BOP!! !IROUTINE:  ESMF_AlarmInitYearly!! !INTERFACE:      function ESMF_AlarmInitYearly(rc)! !RETURN VALUE:          type(ESMF_Alarm) :: ESMF_AlarmInitYearly      ! returned alarm object    ! !PARAMETERS:      integer, intent(out), optional :: rc          ! return code! !DESCRIPTION:!     Returns a new alarm object.  !!EOP!-------------------------------------------------------------------------------      integer stub      call ESMC_AlarmInitYearly(ESMF_AlarmInitYearly, stub)      if (present(rc)) rc = stub      end function ESMF_AlarmInitYearly!===============================================================================!BOP!! !IROUTINE:  ESMF_AlarmGetType!! !INTERFACE:      function ESMF_AlarmGetType(this, rc)    ! !RETURN VALUE:      integer :: ESMF_AlarmGetType                   ! returned type! !PARAMETERS:      type(ESMF_Alarm), intent(in) :: this           ! alarm object          integer, intent(out), optional :: rc           ! return code! !DESCRIPTION:!     Returns true if the alarm is on, false if not.!!EOP!-------------------------------------------------------------------------------      integer stub      call ESMC_AlarmGetType(this, ESMF_AlarmGetType, stub)      if (present(rc)) rc = stub      end function ESMF_AlarmGetType!===============================================================================!BOP!! !IROUTINE:  ESMF_AlarmIsOn!! !INTERFACE:      function ESMF_AlarmIsOn(this, timeMgr, rc)    ! !RETURN VALUE:      logical :: ESMF_AlarmIsOn                      ! true if alarm is on! !PARAMETERS:      type(ESMF_Alarm), intent(in) :: this           ! alarm object          type(ESMF_TimeMgr), intent(in) :: timeMgr      ! time manager      integer, intent(out), optional :: rc           ! return code! !DESCRIPTION:!     Returns true if the alarm is on, false if not.!!EOP!-------------------------------------------------------------------------------      integer stub      call ESMC_AlarmIsOn(this, timeMgr, ESMF_AlarmIsOn, stub)      if (present(rc)) rc = stub      end function ESMF_AlarmIsOn!===============================================================================!BOP!! !IROUTINE:  ESMF_AlarmSet!! !INTERFACE:      subroutine ESMF_AlarmSet(this, alarmOn, rc)    ! !PARAMETERS:      type(ESMF_Alarm), intent(inout) :: this        ! alarm object          logical, intent(in) :: alarmOn                 ! true if alarm on      integer, intent(out), optional :: rc           ! return code! !DESCRIPTION:!     Sets whether the alarm is on.!!EOP!-------------------------------------------------------------------------------      integer stub      call ESMC_AlarmSet(this, alarmOn, stub)      if (present(rc)) rc = stub      end subroutine ESMF_AlarmSet!===============================================================================	end module

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -