/[MITgcm]/MITgcm/model/src/load_grid_spacing.F
ViewVC logotype

Diff of /MITgcm/model/src/load_grid_spacing.F

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

revision 1.6 by jmc, Mon Dec 27 14:07:59 2010 UTC revision 1.7 by jmc, Mon Dec 27 23:26:39 2010 UTC
# Line 32  C     !FUNCTIONS: Line 32  C     !FUNCTIONS:
32  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
33  C     msgBuf    :: Informational/error message buffer  C     msgBuf    :: Informational/error message buffer
34        INTEGER iLen        INTEGER iLen
35          INTEGER i, j, n
36        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
37    
38  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
# Line 88  C--   hybrid sigma vertical coordinate c Line 89  C--   hybrid sigma vertical coordinate c
89       &                      SQUEEZE_RIGHT , myThid )       &                      SQUEEZE_RIGHT , myThid )
90        ENDIF        ENDIF
91    
92    C--   Check horizontal grid-spacing
93          IF ( .NOT.usingCurvilinearGrid ) THEN
94    C Note: To avoid multiple copies of the same code in several horiz.grid
95    C       initialisation S/R, check horiz.grid spacing here, after
96    C       loading delX,delY (and before calling any of these S/R).
97    
98    C--   Check delX grid-spacing:
99           n = 0
100           DO i=1,Nx
101    C-    check that delX has been set
102            IF ( delX(i).EQ.UNSET_RL ) THEN
103             n = n+1
104             WRITE(msgBuf,'(2A,I5)') 'S/R LOAD_GRID_SPACING:',
105         &       ' No value for delX at i =', i
106             CALL PRINT_ERROR( msgBuf, myThid )
107            ENDIF
108    C-    check that delX is > 0
109            IF ( delX(i).LE.0. ) THEN
110             n = n+1
111             WRITE(msgBuf,'(2A,I5,A,1PE16.8,A)') 'S/R LOAD_GRID_SPACING:',
112         &       ' delX(i=', i, ')=', delX(i), ' : MUST BE >0'
113             CALL PRINT_ERROR( msgBuf, myThid )
114            ENDIF
115           ENDDO
116           IF ( n.GE.1 ) THEN
117             WRITE(msgBuf,'(2A,I5,A)') 'S/R LOAD_GRID_SPACING:',
118         &       ' found', n, ' invalid delX values'
119             CALL PRINT_ERROR( msgBuf, myThid )
120             STOP 'ABNORMAL END: S/R LOAD_GRID_SPACING'
121           ENDIF
122    
123    C--   Check delY grid-spacing:
124           n = 0
125           DO j=1,Ny
126    C-    check that delY has been set
127            IF ( delY(j).EQ.UNSET_RL ) THEN
128             n = n+1
129             WRITE(msgBuf,'(2A,I5)') 'S/R LOAD_GRID_SPACING:',
130         &       ' No value for delY at j =', j
131             CALL PRINT_ERROR( msgBuf, myThid )
132            ENDIF
133    C-    check that delY is > 0
134            IF ( delY(j).LE.0. ) THEN
135             n = n+1
136             WRITE(msgBuf,'(2A,I5,A,1PE16.8,A)') 'S/R LOAD_GRID_SPACING:',
137         &       ' delY(j=', j, ')=', delY(j), ' : MUST BE >0'
138             CALL PRINT_ERROR( msgBuf, myThid )
139            ENDIF
140           ENDDO
141           IF ( n.GE.1 ) THEN
142             WRITE(msgBuf,'(2A,I5,A)') 'S/R LOAD_GRID_SPACING:',
143         &       ' found', n, ' invalid delY values'
144             CALL PRINT_ERROR( msgBuf, myThid )
145             STOP 'ABNORMAL END: S/R LOAD_GRID_SPACING'
146           ENDIF
147    C--   end of grid-spacing check (not usingCurvilinearGrid)
148          ENDIF
149    
150        _END_MASTER(myThid)        _END_MASTER(myThid)
151  C--   Everyone else must wait for the parameters to be loaded  C--   Everyone else must wait for the parameters to be loaded
152        _BARRIER        _BARRIER

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22