ESMF_LogFinalize Subroutine

public subroutine ESMF_LogFinalize(rc)

Arguments

Type IntentOptional Attributes Name
integer, intent(out), optional :: rc

Calls

proc~~esmf_logfinalize~~CallsGraph proc~esmf_logfinalize ESMF_LogFinalize c_esmc_logfinalize c_esmc_logfinalize proc~esmf_logfinalize->c_esmc_logfinalize proc~esmf_logclose ESMF_LogClose proc~esmf_logfinalize->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logclose->proc~esmf_logflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logflush->proc~esmf_utiliounitflush

Called by

proc~~esmf_logfinalize~~CalledByGraph proc~esmf_logfinalize ESMF_LogFinalize proc~esmf_finalize ESMF_Finalize proc~esmf_finalize->proc~esmf_logfinalize proc~esmf_frameworkinternalinit ESMF_FrameworkInternalInit proc~esmf_frameworkinternalinit->proc~esmf_logfinalize

Source Code

      subroutine ESMF_LogFinalize(rc)
!
! !ARGUMENTS:
      integer, intent(out), optional  :: rc

! !DESCRIPTION:
!      This routine finalizes the global Log.  The default Log will be flushed
!      and closed.  All user logs will also be closed.
!
!      The arguments are:
!      \begin{description}
!
!      \item [{[rc]}]
!            Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!      \end{description}
!
!EOPI

        integer :: rc2,k
        type(ESMF_Log)                                    :: log

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

        ESMF_INIT_CHECK_SET_SHALLOW(ESMF_LogGetInit,ESMF_LogInit,log)

        ! Loop through all ESMF_LogTable(*) and close the files
        do k = 1,ESMF_LogTableCount
          log%logTableIndex = k
          call ESMF_LogClose(log, rc=rc)
        enddo

        call c_ESMC_LogFinalize(rc2)

end subroutine ESMF_LogFinalize