71 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
72 |
C === Local arrays === |
C === Local arrays === |
73 |
C aWght, bWght :: Interpolation weights |
C aWght, bWght :: Interpolation weights |
74 |
C msgBuf :: Informational/error meesage buffer |
C msgBuf :: Informational/error message buffer |
75 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
76 |
INTEGER i,j,bi,bj |
INTEGER i,j,bi,bj |
77 |
#endif /* NONLIN_FRSURF */ |
#endif /* NONLIN_FRSURF */ |
139 |
CALL READ_REC_YZ_RL( OBEsFile, fp,Nr,OBEs0,iRec0,myIter,myThid ) |
CALL READ_REC_YZ_RL( OBEsFile, fp,Nr,OBEs0,iRec0,myIter,myThid ) |
140 |
CALL READ_REC_YZ_RL( OBEsFile, fp,Nr,OBEs1,iRec1,myIter,myThid ) |
CALL READ_REC_YZ_RL( OBEsFile, fp,Nr,OBEs1,iRec1,myIter,myThid ) |
141 |
ENDIF |
ENDIF |
142 |
|
# ifdef ALLOW_NONHYDROSTATIC |
143 |
|
IF ( OBEwFile .NE. ' ' ) THEN |
144 |
|
CALL READ_REC_YZ_RL( OBEwFile, fp,Nr,OBEw0,iRec0,myIter,myThid ) |
145 |
|
CALL READ_REC_YZ_RL( OBEwFile, fp,Nr,OBEw1,iRec1,myIter,myThid ) |
146 |
|
ENDIF |
147 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
148 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
149 |
IF ( OBEetaFile .NE. ' ' ) THEN |
IF ( OBEetaFile .NE. ' ' ) THEN |
150 |
CALL READ_REC_YZ_RL(OBEetaFile,fp,1,OBEeta0,iRec0,myIter,myThid) |
CALL READ_REC_YZ_RL(OBEetaFile,fp,1,OBEeta0,iRec0,myIter,myThid) |
170 |
CALL READ_REC_YZ_RL( OBWsFile, fp,Nr,OBWs0,iRec0,myIter,myThid ) |
CALL READ_REC_YZ_RL( OBWsFile, fp,Nr,OBWs0,iRec0,myIter,myThid ) |
171 |
CALL READ_REC_YZ_RL( OBWsFile, fp,Nr,OBWs1,iRec1,myIter,myThid ) |
CALL READ_REC_YZ_RL( OBWsFile, fp,Nr,OBWs1,iRec1,myIter,myThid ) |
172 |
ENDIF |
ENDIF |
173 |
|
# ifdef ALLOW_NONHYDROSTATIC |
174 |
|
IF ( OBWwFile .NE. ' ' ) THEN |
175 |
|
CALL READ_REC_YZ_RL( OBWwFile, fp,Nr,OBWw0,iRec0,myIter,myThid ) |
176 |
|
CALL READ_REC_YZ_RL( OBWwFile, fp,Nr,OBWw1,iRec1,myIter,myThid ) |
177 |
|
ENDIF |
178 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
179 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
180 |
IF ( OBWetaFile .NE. ' ' ) THEN |
IF ( OBWetaFile .NE. ' ' ) THEN |
181 |
CALL READ_REC_YZ_RL(OBWetaFile,fp,1,OBWeta0,iRec0,myIter,myThid) |
CALL READ_REC_YZ_RL(OBWetaFile,fp,1,OBWeta0,iRec0,myIter,myThid) |
201 |
CALL READ_REC_XZ_RL( OBNsFile, fp,Nr,OBNs0,iRec0,myIter,myThid ) |
CALL READ_REC_XZ_RL( OBNsFile, fp,Nr,OBNs0,iRec0,myIter,myThid ) |
202 |
CALL READ_REC_XZ_RL( OBNsFile, fp,Nr,OBNs1,iRec1,myIter,myThid ) |
CALL READ_REC_XZ_RL( OBNsFile, fp,Nr,OBNs1,iRec1,myIter,myThid ) |
203 |
ENDIF |
ENDIF |
204 |
|
# ifdef ALLOW_NONHYDROSTATIC |
205 |
|
IF ( OBNwFile .NE. ' ' ) THEN |
206 |
|
CALL READ_REC_XZ_RL( OBNwFile, fp,Nr,OBNw0,iRec0,myIter,myThid ) |
207 |
|
CALL READ_REC_XZ_RL( OBNwFile, fp,Nr,OBNw1,iRec1,myIter,myThid ) |
208 |
|
ENDIF |
209 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
210 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
211 |
IF ( OBNetaFile .NE. ' ' ) THEN |
IF ( OBNetaFile .NE. ' ' ) THEN |
212 |
CALL READ_REC_XZ_RL(OBNetaFile,fp,1,OBNeta0,iRec0,myIter,myThid) |
CALL READ_REC_XZ_RL(OBNetaFile,fp,1,OBNeta0,iRec0,myIter,myThid) |
232 |
CALL READ_REC_XZ_RL( OBSsFile, fp,Nr,OBSs0,iRec0,myIter,myThid ) |
CALL READ_REC_XZ_RL( OBSsFile, fp,Nr,OBSs0,iRec0,myIter,myThid ) |
233 |
CALL READ_REC_XZ_RL( OBSsFile, fp,Nr,OBSs1,iRec1,myIter,myThid ) |
CALL READ_REC_XZ_RL( OBSsFile, fp,Nr,OBSs1,iRec1,myIter,myThid ) |
234 |
ENDIF |
ENDIF |
235 |
|
# ifdef ALLOW_NONHYDROSTATIC |
236 |
|
IF ( OBSwFile .NE. ' ' ) THEN |
237 |
|
CALL READ_REC_XZ_RL( OBSwFile, fp,Nr,OBSw0,iRec0,myIter,myThid ) |
238 |
|
CALL READ_REC_XZ_RL( OBSwFile, fp,Nr,OBSw1,iRec1,myIter,myThid ) |
239 |
|
ENDIF |
240 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
241 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
242 |
IF ( OBSetaFile .NE. ' ' ) THEN |
IF ( OBSetaFile .NE. ' ' ) THEN |
243 |
CALL READ_REC_XZ_RL(OBSetaFile,fp,1,OBSeta0,iRec0,myIter,myThid) |
CALL READ_REC_XZ_RL(OBSetaFile,fp,1,OBSeta0,iRec0,myIter,myThid) |
334 |
IF ( OBEsFile .NE. ' ' ) THEN |
IF ( OBEsFile .NE. ' ' ) THEN |
335 |
CALL READ_REC_YZ_RL( OBEsFile,fp,Nr,OBEs0,iRec0,myIter,myThid ) |
CALL READ_REC_YZ_RL( OBEsFile,fp,Nr,OBEs0,iRec0,myIter,myThid ) |
336 |
ENDIF |
ENDIF |
337 |
|
# ifdef ALLOW_NONHYDROSTATIC |
338 |
|
IF ( OBEwFile .NE. ' ' ) THEN |
339 |
|
CALL READ_REC_YZ_RL( OBEwFile,fp,Nr,OBEw0,iRec0,myIter,myThid ) |
340 |
|
ENDIF |
341 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
342 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
343 |
IF ( OBEetaFile .NE. ' ' ) THEN |
IF ( OBEetaFile .NE. ' ' ) THEN |
344 |
CALL READ_REC_YZ_RL( OBEetaFile, fp, 1, OBEeta0, iRec0, |
CALL READ_REC_YZ_RL( OBEetaFile, fp, 1, OBEeta0, iRec0, |
360 |
IF ( OBWsFile .NE. ' ' ) THEN |
IF ( OBWsFile .NE. ' ' ) THEN |
361 |
CALL READ_REC_YZ_RL( OBWsFile,fp,Nr,OBWs0,iRec0,myIter,myThid ) |
CALL READ_REC_YZ_RL( OBWsFile,fp,Nr,OBWs0,iRec0,myIter,myThid ) |
362 |
ENDIF |
ENDIF |
363 |
|
# ifdef ALLOW_NONHYDROSTATIC |
364 |
|
IF ( OBWwFile .NE. ' ' ) THEN |
365 |
|
CALL READ_REC_YZ_RL( OBWwFile,fp,Nr,OBWw0,iRec0,myIter,myThid ) |
366 |
|
ENDIF |
367 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
368 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
369 |
IF ( OBWetaFile .NE. ' ' ) THEN |
IF ( OBWetaFile .NE. ' ' ) THEN |
370 |
CALL READ_REC_YZ_RL( OBWetaFile, fp, 1, OBWeta0, iRec0, |
CALL READ_REC_YZ_RL( OBWetaFile, fp, 1, OBWeta0, iRec0, |
386 |
IF ( OBNsFile .NE. ' ' ) THEN |
IF ( OBNsFile .NE. ' ' ) THEN |
387 |
CALL READ_REC_XZ_RL( OBNsFile,fp,Nr,OBNs0,iRec0,myIter,myThid ) |
CALL READ_REC_XZ_RL( OBNsFile,fp,Nr,OBNs0,iRec0,myIter,myThid ) |
388 |
ENDIF |
ENDIF |
389 |
|
# ifdef ALLOW_NONHYDROSTATIC |
390 |
|
IF ( OBNwFile .NE. ' ' ) THEN |
391 |
|
CALL READ_REC_YZ_RL( OBNwFile,fp,Nr,OBNw0,iRec0,myIter,myThid ) |
392 |
|
ENDIF |
393 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
394 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
395 |
IF ( OBNetaFile .NE. ' ' ) THEN |
IF ( OBNetaFile .NE. ' ' ) THEN |
396 |
CALL READ_REC_XZ_RL( OBNetaFile, fp, 1, OBNeta0, iRec0, |
CALL READ_REC_XZ_RL( OBNetaFile, fp, 1, OBNeta0, iRec0, |
412 |
IF ( OBSsFile .NE. ' ' ) THEN |
IF ( OBSsFile .NE. ' ' ) THEN |
413 |
CALL READ_REC_XZ_RL( OBSsFile,fp,Nr,OBSs0,iRec0,myIter,myThid ) |
CALL READ_REC_XZ_RL( OBSsFile,fp,Nr,OBSs0,iRec0,myIter,myThid ) |
414 |
ENDIF |
ENDIF |
415 |
|
# ifdef ALLOW_NONHYDROSTATIC |
416 |
|
IF ( OBSwFile .NE. ' ' ) THEN |
417 |
|
CALL READ_REC_YZ_RL( OBSwFile,fp,Nr,OBSw0,iRec0,myIter,myThid ) |
418 |
|
ENDIF |
419 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
420 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
421 |
IF ( OBSetaFile .NE. ' ' ) THEN |
IF ( OBSetaFile .NE. ' ' ) THEN |
422 |
CALL READ_REC_XZ_RL( OBSetaFile, fp, 1, OBSeta0, iRec0, |
CALL READ_REC_XZ_RL( OBSetaFile, fp, 1, OBSeta0, iRec0, |
480 |
& OBEt, OBEt0, OBEt1, aWght, bWght, myThid ) |
& OBEt, OBEt0, OBEt1, aWght, bWght, myThid ) |
481 |
IF ( OBEsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_YZ( |
IF ( OBEsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_YZ( |
482 |
& OBEs, OBEs0, OBEs1, aWght, bWght, myThid ) |
& OBEs, OBEs0, OBEs1, aWght, bWght, myThid ) |
483 |
|
# ifdef ALLOW_NONHYDROSTATIC |
484 |
|
IF ( OBEwFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_YZ( |
485 |
|
& OBEw, OBEw0, OBEw1, aWght, bWght, myThid ) |
486 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
487 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
488 |
IF ( OBEetaFile .NE. ' ' ) THEN |
IF ( OBEetaFile .NE. ' ' ) THEN |
489 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
506 |
& OBWt, OBWt0, OBWt1, aWght, bWght, myThid ) |
& OBWt, OBWt0, OBWt1, aWght, bWght, myThid ) |
507 |
IF ( OBWsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_YZ( |
IF ( OBWsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_YZ( |
508 |
& OBWs, OBWs0, OBWs1, aWght, bWght, myThid ) |
& OBWs, OBWs0, OBWs1, aWght, bWght, myThid ) |
509 |
|
# ifdef ALLOW_NONHYDROSTATIC |
510 |
|
IF ( OBWwFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_YZ( |
511 |
|
& OBWw, OBWw0, OBWw1, aWght, bWght, myThid ) |
512 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
513 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
514 |
IF ( OBWetaFile .NE. ' ' ) THEN |
IF ( OBWetaFile .NE. ' ' ) THEN |
515 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
532 |
& OBNt, OBNt0, OBNt1, aWght, bWght, myThid ) |
& OBNt, OBNt0, OBNt1, aWght, bWght, myThid ) |
533 |
IF ( OBNsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_XZ( |
IF ( OBNsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_XZ( |
534 |
& OBNs, OBNs0, OBNs1, aWght, bWght, myThid ) |
& OBNs, OBNs0, OBNs1, aWght, bWght, myThid ) |
535 |
|
# ifdef ALLOW_NONHYDROSTATIC |
536 |
|
IF ( OBNwFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_XZ( |
537 |
|
& OBNw, OBNw0, OBNw1, aWght, bWght, myThid ) |
538 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
539 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
540 |
IF ( OBNetaFile .NE. ' ' ) THEN |
IF ( OBNetaFile .NE. ' ' ) THEN |
541 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
558 |
& OBSt, OBSt0, OBSt1, aWght, bWght, myThid ) |
& OBSt, OBSt0, OBSt1, aWght, bWght, myThid ) |
559 |
IF ( OBSsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_XZ( |
IF ( OBSsFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_XZ( |
560 |
& OBSs, OBSs0, OBSs1, aWght, bWght, myThid ) |
& OBSs, OBSs0, OBSs1, aWght, bWght, myThid ) |
561 |
|
# ifdef ALLOW_NONHYDROSTATIC |
562 |
|
IF ( OBSwFile .NE. ' ' ) CALL OBCS_EXTERNAL_FIELDS_INTERP_XZ( |
563 |
|
& OBSw, OBSw0, OBSw1, aWght, bWght, myThid ) |
564 |
|
# endif /* ALLOW_NONHYDROSTATIC */ |
565 |
# ifdef NONLIN_FRSURF |
# ifdef NONLIN_FRSURF |
566 |
IF ( OBSetaFile .NE. ' ' ) THEN |
IF ( OBSetaFile .NE. ' ' ) THEN |
567 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |