47 |
& ( R_low(I,J,bi,bj) .LT. R_low(I,J-1,bi,bj) ) ) THEN |
& ( R_low(I,J,bi,bj) .LT. R_low(I,J-1,bi,bj) ) ) THEN |
48 |
ichanged = ichanged + 1 |
ichanged = ichanged + 1 |
49 |
R_low(I,J,bi,bj) = R_low(I,J-1,bi,bj) |
R_low(I,J,bi,bj) = R_low(I,J-1,bi,bj) |
50 |
WRITE(msgBuf,'(2A,(1X,4I6))') |
WRITE(msgBuf,'(2A,2I6,2I4)') |
51 |
& 'S/R OBCS_CHECK_DEPTHS: fixed topography at ', |
& 'OBCS_CHECK_DEPTHS: fixed topography at ', |
52 |
& '(i,j,bi,bj) = ', I, J, bi, bj |
& '(i,j,bi,bj)=', I, J, bi, bj |
53 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
54 |
& SQUEEZE_RIGHT, myThid) |
& SQUEEZE_RIGHT, myThid) |
55 |
ENDIF |
ENDIF |
62 |
& ( R_low(I,J,bi,bj) .LT. R_low(I,J+1,bi,bj) ) ) THEN |
& ( R_low(I,J,bi,bj) .LT. R_low(I,J+1,bi,bj) ) ) THEN |
63 |
ichanged = ichanged + 1 |
ichanged = ichanged + 1 |
64 |
R_low(I,J,bi,bj) = R_low(I,J+1,bi,bj) |
R_low(I,J,bi,bj) = R_low(I,J+1,bi,bj) |
65 |
WRITE(msgBuf,'(2A,(1X,4I6))') |
WRITE(msgBuf,'(2A,2I6,2I4)') |
66 |
& 'S/R OBCS_CHECK_DEPTHS: fixed topography at ', |
& 'OBCS_CHECK_DEPTHS: fixed topography at ', |
67 |
& '(i,j,bi,bj) = ', I, J, bi, bj |
& '(i,j,bi,bj)=', I, J, bi, bj |
68 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
69 |
& SQUEEZE_RIGHT, myThid) |
& SQUEEZE_RIGHT, myThid) |
70 |
ENDIF |
ENDIF |
77 |
& ( R_low(I,J,bi,bj) .LT. R_low(I-1,J,bi,bj) ) ) THEN |
& ( R_low(I,J,bi,bj) .LT. R_low(I-1,J,bi,bj) ) ) THEN |
78 |
ichanged = ichanged + 1 |
ichanged = ichanged + 1 |
79 |
R_low(I,J,bi,bj) = R_low(I-1,J,bi,bj) |
R_low(I,J,bi,bj) = R_low(I-1,J,bi,bj) |
80 |
WRITE(msgBuf,'(2A,(1X,4I6))') |
WRITE(msgBuf,'(2A,2I6,2I4)') |
81 |
& 'S/R OBCS_CHECK_DEPTHS: fixed topography at ', |
& 'OBCS_CHECK_DEPTHS: fixed topography at ', |
82 |
& '(i,j,bi,bj) = ', I, J, bi, bj |
& '(i,j,bi,bj)=', I, J, bi, bj |
83 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
84 |
& SQUEEZE_RIGHT, myThid) |
& SQUEEZE_RIGHT, myThid) |
85 |
ENDIF |
ENDIF |
93 |
& ( R_low(I,J,bi,bj) .LT. R_low(I+1,J,bi,bj) ) ) THEN |
& ( R_low(I,J,bi,bj) .LT. R_low(I+1,J,bi,bj) ) ) THEN |
94 |
ichanged = ichanged + 1 |
ichanged = ichanged + 1 |
95 |
R_low(I,J,bi,bj) = R_low(I+1,J,bi,bj) |
R_low(I,J,bi,bj) = R_low(I+1,J,bi,bj) |
96 |
WRITE(msgBuf,'(2A,(1X,4I6))') |
WRITE(msgBuf,'(2A,2I6,2I4)') |
97 |
& 'S/R OBCS_CHECK_DEPTHS: fixed topography at ', |
& 'OBCS_CHECK_DEPTHS: fixed topography at ', |
98 |
& '(i,j,bi,bj) = ', I, J, bi, bj |
& '(i,j,bi,bj)=', I, J, bi, bj |
99 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
100 |
& SQUEEZE_RIGHT, myThid) |
& SQUEEZE_RIGHT, myThid) |
101 |
ENDIF |
ENDIF |
108 |
C-- some diagnostics to stdout |
C-- some diagnostics to stdout |
109 |
CALL GLOBAL_SUM_INT( ichanged, myThid ) |
CALL GLOBAL_SUM_INT( ichanged, myThid ) |
110 |
IF ( ichanged .GT. 0 ) THEN |
IF ( ichanged .GT. 0 ) THEN |
111 |
WRITE(msgBuf,'(A,I7,A,A)') |
_BEGIN_MASTER(myThid) |
112 |
& 'OBCS message: corrected ', ichanged, |
WRITE(msgBuf,'(2A,I7,A)') 'OBCS_CHECK_DEPTHS: ', |
113 |
& ' instances of problematic topography gradients', |
& 'Topography gradients normal to open boundaries:' |
|
& ' normal to open boundaries' |
|
114 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
115 |
& SQUEEZE_RIGHT, myThid) |
& SQUEEZE_RIGHT, myThid ) |
116 |
|
WRITE(msgBuf,'(2A,I7,A)') 'OBCS_CHECK_DEPTHS: ', |
117 |
|
& '==> corrected ', ichanged,' problematic grid-points' |
118 |
|
c WRITE(msgBuf,'(A,I7,A,A)') |
119 |
|
c & 'OBCS message: corrected ', ichanged, |
120 |
|
c & ' instances of problematic topography gradients', |
121 |
|
c & ' normal to open boundaries' |
122 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
123 |
|
& SQUEEZE_RIGHT, myThid ) |
124 |
|
_END_MASTER(myThid) |
125 |
ENDIF |
ENDIF |
126 |
|
|
127 |
C endif (OBCSfixTopo) |
C endif (OBCSfixTopo) |