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 |
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 |
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) |
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) |
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) |
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 |