/[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.2 by jmc, Wed Nov 29 04:39:06 2006 UTC revision 1.3 by jmc, Sat Sep 11 21:24:51 2010 UTC
# Line 18  C     !USES: Line 18  C     !USES:
18  #include "SIZE.h"  #include "SIZE.h"
19  #include "EEPARAMS.h"  #include "EEPARAMS.h"
20  #include "PARAMS.h"  #include "PARAMS.h"
21  c #include "GRID.h"  #include "GRID.h"
22    
23  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
24  C     myThid    :: my Thread Id. number  C     myThid    :: my Thread Id. number
# Line 34  C     tmp4delR  :: temporary arrays to r Line 34  C     tmp4delR  :: temporary arrays to r
34  C     tmp8delR  :: temporary arrays to read in delR  C     tmp8delR  :: temporary arrays to read in delR
35  C     tmp4delRc :: temporary arrays to read in delRc  C     tmp4delRc :: temporary arrays to read in delRc
36  C     tmp8delRc :: temporary arrays to read in delRc  C     tmp8delRc :: temporary arrays to read in delRc
37  C     msgBuf    :: Informational/error meesage buffer  C     msgBuf    :: Informational/error message buffer
38  C     iUnit     :: Work variable for IO unit number  C     iUnit     :: Work variable for IO unit number
39  C     rcLen1    :: record length of 1 element to read  C     rcLen1    :: record length of 1 element to read
40  C     i, j, k   :: Loop counters  C     i, j, k   :: Loop counters
# Line 51  C---+----1----+----2----+----3----+----4 Line 51  C---+----1----+----2----+----3----+----4
51        rcLen1 = WORDLENGTH        rcLen1 = WORDLENGTH
52        IF (readBinaryPrec.EQ.precFloat64) rcLen1 = WORDLENGTH*2        IF (readBinaryPrec.EQ.precFloat64) rcLen1 = WORDLENGTH*2
53    
54  C     X coordinate  C--   X coordinate
55        IF ( delXFile .NE. ' ' ) THEN        IF ( delXFile .NE. ' ' ) THEN
56          CALL MDSFINDUNIT( iUnit, myThid )          CALL MDSFINDUNIT( iUnit, myThid )
57          iLen = ILNBLNK(delXFile)          iLen = ILNBLNK(delXFile)
# Line 84  C     X coordinate Line 84  C     X coordinate
84       &                      SQUEEZE_RIGHT , myThid )       &                      SQUEEZE_RIGHT , myThid )
85        ENDIF        ENDIF
86    
87  C     Y coordinate  C--   Y coordinate
88        IF ( delYFile .NE. ' ' ) THEN        IF ( delYFile .NE. ' ' ) THEN
89          CALL MDSFINDUNIT( iUnit, myThid )          CALL MDSFINDUNIT( iUnit, myThid )
90          iLen = ILNBLNK(delYFile)          iLen = ILNBLNK(delYFile)
# Line 117  C     Y coordinate Line 117  C     Y coordinate
117       &                      SQUEEZE_RIGHT , myThid )       &                      SQUEEZE_RIGHT , myThid )
118        ENDIF        ENDIF
119    
120  C     vertical coordinate "R"  C--   vertical coordinate "R"
121        IF ( delRFile .NE. ' ' ) THEN        IF ( delRFile .NE. ' ' ) THEN
122          CALL MDSFINDUNIT( iUnit, myThid )          CALL MDSFINDUNIT( iUnit, myThid )
123          iLen = ILNBLNK(delRFile)          iLen = ILNBLNK(delRFile)
# Line 181  C     vertical coordinate "R" Line 181  C     vertical coordinate "R"
181          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
182       &                      SQUEEZE_RIGHT , myThid )       &                      SQUEEZE_RIGHT , myThid )
183        ENDIF        ENDIF
184    
185    C--   hybrid sigma vertical coordinate coefficient
186          IF ( hybSigmFile .NE. ' ' ) THEN
187            CALL MDSFINDUNIT( iUnit, myThid )
188            iLen = ILNBLNK(hybSigmFile)
189            IF (readBinaryPrec.EQ.precFloat32) THEN
190             OPEN(iUnit, FILE=hybSigmFile(1:iLen), STATUS='OLD',
191         &        FORM='UNFORMATTED',ACCESS='DIRECT',RECL=rcLen1*(Nr+1))
192    C-     loading aHybSigmF :
193             READ(iUnit,rec=1) tmp4delRc
194    #ifdef _BYTESWAPIO
195             CALL MDS_BYTESWAPR4( Nr+1, tmp4delRc )
196    #endif
197             DO k=1,Nr+1
198               aHybSigmF(k) = tmp4delRc(k)
199             ENDDO
200    C-     loading bHybSigmF :
201             READ(iUnit,rec=2) tmp4delRc
202             CLOSE(iUnit)
203    #ifdef _BYTESWAPIO
204             CALL MDS_BYTESWAPR4( Nr+1, tmp4delRc )
205    #endif
206             DO k=1,Nr+1
207               bHybSigmF(k) = tmp4delRc(k)
208             ENDDO
209            ELSEIF (readBinaryPrec.EQ.precFloat64) THEN
210             OPEN(iUnit, FILE=hybSigmFile(1:iLen), STATUS='OLD',
211         &        FORM='UNFORMATTED',ACCESS='DIRECT',RECL=rcLen1*(Nr+1))
212    C-     loading aHybSigmF :
213             READ(iUnit,rec=1) tmp8delRc
214    #ifdef _BYTESWAPIO
215             CALL MDS_BYTESWAPR8( Nr+1, tmp8delRc )
216    #endif
217             DO k=1,Nr+1
218               aHybSigmF(k) = tmp8delRc(k)
219             ENDDO
220    C-     loading bHybSigmF :
221             READ(iUnit,rec=2) tmp8delRc
222             CLOSE(iUnit)
223    #ifdef _BYTESWAPIO
224             CALL MDS_BYTESWAPR8( Nr+1, tmp8delRc )
225    #endif
226             DO k=1,Nr+1
227               bHybSigmF(k) = tmp8delRc(k)
228             ENDDO
229            ENDIF
230            WRITE(msgBuf,'(3A)') 'S/R LOAD_GRID_SPACING:',
231         &    ' a&b_HybSigmF loaded from file: ', hybSigmFile(1:iLen)
232            CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
233         &                      SQUEEZE_RIGHT , myThid )
234          ENDIF
235    
236        _END_MASTER(myThid)        _END_MASTER(myThid)
237  C--   Everyone else must wait for the parameters to be loaded  C--   Everyone else must wait for the parameters to be loaded

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22