/[MITgcm]/MITgcm/eesupp/src/bar2.F
ViewVC logotype

Annotation of /MITgcm/eesupp/src/bar2.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Tue May 18 17:39:21 1999 UTC (25 years, 1 month ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint28, checkpoint29, checkpoint22, checkpoint23, checkpoint24, checkpoint25, checkpoint27, branch-atmos-merge-freeze, branch-atmos-merge-start, checkpoint26, branch-atmos-merge-shapiro, checkpoint33, checkpoint32, checkpoint31, checkpoint30, checkpoint34, branch-atmos-merge-zonalfilt, branch-atmos-merge-phase5, branch-atmos-merge-phase4, branch-atmos-merge-phase7, branch-atmos-merge-phase6, branch-atmos-merge-phase1, branch-atmos-merge-phase3, branch-atmos-merge-phase2
Branch point for: branch-atmos-merge
Changes since 1.1: +2 -0 lines
Added IMPLICIT NONE where missing and changed formatting from 'I' to 'I5'.

1 cnh 1.1 #include "CPP_EEOPTIONS.h"
2    
3     SUBROUTINE BAR2_INIT( myThid )
4 adcroft 1.2 IMPLICIT NONE
5 cnh 1.1 C
6     #include "SIZE.h"
7     #include "EEPARAMS.h"
8     #include "EESUPPORT.h"
9     #include "BAR2.h"
10     C
11     INTEGER myThid
12     INTEGER I
13     C
14     DO I = 1, lShare4
15     BAR2_level(I,myThid) = 0
16     BAR2_barrierCount(I,myThid) = 0
17     BAR2_spinsCount(I,myThid) = 0
18     BAR2_spinsCount(I,myThid) = 0
19     BAR2_spinsMax (I,myThid) = 0
20     BAR2_spinsMin (I,myThid) = 1000000000
21     ENDDO
22     C
23     bar2CollectStatistics = .TRUE.
24     C
25     RETURN
26     END
27     SUBROUTINE BAR2( myThid )
28 adcroft 1.2 IMPLICIT NONE
29 cnh 1.1 C
30     #include "SIZE.h"
31     #include "EEPARAMS.h"
32     #include "EESUPPORT.h"
33     #include "BAR2.h"
34     C
35     INTEGER myThid
36     C
37     INTEGER myLevel
38     INTEGER nDone
39     INTEGER I
40     INTEGER spinCount
41     C
42     spinCount = 0
43     C
44     IF ( myThid .NE. 1 ) THEN
45    
46     BAR2_level(1,myThid) = BAR2_level(1,myThid)+1
47     myLevel = BAR2_level(1,myThid)
48     10 CONTINUE
49     IF ( BAR2_level(1,1) .EQ. myLevel ) GOTO 11
50     spinCount = spinCount+1
51     CALL FOOL_THE_COMPILER( BAR2_level )
52     GOTO 10
53     11 CONTINUE
54    
55     ELSE
56    
57     myLevel = BAR2_level(1,1)
58     12 CONTINUE
59     CALL FOOL_THE_COMPILER( BAR2_level )
60     nDone = 1
61     DO I = 2, nThreads
62     IF ( BAR2_level(1,1) .EQ. BAR2_level(1,I)-1 ) nDone = nDone+1
63     ENDDO
64     spinCount = spinCount+1
65     IF ( nDone .LT. nThreads ) GOTO 12
66    
67     BAR2_level(1,1) = myLevel+1
68    
69     ENDIF
70     C
71     BAR2_barrierCount(1,myThid) = BAR2_barrierCount(1,myThid)+1
72     BAR2_spinsCount(1,myThid) = BAR2_spinsCount(1,myThid)+spinCount
73     BAR2_spinsMax (1,myThid) = MAX(BAR2_spinsMax(1,myThid),spinCount)
74     BAR2_spinsMin (1,myThid) = MIN(BAR2_spinsMin(1,myThid),spinCount)
75     C
76     RETURN
77     END
78    

  ViewVC Help
Powered by ViewVC 1.1.22