/[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.7 by jmc, Mon Dec 27 23:26:39 2010 UTC revision 1.8 by jmc, Mon Dec 12 19:00:10 2011 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4  c #include "PACKAGES_CONFIG.h"  #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
6    #ifdef ALLOW_EXCH2
7    # include "W2_OPTIONS.h"
8    #endif /* ALLOW_EXCH2 */
9    
10  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
11  CBOP  CBOP
# Line 18  C     !USES: Line 21  C     !USES:
21  #include "SIZE.h"  #include "SIZE.h"
22  #include "EEPARAMS.h"  #include "EEPARAMS.h"
23  #include "PARAMS.h"  #include "PARAMS.h"
24    #ifdef ALLOW_EXCH2
25    # include "W2_EXCH2_SIZE.h"
26    # include "W2_EXCH2_TOPOLOGY.h"
27    #endif /* ALLOW_EXCH2 */
28  #include "GRID.h"  #include "GRID.h"
29    #include "SET_GRID.h"
30    
31  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
32  C     myThid    :: my Thread Id. number  C     myThid    :: my Thread Id. number
# Line 31  C     !FUNCTIONS: Line 39  C     !FUNCTIONS:
39    
40  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
41  C     msgBuf    :: Informational/error message buffer  C     msgBuf    :: Informational/error message buffer
42    C     delYsum   :: delY full-domain sum
43        INTEGER iLen        INTEGER iLen
44        INTEGER i, j, n        INTEGER i, j, n
45          INTEGER gridNx, gridNy
46        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
47          _RL delYsum
48    
49  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
50    
51    #ifdef ALLOW_EXCH2
52          gridNx = exch2_mydNx(1)
53          gridNy = exch2_mydNy(1)
54    #else /* ALLOW_EXCH2 */
55          gridNx = Nx
56          gridNy = Ny
57    #endif /* ALLOW_EXCH2 */
58    
59        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
60    
61  C--   X coordinate  C--   X coordinate
62        IF ( delXFile .NE. ' ' ) THEN        IF ( delXFile .NE. ' ' ) THEN
63          iLen = ILNBLNK(delXFile)          iLen = ILNBLNK(delXFile)
64          CALL READ_GLVEC_RL( delXFile, ' ', delX, Nx, 1, myThid )          CALL READ_GLVEC_RL( delXFile, ' ', delX, gridNx, 1, myThid )
65          WRITE(msgBuf,'(3A)') 'S/R LOAD_GRID_SPACING:',          WRITE(msgBuf,'(3A)') 'S/R LOAD_GRID_SPACING:',
66       &    ' delX loaded from file: ', delXFile(1:iLen)       &    ' delX loaded from file: ', delXFile(1:iLen)
67          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
# Line 52  C--   X coordinate Line 71  C--   X coordinate
71  C--   Y coordinate  C--   Y coordinate
72        IF ( delYFile .NE. ' ' ) THEN        IF ( delYFile .NE. ' ' ) THEN
73          iLen = ILNBLNK(delYFile)          iLen = ILNBLNK(delYFile)
74          CALL READ_GLVEC_RL( delYFile, ' ', delY, Ny, 1, myThid )          CALL READ_GLVEC_RL( delYFile, ' ', delY, gridNy, 1, myThid )
75          WRITE(msgBuf,'(3A)') 'S/R LOAD_GRID_SPACING:',          WRITE(msgBuf,'(3A)') 'S/R LOAD_GRID_SPACING:',
76       &    ' delY loaded from file: ', delYFile(1:iLen)       &    ' delY loaded from file: ', delYFile(1:iLen)
77          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
# Line 97  C       loading delX,delY (and before ca Line 116  C       loading delX,delY (and before ca
116    
117  C--   Check delX grid-spacing:  C--   Check delX grid-spacing:
118         n = 0         n = 0
119         DO i=1,Nx         DO i=1,gridNx
120  C-    check that delX has been set  C-    check that delX has been set
121          IF ( delX(i).EQ.UNSET_RL ) THEN          IF ( delX(i).EQ.UNSET_RL ) THEN
122           n = n+1           n = n+1
# Line 122  C-    check that delX is > 0 Line 141  C-    check that delX is > 0
141    
142  C--   Check delY grid-spacing:  C--   Check delY grid-spacing:
143         n = 0         n = 0
144         DO j=1,Ny         DO j=1,gridNy
145  C-    check that delY has been set  C-    check that delY has been set
146          IF ( delY(j).EQ.UNSET_RL ) THEN          IF ( delY(j).EQ.UNSET_RL ) THEN
147           n = n+1           n = n+1
# Line 147  C-    check that delY is > 0 Line 166  C-    check that delY is > 0
166  C--   end of grid-spacing check (not usingCurvilinearGrid)  C--   end of grid-spacing check (not usingCurvilinearGrid)
167        ENDIF        ENDIF
168    
169    C--   Set default (=whole domain) for where relaxation to climatology applies
170          IF ( usingCartesianGrid .OR. usingSphericalPolarGrid ) THEN
171            delYsum = 0.
172            DO j=1,gridNy
173              delYsum = delYsum + delY(j)
174            ENDDO
175            IF ( latBandClimRelax.EQ.UNSET_RL ) THEN
176              latBandClimRelax = delYsum*3. _d 0
177            ENDIF
178          ENDIF
179    
180        _END_MASTER(myThid)        _END_MASTER(myThid)
181  C--   Everyone else must wait for the parameters to be loaded  C--   Everyone else must wait for the parameters to be loaded
182        _BARRIER        _BARRIER

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

  ViewVC Help
Powered by ViewVC 1.1.22