/[MITgcm]/MITgcm/pkg/dic/dic_read_pickup.F
ViewVC logotype

Diff of /MITgcm/pkg/dic/dic_read_pickup.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.4 by dfer, Mon Apr 7 20:31:16 2008 UTC revision 1.8 by jmc, Mon Mar 14 01:38:04 2011 UTC
# Line 16  C     === Global variables === Line 16  C     === Global variables ===
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    
# Line 24  C     myThid  :: my Thread Id number Line 24  C     myThid  :: my Thread Id number
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 :
# Line 48  C--   pickup file name : Line 44  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
# Line 101  C--   Read pickup file Line 70  C--   Read pickup file
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

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

  ViewVC Help
Powered by ViewVC 1.1.22