Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ESMF_TimeInterval), | intent(in) | :: | timeinterval | |||
character(len=*), | intent(in), | optional | :: | options | ||
integer, | intent(out), | optional | :: | rc |
subroutine ESMF_TimeIntervalPrint(timeinterval, options, rc) ! !ARGUMENTS: type(ESMF_TimeInterval), intent(in) :: timeinterval character (len=*), intent(in), optional :: options integer, intent(out), optional :: rc ! ! !DESCRIPTION: ! Prints out the contents of an {\tt ESMF\_TimeInterval} 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[timeinterval] ! Time interval to be printed out. ! \item[{[options]}] ! Print options. If none specified, prints all {\tt timeinterval} ! property values. \\ ! "string" - prints {\tt timeinterval}'s value in ISO 8601 format ! for all units through seconds. For any non-zero ! fractional seconds, prints in integer rational ! fraction form n/d. Format is PyYmMdDThHmMs[:n/d]S, ! where [:n/d] is the integer numerator and denominator ! of the fractional seconds value, if present. ! See ~\cite{ISO} and ~\cite{ISOnotes}. See also method ! {\tt ESMF\_TimeIntervalGet(..., timeString= , ...)} \\ ! "string isofrac" - prints {\tt timeinterval}'s value in strict ! ISO 8601 format for all units, including any fractional ! seconds part. Format is PyYmMdDThHmMs[.f]S, where [.f] ! represents fractional seconds in decimal form, ! if present. See ~\cite{ISO} and ~\cite{ISOnotes}. ! See also method {\tt ESMF\_TimeIntervalGet(..., timeStringISOFrac= , ...)} \\ ! \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_SHALLOW(ESMF_TimeIntervalGetInit,timeinterval,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_TimeIntervalPrint(timeinterval, 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_TimeIntervalPrint