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