/[MITgcm]/MITgcm/pkg/rbcs/rbcs_init_fixed.F
ViewVC logotype

Diff of /MITgcm/pkg/rbcs/rbcs_init_fixed.F

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

revision 1.8 by jmc, Tue Dec 31 22:28:39 2013 UTC revision 1.9 by jmc, Sun Oct 25 16:30:38 2015 UTC
# Line 17  C !USES: =============================== Line 17  C !USES: ===============================
17  #include "PARAMS.h"  #include "PARAMS.h"
18  #include "GRID.h"  #include "GRID.h"
19  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
20  #include "PTRACERS_SIZE.h"  # include "PTRACERS_SIZE.h"
21    # include "PTRACERS_PARAMS.h"
22  #endif  #endif
23  #include "RBCS_SIZE.h"  #include "RBCS_SIZE.h"
24  #include "RBCS_PARAMS.h"  #include "RBCS_PARAMS.h"
# Line 29  C  myThid               :: my Thread Id Line 30  C  myThid               :: my Thread Id
30  CEOP  CEOP
31    
32  #ifdef ALLOW_RBCS  #ifdef ALLOW_RBCS
33    C     !FUNCTIONS:
34          INTEGER  ILNBLNK
35          EXTERNAL ILNBLNK
36    
37  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
38  C     i,j,k,bi,bj,irbc  :: loop indices  C     i,j,k,bi,bj,irbc  :: loop indices
39  C     msgBuf      :: Informational/error message buffer  C     msgBuf      :: Informational/error message buffer
40        INTEGER i,j,k,bi,bj        INTEGER i,j,k,bi,bj
41        INTEGER irbc        INTEGER irbc, iLen
 #ifndef DISABLE_RBCS_MOM  
42        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
 #endif  
43        CHARACTER*(12) filName        CHARACTER*(12) filName
44    #ifdef ALLOW_PTRACERS
45          INTEGER iTr
46    #endif
47    
48    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
49    C     Report RBCS mask setting
50    
51          _BEGIN_MASTER(myThid)
52    
53          WRITE(msgBuf,'(2A)') ' '
54          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
55         &                    SQUEEZE_RIGHT, myThid )
56          WRITE(msgBuf,'(2A)') ' ---  RBCS_INIT_FIXED:',
57         &                     ' setting RBCS mask  ---'
58          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
59         &                    SQUEEZE_RIGHT, myThid )
60    
61          IF ( useRBCtemp ) THEN
62            irbc = MIN(maskLEN,1)
63            IF ( relaxMaskFile(irbc).EQ.' ' ) THEN
64             WRITE(msgBuf,'(2A,I3,2A)') '** WARNING ** RBCS_INIT_FIXED:',
65         &     ' relaxMaskFile(irbc=', irbc, ') unset ==> No relaxation',
66         &     ' for Temp'
67             CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
68         &                       SQUEEZE_RIGHT, myThid )
69             WRITE(msgBuf,'(2A,I3,2A)') 'Warning:',
70         &     ' relaxMaskFile(irbc=', irbc, ') unset ==> No relaxation',
71         &     ' for Temp'
72             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
73         &                       SQUEEZE_RIGHT, myThid )
74            ELSE
75             iLen = ILNBLNK(relaxMaskFile(irbc))
76             WRITE(msgBuf,'(A,I3,3A)') 'Use relaxMaskFile(irbc=', irbc,
77         &     ') = "', relaxMaskFile(irbc)(1:iLen), '"'
78             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
79         &                       SQUEEZE_RIGHT, myThid )
80             WRITE(msgBuf,'(A,1PE21.13)')
81         &     ' for Temp  relaxation with tauRelaxT =', tauRelaxT
82             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
83         &                       SQUEEZE_RIGHT, myThid )
84            ENDIF
85          ENDIF
86          IF ( useRBCsalt ) THEN
87            irbc = MIN(maskLEN,2)
88            IF ( relaxMaskFile(irbc).EQ.' ' ) THEN
89             WRITE(msgBuf,'(2A,I3,2A)') '** WARNING ** RBCS_INIT_FIXED:',
90         &     ' relaxMaskFile(irbc=', irbc, ') unset ==> No relaxation',
91         &     ' for Salt'
92             CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
93         &                       SQUEEZE_RIGHT, myThid )
94             WRITE(msgBuf,'(2A,I3,2A)') 'Warning:',
95         &     ' relaxMaskFile(irbc=', irbc, ') unset ==> No relaxation',
96         &     ' for Salt'
97             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
98         &                       SQUEEZE_RIGHT, myThid )
99            ELSE
100             iLen = ILNBLNK(relaxMaskFile(irbc))
101             WRITE(msgBuf,'(A,I3,3A)') 'Use relaxMaskFile(irbc=', irbc,
102         &     ') = "', relaxMaskFile(irbc)(1:iLen), '"'
103             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
104         &                       SQUEEZE_RIGHT, myThid )
105             WRITE(msgBuf,'(A,1PE21.13)')
106         &     ' for Salt  relaxation with tauRelaxS =', tauRelaxS
107             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
108         &                       SQUEEZE_RIGHT, myThid )
109            ENDIF
110          ENDIF
111          IF ( useRBCuVel ) THEN
112            IF ( relaxMaskUFile.EQ. ' ' ) THEN
113             WRITE(msgBuf,'(2A,I3,2A)') '** WARNING ** RBCS_INIT_FIXED:',
114         &     ' relaxMaskUFile unset ==> use Temp mask instead'
115             CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
116         &                       SQUEEZE_RIGHT, myThid )
117             WRITE(msgBuf,'(2A,I3,2A)') 'Warning:',
118         &     ' relaxMaskUFile unset ==> use Temp mask instead'
119             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
120         &                       SQUEEZE_RIGHT, myThid )
121            ELSE
122             iLen = ILNBLNK(relaxMaskUFile)
123             WRITE(msgBuf,'(A,I3,3A)') 'Use relaxMaskUFile',
124         &     ' = "', relaxMaskUFile(1:iLen), '"'
125             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
126         &                       SQUEEZE_RIGHT, myThid )
127            ENDIF
128             WRITE(msgBuf,'(A,1PE21.13)')
129         &     ' for U-Vel relaxation with tauRelaxU =', tauRelaxU
130             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
131         &                       SQUEEZE_RIGHT, myThid )
132          ENDIF
133          IF ( useRBCvVel ) THEN
134            IF ( relaxMaskVFile.EQ. ' ' ) THEN
135             WRITE(msgBuf,'(2A,I3,2A)') '** WARNING ** RBCS_INIT_FIXED:',
136         &     ' relaxMaskVFile unset ==> use Temp mask instead'
137             CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
138         &                       SQUEEZE_RIGHT, myThid )
139             WRITE(msgBuf,'(2A,I3,2A)') 'Warning:',
140         &     ' relaxMaskVFile unset ==> use Temp mask instead'
141             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
142         &                       SQUEEZE_RIGHT, myThid )
143            ELSE
144             iLen = ILNBLNK(relaxMaskVFile)
145             WRITE(msgBuf,'(A,I3,3A)') 'Use relaxMaskUFile',
146         &     ' = "', relaxMaskVFile(1:iLen), '"'
147             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
148         &                       SQUEEZE_RIGHT, myThid )
149            ENDIF
150             WRITE(msgBuf,'(A,1PE21.13)')
151         &     ' for V-Vel relaxation with tauRelaxV =', tauRelaxV
152             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
153         &                       SQUEEZE_RIGHT, myThid )
154          ENDIF
155    #ifdef ALLOW_PTRACERS
156          IF ( usePTRACERS .AND. PTRACERS_numInUse.GE.1 ) THEN
157           DO iTr=1,PTRACERS_numInUse
158            IF ( useRBCpTrNum(iTr) ) THEN
159             irbc = MIN(maskLEN,2+iTr)
160             IF ( relaxMaskFile(irbc).EQ.' ' ) THEN
161              WRITE(msgBuf,'(2A,I3,2A,I3)')
162         &     '** WARNING ** RBCS_INIT_FIXED:',
163         &     ' relaxMaskFile(irbc=', irbc, ') unset ==> No relaxation',
164         &     ' for pTr=', iTr
165              CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
166         &                        SQUEEZE_RIGHT, myThid )
167              WRITE(msgBuf,'(2A,I3,2A,I3)') 'Warning:',
168         &     ' relaxMaskFile(irbc=', irbc, ') unset ==> No relaxation',
169         &     ' for pTr=', iTr
170              CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
171         &                        SQUEEZE_RIGHT, myThid )
172             ELSE
173              iLen = ILNBLNK(relaxMaskFile(irbc))
174              WRITE(msgBuf,'(A,I3,3A)') 'Use relaxMaskFile(irbc=', irbc,
175         &     ') = "', relaxMaskFile(irbc)(1:iLen), '"'
176              CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
177         &                        SQUEEZE_RIGHT, myThid )
178              WRITE(msgBuf,'(A,I3,A,1PE21.13)')
179         &     ' for pTr=', iTr, ' relaxation, tauRelaxPTR =',
180         &                          tauRelaxPTR(iTr)
181              CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
182         &                        SQUEEZE_RIGHT, myThid )
183             ENDIF
184            ENDIF
185           ENDDO
186          ENDIF
187    #endif /* ALLOW_PTRACERS */
188    
189          _END_MASTER(myThid)
190    
191  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
192    
# Line 110  C--   Apply mask: Line 259  C--   Apply mask:
259        IF ( useRBCuVel .AND. relaxMaskUFile.NE. ' ' ) THEN        IF ( useRBCuVel .AND. relaxMaskUFile.NE. ' ' ) THEN
260          CALL READ_FLD_XYZ_RS(relaxMaskUFile,' ',RBC_maskU, 0, myThid)          CALL READ_FLD_XYZ_RS(relaxMaskUFile,' ',RBC_maskU, 0, myThid)
261        ELSEIF( useRBCuVel ) THEN        ELSEIF( useRBCuVel ) THEN
         WRITE(msgBuf,'(2A)') '** WARNING ** RBCS_INIT_FIXED: ',  
      &     'no relaxMaskUFile => use Temp mask instead'  
         CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,  
      &                      SQUEEZE_RIGHT, myThid )  
262          DO bj = myByLo(myThid), myByHi(myThid)          DO bj = myByLo(myThid), myByHi(myThid)
263           DO bi = myBxLo(myThid), myBxHi(myThid)           DO bi = myBxLo(myThid), myBxHi(myThid)
264             DO k=1,Nr             DO k=1,Nr
# Line 131  C--   Apply mask: Line 276  C--   Apply mask:
276        IF ( useRBCvVel .AND. relaxMaskVFile.NE. ' ' ) THEN        IF ( useRBCvVel .AND. relaxMaskVFile.NE. ' ' ) THEN
277          CALL READ_FLD_XYZ_RS(relaxMaskVFile,' ',RBC_maskV, 0, myThid)          CALL READ_FLD_XYZ_RS(relaxMaskVFile,' ',RBC_maskV, 0, myThid)
278        ELSEIF( useRBCvVel ) THEN        ELSEIF( useRBCvVel ) THEN
         WRITE(msgBuf,'(2A)') '** WARNING ** RBCS_INIT_FIXED: ',  
      &     'no relaxMaskVFile => use Temp mask instead'  
         CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,  
      &                      SQUEEZE_RIGHT, myThid )  
279          DO bj = myByLo(myThid), myByHi(myThid)          DO bj = myByLo(myThid), myByHi(myThid)
280           DO bi = myBxLo(myThid), myBxHi(myThid)           DO bi = myBxLo(myThid), myBxHi(myThid)
281             DO k=1,Nr             DO k=1,Nr
# Line 173  C--   Apply mask: Line 314  C--   Apply mask:
314        ENDIF        ENDIF
315  #endif /* DISABLE_RBCS_MOM */  #endif /* DISABLE_RBCS_MOM */
316    
317          _BEGIN_MASTER(myThid)
318          WRITE(msgBuf,'(2A)') ' ---  RBCS_INIT_FIXED:',
319         &                     ' setting RBCS mask done'
320          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
321         &                    SQUEEZE_RIGHT, myThid )
322          _END_MASTER(myThid)
323    
324  #endif /* ALLOW_RBCS */  #endif /* ALLOW_RBCS */
325    
326        RETURN        RETURN

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

  ViewVC Help
Powered by ViewVC 1.1.22