48 |
C Assume: consecutive pair (x-dim,y-dim) of non-zero dimension |
C Assume: consecutive pair (x-dim,y-dim) of non-zero dimension |
49 |
errCnt = 0 |
errCnt = 0 |
50 |
nFacets = 0 |
nFacets = 0 |
51 |
|
C find last pair of non-zero dims |
52 |
DO j=1,W2_maxNbFacets |
DO j=1,W2_maxNbFacets |
53 |
fNx = facet_dims(2*j-1) |
fNx = facet_dims(2*j-1) |
54 |
fNy = facet_dims( 2*j ) |
fNy = facet_dims( 2*j ) |
55 |
IF ( nFacets.EQ.0 .AND. fNx*fNy.EQ.0 ) THEN |
C IF ( nFacets.EQ.0 .AND. fNx*fNy.EQ.0 ) THEN |
56 |
nFacets = j - 1 |
IF ( fNx.NE.0 .AND. fNy.NE.0 ) THEN |
57 |
IF ( fNx.NE.0 .OR. fNy.NE.0 ) THEN |
nFacets = j |
58 |
errCnt = errCnt + 1 |
ELSEIF ( fNx.NE.0 .OR. fNy.NE.0 ) THEN |
59 |
WRITE(msgBuf,'(A,I3,A,2I6)') |
errCnt = errCnt + 1 |
60 |
& 'dimsFacets: Expect pair of >0 dims : facet',j, |
WRITE(msgBuf,'(A,I3,A,2I6)') |
61 |
& ' :',fNx,fNy |
& 'dimsFacets: Expect pair of >0 dims : facet',j, |
62 |
CALL PRINT_ERROR( msgBuf, myThid ) |
& ' :',fNx,fNy |
63 |
ELSEIF ( j.EQ.1 ) THEN |
CALL PRINT_ERROR( msgBuf, myThid ) |
|
errCnt = errCnt + 1 |
|
|
WRITE(msgBuf,'(A)') |
|
|
& 'dimsFacets: 1rst pair of dimension is 0,0 (invalid)' |
|
|
CALL PRINT_ERROR( msgBuf, myThid ) |
|
|
ENDIF |
|
64 |
ENDIF |
ENDIF |
65 |
ENDDO |
ENDDO |
66 |
IF ( nFacets.EQ.0 ) nFacets = W2_maxNbFacets |
IF ( nFacets.EQ.0 ) THEN |
67 |
|
errCnt = errCnt + 1 |
68 |
|
WRITE(msgBuf,'(A)') |
69 |
|
& 'dimsFacets: All dimensions are zero!' |
70 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
71 |
|
ENDIF |
72 |
IF ( errCnt.GT.0 ) THEN |
IF ( errCnt.GT.0 ) THEN |
73 |
WRITE(msgBuf,'(A,I3,A)') 'W2_SET_GEN_FACETS: found', errCnt, |
WRITE(msgBuf,'(A,I3,A)') 'W2_SET_GEN_FACETS: found', errCnt, |
74 |
& ' errors in dimsFacets list' |
& ' errors in dimsFacets list' |
94 |
ENDDO |
ENDDO |
95 |
C- check sign |
C- check sign |
96 |
DO jj=1,2*nFacets |
DO jj=1,2*nFacets |
97 |
IF ( facet_dims(jj).LE.0 ) THEN |
IF ( facet_dims(jj).LT.0 ) THEN |
98 |
errCnt = errCnt + 1 |
errCnt = errCnt + 1 |
99 |
i=1+MOD(jj-1,2) |
i=1+MOD(jj-1,2) |
100 |
j = (jj+1)/2 |
j = (jj+1)/2 |