ESMF_AlarmPrint Subroutine

public subroutine ESMF_AlarmPrint(alarm, options, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Alarm), intent(in) :: alarm
character(len=*), intent(in), optional :: options
integer, intent(out), optional :: rc

Source Code

      subroutine ESMF_AlarmPrint(alarm, options, rc)

! !ARGUMENTS:
      type(ESMF_Alarm),  intent(in)            :: alarm
      character (len=*), intent(in),  optional :: options
      integer,           intent(out), optional :: rc

!
! !DESCRIPTION:
!     Prints out an {\tt ESMF\_Alarm}'s properties to {\tt stdout}, in support
!     of testing and debugging.  The options control the type of information
!     and level of detail. \\
!
!     The arguments are:
!     \begin{description}
!     \item[alarm]
!          {\tt ESMF\_Alarm} to be printed out.
!     \item[{[options]}]
!          Print options. If none specified, prints all {\tt alarm} property values.\\
!          "clock"        - print the associated clock's name. \\
!          "enabled"      - print the alarm's ability to ring. \\
!          "name"         - print the alarm's name. \\
!          "prevRingTime" - print the alarm's previous ring time. \\
!          "ringBegin"    - print time when the alarm actually begins to ring.\\
!          "ringDuration" - print how long this alarm is to remain ringing. \\
!          "ringEnd"      - print time when the alarm actually ends ringing.\\
!          "ringing"                - print the alarm's current ringing state.\\
!          "ringingOnPrevTimeStep"  - print whether the alarm was ringing
!                                     immediately after the previous clock
!                                     time step. \\
!          "ringInterval" - print the alarm's periodic ring interval. \\
!          "ringTime"     - print the alarm's next time to ring. \\
!          "ringTimeStepCount" - print how long this alarm is to remain
!                                ringing, in terms of a number of clock time
!                                steps. \\
!          "refTime"      - print the alarm's interval reference (base) time. \\
!          "sticky"       - print whether the alarm must be turned off
!                           manually. \\
!          "stopTime"     - print when alarm intervals end. \\
!          "timeStepRingingCount"   - print the number of time steps the
!                                     alarm has been ringing thus far. \\
!     \item[{[rc]}]
!          Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!     \end{description}
!
!EOP
! !REQUIREMENTS:
!     TMGn.n.n
      integer :: localrc                        ! local return code

      ! Assume failure until success
      if (present(rc)) rc = ESMF_RC_NOT_IMPL
      localrc = ESMF_RC_NOT_IMPL

      ! check input
      ESMF_INIT_CHECK_DEEP(ESMF_AlarmGetInit,alarm,rc)

      ! invoke C to C++ entry point
      call ESMF_UtilIOUnitFlush (ESMF_UtilIOStdout, rc=localrc)
      if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, &
        ESMF_CONTEXT, rcToReturn=rc)) return

      call c_ESMC_AlarmPrint(alarm, options, localrc)
      if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, &
        ESMF_CONTEXT, rcToReturn=rc)) return

      ! Return success
      if (present(rc)) rc = ESMF_SUCCESS
      end subroutine ESMF_AlarmPrint