File indexing completed on 2024-12-17 18:30:58 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
bf7adc9faf Jean*0001 #include "CPP_EEOPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE BAR_CHECK( barrierId, myThid )
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 IMPLICIT NONE
0020
0021 #include "SIZE.h"
0022 #include "EEPARAMS.h"
0023
0024 INTEGER barStatus(nSx,nSy)
0025 COMMON / BAR_CHECH_SYNCHRO / barStatus
0026
0027
0028
0029
0030
0031 INTEGER barrierId
0032 INTEGER myThid
0033
0034
0035
0036
0037
0038 INTEGER bi,bj
0039 CHARACTER*(MAX_LEN_MBUF) msgBuf
0040 LOGICAL flag
0041
0042
0043 IF ( barrierId .NE. 0 ) THEN
0044
0045
0046
0047 DO bj = myByLo(myThid), myByHi(myThid)
0048 DO bi = myBxLo(myThid), myBxHi(myThid)
0049 barStatus(bi,bj) = barrierId
0050 ENDDO
0051 ENDDO
0052
0053 _BARRIER
0054
0055 flag = .FALSE.
0056 DO bj = 1,nSy
0057 DO bi = 1,nSx
0058 flag = flag .OR. (barStatus(bi,bj).NE.barrierId)
0059 ENDDO
0060 ENDDO
0061 IF ( flag ) THEN
0062 WRITE(msgBuf,'(A,I4,A,I8)') 'BAR_CHECK: thread', myThid,
0063 & ' out of Sync when reaching barrierId=', barrierId
ccd6efaf81 Jean*0064 CALL PRINT_ERROR( msgBuf, myThid )
0065 #ifndef DISABLE_WRITE_TO_UNIT_ZERO
bf7adc9faf Jean*0066 WRITE(0,*) myThid, barrierId, 'barStatus=', barStatus
ccd6efaf81 Jean*0067 #endif
0068 STOP 'ABNORMAL END: S/R BAR_CHECK: OUT OF SYNC'
bf7adc9faf Jean*0069 ENDIF
0070
0071 ENDIF
0072
0073
0074 _BARRIER
0075
0076 RETURN
0077 END