!=======================================================================
!
!BOP
!
! !MODULE: ice_exit - exit the model
!
! !DESCRIPTION:
!
! Exit the model.
!
! !REVISION HISTORY:
! SVN:$Id: ice_exit.F90 82 2007-10-02 15:44:25Z eclare $
!
! authors William H. Lipscomb (LANL)
! Elizabeth C. Hunke (LANL)
! 2006 ECH: separated serial and mpi functionality
!
! !INTERFACE:
!
module ice_exit 39,1
!
! !USES:
!
use ice_kinds_mod
!
!EOP
!
implicit none
!=======================================================================
contains
!=======================================================================
!BOP
!
! !ROUTINE: abort_ice - abort the model
!
! !INTERFACE:
!
subroutine abort_ice(error_message) 190,6
!
! !DESCRIPTION:
!
! This routine aborts the ice model and prints an error message.
!
! !REVISION HISTORY:
!
! same as module
!
! !USES:
!
use ice_fileunits
use ice_communicate
#ifdef CCSMCOUPLED
use shr_sys_mod
#endif
include 'mpif.h' ! MPI Fortran include file
!
!
! !INPUT/OUTPUT PARAMETERS:
!
character (len=*), intent(in) :: error_message
!
!EOP
!
integer (int_kind) :: ierr ! MPI error flag
#ifdef CCSMCOUPLED
call shr_sys_abort
(error_message)
#else
call flush_fileunit
(nu_diag)
write (ice_stderr,*) error_message
call flush_fileunit
(ice_stderr)
call MPI_ABORT(MPI_COMM_WORLD, ierr)
stop
#endif
end subroutine abort_ice
!=======================================================================
!BOP
!
! !IROUTINE: end_run - ends run
!
! !INTERFACE:
!
subroutine end_run
!
! !DESCRIPTION:
!
! Ends run by calling MPI_FINALIZE.
!
! !REVISION HISTORY:
!
! author: ?
!
! !USES:
!
! !INPUT/OUTPUT PARAMETERS:
!
integer (int_kind) :: ierr ! MPI error flag
call MPI_FINALIZE(ierr)
!
!EOP
!
end subroutine end_run
!=======================================================================
end module ice_exit
!=======================================================================