File indexing completed on 2018-11-22 06:09:47 UTC
view on githubraw file Latest commit 6591b3fc on 2018-11-15 22:22:45 UTC
618f34e4a1 Jean*0001 #include "CPP_EEOPTIONS.h"
                0002 
                0003 
                0004 
                0005 
                0006 
a79317be23 Jean*0007       SUBROUTINE ALL_PROC_DIE( myThArg )
618f34e4a1 Jean*0008 
                0009 
                0010 
                0011 
                0012 
                0013 
                0014 
                0015 
                0016 
                0017 
                0018 
                0019 
                0020 
                0021       IMPLICIT NONE
                0022 
                0023 
                0024 #include "SIZE.h"
                0025 #include "EEPARAMS.h"
                0026 #include "EESUPPORT.h"
                0027 
                0028 
a79317be23 Jean*0029 
                0030 
                0031       INTEGER myThArg
618f34e4a1 Jean*0032 
                0033 
                0034 
                0035       INTEGER  ILNBLNK
                0036       EXTERNAL ILNBLNK
                0037 
                0038 
                0039 
a79317be23 Jean*0040 
618f34e4a1 Jean*0041       CHARACTER*(MAX_LEN_MBUF) msgBuf
a79317be23 Jean*0042       INTEGER myThid
618f34e4a1 Jean*0043 #ifdef ALLOW_USE_MPI
                0044 
                0045       INTEGER mpiRC
                0046 #endif /* ALLOW_USE_MPI */
                0047 
a79317be23 Jean*0048       myThid = MAX(myThArg,1)
618f34e4a1 Jean*0049 
                0050       WRITE(msgBuf,'(A)') 'S/R ALL_PROC_DIE: ending the run'
                0051       CALL PRINT_ERROR( msgBuf, myThid )
                0052 
a79317be23 Jean*0053       _BEGIN_MASTER(myThid)
                0054 
618f34e4a1 Jean*0055 
                0056       eeEndError = .TRUE.
                0057       fatalError = .TRUE.
d44e11c489 Jean*0058 
                0059 
                0060       CALL MDS_FLUSH( errorMessageUnit, myThid )
                0061 
                0062       CALL MDS_FLUSH( standardMessageUnit, myThid )
                0063 
                0064 
618f34e4a1 Jean*0065 #ifdef ALLOW_USE_MPI
98fff6c8ad Jean*0066 
                0067 
                0068 
e0cd1908f4 Jean*0069 
                0070 
6591b3fcc3 Jean*0071        IF ( .NOT.( useCoupler .OR.
                0072      &             useNEST_PARENT .OR. useNEST_CHILD .OR.
                0073      &             useNest2W_parent .OR. useNest2W_child )
e0cd1908f4 Jean*0074      &    ) THEN
696c4221e9 Mart*0075 #ifdef ALLOW_OASIS
                0076          IF ( useOASIS ) CALL OASIS_ABORT
e048daeea5 Jean*0077 #endif /* ALLOW_OASIS */
618f34e4a1 Jean*0078          CALL MPI_FINALIZE  ( mpiRC )
                0079          IF ( mpiRC .NE. MPI_SUCCESS ) THEN
                0080           WRITE(msgBuf,'(A,I5)')
                0081      &     'S/R FIN_PROCS: MPI_FINALIZE return code', mpiRC
                0082           CALL PRINT_ERROR( msgBuf, myThid )
                0083          ENDIF
e0cd1908f4 Jean*0084        ENDIF
98fff6c8ad Jean*0085 
618f34e4a1 Jean*0086 #endif /* ALLOW_USE_MPI */
                0087 
a79317be23 Jean*0088 
                0089 
d44e11c489 Jean*0090 
a79317be23 Jean*0091 
98fff6c8ad Jean*0092 #ifdef ALLOW_USE_MPI
                0093 
                0094 
                0095 
a79317be23 Jean*0096 
98fff6c8ad Jean*0097 
                0098 #endif /* ALLOW_USE_MPI */
a79317be23 Jean*0099 
                0100       _END_MASTER(myThid)
                0101 
                0102       IF ( myThArg.GE.1 ) THEN
                0103         _BARRIER
                0104       ENDIF
                0105 
618f34e4a1 Jean*0106       RETURN
                0107       END