psmile_abort.F90

Go to the documentation of this file.
00001 !-----------------------------------------------------------------------
00002 ! Copyright 2006-2010, NEC Europe Ltd., London, UK.
00003 ! All rights reserved. Use is subject to OASIS4 license terms.
00004 !-----------------------------------------------------------------------
00005 !BOP
00006 !
00007 ! !ROUTINE: PSMILe_Abort
00008 !
00009 ! !INTERFACE:
00010 !
00011       subroutine psmile_abort
00012 !
00013 ! !USES:
00014 !
00015       use PSMILe_common, dummy_interface => psmile_abort
00016 
00017       implicit none
00018 !
00019 ! !LOCAL VARIABLES
00020 !
00021       integer :: ila_args(PSMILe_trans_Header_length)
00022       integer :: ierror
00023 
00024 #ifdef PRISM_with_MPI2
00025       logical :: finalized      
00026 #endif
00027 !
00028 ! !DESCRIPTION:
00029 !
00030 !     Best attempt to abort all tasks of the current PRISM application
00031 !     called from psmile internal routines
00032 !
00033 !
00034 ! !REVISION HISTORY:
00035 !
00036 !   Date      Programmer   Description
00037 ! ----------  ----------   -----------
00038 ! 01.12.03    H. Ritzdorf  created
00039 !
00040 !EOP
00041 !----------------------------------------------------------------------
00042 !
00043 !  $Id: psmile_abort.F90 2937 2011-02-03 10:18:38Z redler $
00044 !  $Autor$
00045 
00046    Character(len=len_cvs_string), save :: mycvs = 
00047       '$Id: psmile_abort.F90 2937 2011-02-03 10:18:38Z redler $'
00048 !
00049 !----------------------------------------------------------------------
00050 
00051       ierror = 0
00052 
00053 !
00054 ! 1st Send the header message to the transformer
00055 !
00056      ila_args(1) = PSMILe_trans_Abort
00057      ila_args(2) = global_rank
00058      ila_args(3) = 0
00059      ila_args(4) = Appl%sequence_number
00060      ila_args(5) = Appl%rank
00061 
00062      CALL MPI_Send(ila_args(1), PSMILe_trans_Header_length, MPI_Integer, &
00063                       PRISMdrv_root, 0, comm_trans, ierror)
00064 !rr  call psmile_trs_inform(ila_args, PRISMdrv_root, ierror)
00065 
00066 ! 2nd flush write buffer
00067 
00068       print *, trim(ch_id), ': psmile_abort called from application ', Appl%name
00069       call psmile_flushstd
00070 !
00071 ! 3rd shut down tasks
00072 !
00073 !     MPI_Abort is now called by the transformer
00074 !
00075 !     call MPI_Abort ( comm_global, 1, ierror )
00076 
00077       end subroutine psmile_abort

Generated on 18 Mar 2011 for Oasis4 by  doxygen 1.6.1