ESMF_IMErrS Function

public recursive function ESMF_IMErrS(isInit, line, file, method, rc) result(IMErrS)

Arguments

Type IntentOptional Attributes Name
integer(kind=ESMF_KIND_I8), intent(in) :: isInit
integer, intent(in), optional :: line
character(len=*), intent(in), optional :: file
character(len=*), intent(in), optional :: method
integer, intent(out), optional :: rc

Return Value logical


Source Code

recursive function ESMF_IMErrS(isInit, line, file, method, rc) result (IMErrS)
!
! !RETURN VALUE:
        logical                                         :: IMErrS
! !ARGUMENTS:
!       
        ESMF_INIT_TYPE, intent(in)              :: isInit
        integer, intent(in), optional                   :: line
        character(len=*), intent(in), optional          :: file
        character(len=*), intent(in), optional          :: method
        integer, intent(out),optional                   :: rc
        

! !DESCRIPTION:
!      This function returns a logical true for ESMF initialization
!      codes that indicate an error.  A predefined error message will
!      be added to the {\tt ESMF\_Log} along with
!      a user added {\tt line}, {\tt file} and {\tt method}.
!      Additionally, {\tt rc} will be set to an appropriate return code.
!
!      The arguments are:
!      \begin{description}
!       
!      \item [isInit]
!            Initialization code to check.
!      \item [{[line]}]
!            Integer source line number.  Expected to be set by
!            using the preprocessor macro {\tt \_\_LINE\_\_} macro.
!      \item [{[file]}]
!            User-provided source file name.
!      \item [{[method]}]
!            User-provided method string.
!      \item [{[rc]}]
!            If specified, put the return code into {\tt rc}.
!            This is not the return code for this function; it allows
!            the calling code to do an assignment of the error code
!            at the same time it is testing the value.
!            of the default Log.
!
!      \end{description}
!
!EOPI

    ! Initialize return code; assume routine not imlemented
    if (present(rc)) rc = ESMF_RC_NOT_IMPL

    IMErrS=ESMF_LogFoundError(ESMF_InitCheckShallow(isInit), &
                                     msg="Object not Initialized", &
                                     line=line, file=file, method=method, &
                                     rcToReturn=rc)

end function ESMF_IMErrS