/[MITgcm]/MITgcm/pkg/rw/read_mflds.F
ViewVC logotype

Diff of /MITgcm/pkg/rw/read_mflds.F

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

revision 1.5 by jmc, Tue Sep 1 19:28:24 2009 UTC revision 1.6 by jmc, Mon Mar 7 03:07:21 2011 UTC
# Line 10  C--   o READ_MFLDS_SET Line 10  C--   o READ_MFLDS_SET
10  C--   o READ_MFLDS_3D_RL  C--   o READ_MFLDS_3D_RL
11  C--   o READ_MFLDS_LEV_RL  C--   o READ_MFLDS_LEV_RL
12  C--   o READ_MFLDS_CHECK  C--   o READ_MFLDS_CHECK
13    C--   o READ_MFLDS_RENAME
14    
15  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
16  CBOP  CBOP
# Line 613  C--   Reset MFLDS file name: Line 614  C--   Reset MFLDS file name:
614    
615        RETURN        RETURN
616        END        END
617    
618    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
619    CBOP
620    C     !ROUTINE: READ_MFLDS_RENAME
621    C     !INTERFACE:
622          SUBROUTINE READ_MFLDS_RENAME(
623         I                              fldName, newName,
624         O                              errCode,
625         I                              myThid )
626    
627    C     !DESCRIPTION:
628    C     Rename one field in fldList
629    
630    C     !USES:
631          IMPLICIT NONE
632    c#include "SIZE.h"
633    #include "EEPARAMS.h"
634    #include "RW_MFLDS.h"
635    
636    C     !INPUT/OUTPUT PARAMETERS:
637    C     fldName  :: field name to rename
638    C     newName  :: new name to replace fldName
639    C     errCode  :: returned error code:
640    C                 0 = succesful ; 1 = fldName not found ; > 1 : error
641    C     myThid   :: my Thread Id. number
642          CHARACTER*(8) fldName
643          CHARACTER*(8) newName
644          INTEGER errCode
645          INTEGER myThid
646    CEOP
647    
648    C     !LOCAL VARIABLES:
649    C     i , j    :: loop counter
650          INTEGER i , j
651    C-    for debug print:
652    c     CHARACTER*(MAX_LEN_MBUF) msgBuf
653    
654          errCode = 1
655    
656    C-    search for fldName in fldList:
657          j = 0
658          DO i=1,nFlds
659            IF ( fldList(i) .EQ. fldName ) THEN
660              IF ( j.EQ.0 ) THEN
661                errCode = 0
662                j = i
663              ELSE
664    C--    fldName appears more than once in fldList (errCode=3):
665                errCode = 3
666              ENDIF
667            ENDIF
668          ENDDO
669    
670          IF ( errCode.EQ.0 ) THEN
671    C--   Do not replace if newName is already in the list (errCode=2):
672            DO i=1,nFlds
673              IF ( fldList(i).EQ.newName ) errCode = 2
674            ENDDO
675          ENDIF
676    
677          IF ( errCode.EQ.0 ) THEN
678            _BEGIN_MASTER( myThid )
679            fldList(j) = newName
680            _END_MASTER( myThid )
681            _BARRIER
682          ENDIF
683    
684          RETURN
685          END

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22