16 |
|
|
17 |
C == Routine arguments == |
C == Routine arguments == |
18 |
C myThid :: my Thread Id number |
C myThid :: my Thread Id number |
19 |
LOGICAL ph_isLoaded |
LOGICAL pH_isLoaded |
20 |
INTEGER myIter |
INTEGER myIter |
21 |
INTEGER myThid |
INTEGER myThid |
22 |
|
|
24 |
#ifdef DIC_BIOTIC |
#ifdef DIC_BIOTIC |
25 |
|
|
26 |
C !FUNCTIONS |
C !FUNCTIONS |
|
INTEGER IFNBLNK, ILNBLNK |
|
|
EXTERNAL IFNBLNK, ILNBLNK |
|
27 |
|
|
28 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
29 |
C == Local variables == |
C == Local variables == |
30 |
CHARACTER*(MAX_LEN_FNAM) fn, dFileName |
CHARACTER*(MAX_LEN_FNAM) fn, filNam |
31 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
32 |
LOGICAL fileExist, shareExist |
LOGICAL useCurrentDir, fileExist |
33 |
INTEGER fp, iL, i, ioUnit |
INTEGER fp, ioUnit |
|
|
|
|
COMMON / LOCAL_DIC_PICKUP / shareExist |
|
34 |
CEOP |
CEOP |
35 |
|
|
36 |
ph_isLoaded =.FALSE. |
pH_isLoaded =.FALSE. |
37 |
ioUnit = errorMessageUnit |
ioUnit = errorMessageUnit |
38 |
|
|
39 |
C-- pickup file name : |
C-- pickup file name : |
44 |
ENDIF |
ENDIF |
45 |
fp = precFloat64 |
fp = precFloat64 |
46 |
|
|
|
_BARRIER |
|
|
_BEGIN_MASTER( myThid ) |
|
|
|
|
47 |
C-- First check if pickup file exist |
C-- First check if pickup file exist |
48 |
fileExist = .FALSE. |
#ifdef ALLOW_MDSIO |
49 |
iL = ILNBLNK(fn) |
useCurrentDir = .FALSE. |
50 |
IF ( .NOT.fileExist ) THEN |
CALL MDS_CHECK4FILE( |
51 |
C- look for file = {fn} |
I fn, '.data', 'DIC_READ_PICKUP', |
52 |
WRITE(dFileName,'(A)') fn(1:iL) |
O filNam, fileExist, |
53 |
i = iL |
I useCurrentDir, myThid ) |
54 |
INQUIRE( FILE=dFileName, EXIST=fileExist ) |
#else |
55 |
ENDIF |
STOP 'ABNORMAL END: S/R DIC_READ_PICKUP: Needs MDSIO pkg' |
56 |
IF ( .NOT.fileExist ) THEN |
#endif |
|
C- look for file = {fn}'.data' |
|
|
WRITE(dFileName,'(2A)') fn(1:iL), '.data' |
|
|
i = iL + 5 |
|
|
INQUIRE( FILE=dFileName, EXIST=fileExist ) |
|
|
ENDIF |
|
|
IF ( .NOT.fileExist ) THEN |
|
|
C- look for file = {fn}'.001.001.data' |
|
|
WRITE(dFileName,'(2A)') fn(1:iL), '.001.001.data' |
|
|
i = iL + 5 + 8 |
|
|
INQUIRE( FILE=dFileName, EXIST=fileExist ) |
|
|
ENDIF |
|
|
shareExist = fileExist |
|
57 |
|
|
58 |
IF ( .NOT.fileExist ) THEN |
IF ( fileExist ) THEN |
|
WRITE(msgBuf,'(4A)') 'WARNING >> DIC_READ_PICKUP: file: ', |
|
|
& fn(1:iL), ' , .data , ', dFileName(1:i) |
|
|
CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) |
|
|
WRITE(msgBuf,'(A)') |
|
|
& 'WARNING >> DIC_READ_PICKUP: Files DO not exist' |
|
|
CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) |
|
|
ENDIF |
|
|
|
|
|
_END_MASTER( myThid ) |
|
|
_BARRIER |
|
|
|
|
|
IF ( shareExist ) THEN |
|
59 |
C-- Read pickup file |
C-- Read pickup file |
60 |
CALL READ_REC_3D_RL( fn, fp, 1, pH, 1, myIter, myThid ) |
CALL READ_REC_3D_RL( fn, fp, 1, pH, 1, myIter, myThid ) |
61 |
pH_isLoaded = .TRUE. |
pH_isLoaded = .TRUE. |
62 |
|
|
63 |
_EXCH_XY_R8( pH, myThid ) |
_EXCH_XY_RL( pH, myThid ) |
64 |
ELSE |
ELSE |
65 |
pH_isLoaded = .FALSE. |
pH_isLoaded = .FALSE. |
66 |
IF ( pickupStrictlyMatch ) THEN |
IF ( pickupStrictlyMatch ) THEN |
70 |
CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) |
CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) |
71 |
STOP 'ABNORMAL END: S/R DIC_READ_PICKUP' |
STOP 'ABNORMAL END: S/R DIC_READ_PICKUP' |
72 |
ELSE |
ELSE |
73 |
WRITE(msgBuf,'(4A)') 'DIC_READ_PICKUP: ', |
WRITE(msgBuf,'(2A)') 'WARNING >> DIC_READ_PICKUP: ', |
74 |
& 'will restart from approximated pH' |
& 'will restart from approximated pH' |
75 |
CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) |
CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) |
76 |
ENDIF |
ENDIF |