/[MITgcm]/MITgcm/pkg/ptracers/ptracers_readparms.F
ViewVC logotype

Diff of /MITgcm/pkg/ptracers/ptracers_readparms.F

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

revision 1.8 by edhill, Sun Oct 10 06:08:50 2004 UTC revision 1.12 by jmc, Thu Oct 28 00:32:21 2004 UTC
# Line 28  CEOP Line 28  CEOP
28  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
29    
30  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
31  C     iTracer    :: loop indices  C     k,iTracer  :: loop indices
32  C     iUnit      :: unit number for I/O  C     iUnit      :: unit number for I/O
33  C     msgBuf     :: message buffer  C     msgBuf     :: message buffer
34        INTEGER iTracer        INTEGER k, iTracer
35        INTEGER iUnit        INTEGER iUnit
36        INTEGER ic        INTEGER ic
37        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
38          _RL PTRACERS_diffKr(PTRACERS_num)
39    
40  C     PTRACERS_taveFreq :: Frequency with which time-averaged PTRACERS  C     PTRACERS_taveFreq :: Frequency with which time-averaged PTRACERS
41  C                          are written to post-processing files.  C                          are written to post-processing files.
# Line 44  C                          are written t Line 45  C                          are written t
45       &     PTRACERS_diffKh,       &     PTRACERS_diffKh,
46       &     PTRACERS_diffK4,       &     PTRACERS_diffK4,
47       &     PTRACERS_diffKr,       &     PTRACERS_diffKr,
48         &     PTRACERS_diffKrNr,
49       &     PTRACERS_useGMRedi,       &     PTRACERS_useGMRedi,
50       &     PTRACERS_useKPP,       &     PTRACERS_useKPP,
51       &     PTRACERS_numInUse,       &     PTRACERS_numInUse,
# Line 52  C                          are written t Line 54  C                          are written t
54       &     PTRACERS_names,       &     PTRACERS_names,
55       &     PTRACERS_long_names,       &     PTRACERS_long_names,
56       &     PTRACERS_units,       &     PTRACERS_units,
      &     PTRACERS_write_ioinc,  
57       &     PTRACERS_read_mnc,       &     PTRACERS_read_mnc,
58       &     PTRACERS_write_mnc       &     PTRACERS_write_mnc
59    
# Line 67  C     Set defaults values for parameters Line 68  C     Set defaults values for parameters
68          PTRACERS_advScheme(iTracer)=saltAdvScheme          PTRACERS_advScheme(iTracer)=saltAdvScheme
69          PTRACERS_diffKh(iTracer)=diffKhS          PTRACERS_diffKh(iTracer)=diffKhS
70          PTRACERS_diffK4(iTracer)=diffK4S          PTRACERS_diffK4(iTracer)=diffK4S
71          PTRACERS_diffKr(iTracer)=diffKrS          PTRACERS_diffKr(iTracer)=UNSET_RL
72            DO k=1,Nr
73              PTRACERS_diffKrNr(k,iTracer)=diffKrNrS(k)
74            ENDDO
75          PTRACERS_useGMRedi(iTracer)=useGMRedi          PTRACERS_useGMRedi(iTracer)=useGMRedi
76          PTRACERS_useKPP(iTracer)=useKPP          PTRACERS_useKPP(iTracer)=useKPP
77          PTRACERS_initialFile(iTracer)=' '          PTRACERS_initialFile(iTracer)=' '
# Line 82  C     Set defaults values for parameters Line 86  C     Set defaults values for parameters
86        PTRACERS_read_mnc    = .FALSE.        PTRACERS_read_mnc    = .FALSE.
87        PTRACERS_write_mdsio = .TRUE.        PTRACERS_write_mdsio = .TRUE.
88        PTRACERS_write_mnc   = .FALSE.        PTRACERS_write_mnc   = .FALSE.
       PTRACERS_write_ioinc = .FALSE.  
89    
90  C     Open and read the data.ptracers file  C     Open and read the data.ptracers file
91        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
# Line 134  C     Check that enough parameters were Line 137  C     Check that enough parameters were
137            STOP 'ABNORMAL END: S/R PTRACERS_READPARMS'            STOP 'ABNORMAL END: S/R PTRACERS_READPARMS'
138          ENDIF          ENDIF
139        ENDDO        ENDDO
140          DO iTracer=1,PTRACERS_numInUse
141            PTRACERS_useGMRedi(iTracer) = PTRACERS_useGMRedi(iTracer)
142         &                           .AND.useGMRedi
143            PTRACERS_useKPP(iTracer) = PTRACERS_useKPP(iTracer)
144         &                        .AND.useKPP
145            IF ( PTRACERS_diffKr(iTracer).NE.UNSET_RL ) THEN
146             DO k=1,Nr
147              PTRACERS_diffKrNr(k,iTracer)=PTRACERS_diffKr(iTracer)
148             ENDDO
149            ENDIF
150          ENDDO
151    
152  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
153        IF (useMNC) THEN        IF (useMNC) THEN
154  C       Set the default I/O Types  C       Set the default I/O Types
155          IF (PTRACERS_read_mnc) PTRACERS_read_mdsio = .FALSE.          IF (PTRACERS_read_mnc) PTRACERS_read_mdsio = .FALSE.
156          IF ( (.NOT. PTRACERS_write_ioinc)          IF ( (.NOT. outputTypesInclusive)
157       &       .AND. PTRACERS_write_mnc ) pickup_write_mdsio = .FALSE.       &       .AND. PTRACERS_write_mnc ) pickup_write_mdsio = .FALSE.
158                    
159  C       Initialize the MNC variable types for PTRACERS  C       Initialize the MNC variable types for PTRACERS
# Line 147  C       Initialize the MNC variable type Line 161  C       Initialize the MNC variable type
161        ENDIF        ENDIF
162  #endif /*  ALLOW_MNC  */  #endif /*  ALLOW_MNC  */
163                
164    C--   Print a summary of pTracer parameter values:
165          iUnit = standardMessageUnit
166          WRITE(msgBuf,'(A)') '// ==================================='
167          CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT , 1)
168          WRITE(msgBuf,'(A)') '// PTRACERS parameters '
169          CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT , 1)
170          WRITE(msgBuf,'(A)') '// ==================================='
171          CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT , 1)
172          CALL WRITE_0D_I( PTRACERS_numInUse, INDEX_NONE,
173         &   'PTRACERS_numInUse =',
174         &   ' /* number of tracers */')
175          CALL WRITE_0D_R8(PTRACERS_taveFreq, INDEX_NONE,
176         &   'PTRACERS_taveFreq =',
177         &   ' /* Frequency^-1 for time-Aver. output (s) */')
178          CALL WRITE_0D_L( PTRACERS_useRecords, INDEX_NONE,
179         &   'PTRACERS_useRecords =', ' /* all tracers in 1 file */')
180          CALL WRITE_0D_L( PTRACERS_write_mdsio, INDEX_NONE,
181         &   'PTRACERS_write_mdsio =', ' /* write mdsio files */')
182          CALL WRITE_0D_L( PTRACERS_write_mnc, INDEX_NONE,
183         &   'PTRACERS_write_mnc =', ' /* write mnc files */')
184    
185          DO iTracer=1,PTRACERS_numInUse
186            WRITE(msgBuf,'(A)') ' -----------------------------------'
187            CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT , 1)
188            WRITE(msgBuf,'(A,I4)') ' tracer number : ',iTracer
189            CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT , 1)
190            CALL WRITE_0D_I( PTRACERS_advScheme(iTracer), INDEX_NONE,
191         &     'PTRACERS_advScheme =', ' /* Advection Scheme */')
192            CALL WRITE_0D_R8( PTRACERS_diffKh(iTracer), INDEX_NONE,
193         &     'PTRACERS_diffKh =', ' /* Laplacian Diffusivity */')
194            CALL WRITE_0D_R8( PTRACERS_diffK4(iTracer), INDEX_NONE,
195         &     'PTRACERS_diffK4 =', ' /* Biharmonic Diffusivity */')
196            CALL WRITE_1D_R8( PTRACERS_diffKrNr(1,iTracer), Nr, INDEX_K,
197         &     'PTRACERS_diffKrNr =', ' /* Vertical Diffusivity */')
198            CALL WRITE_0D_L( PTRACERS_useGMRedi(iTracer), INDEX_NONE,
199         &     'PTRACERS_useGMRedi =', ' /* apply GM-Redi */')
200            CALL WRITE_0D_L( PTRACERS_useKPP(iTracer), INDEX_NONE,
201         &     'PTRACERS_useKPP =', ' /* apply KPP scheme */')
202    
203          ENDDO
204            WRITE(msgBuf,'(A)') ' -----------------------------------'
205            CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT , 1)
206  #endif /* ALLOW_PTRACERS */  #endif /* ALLOW_PTRACERS */
207    
208        RETURN        RETURN

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

  ViewVC Help
Powered by ViewVC 1.1.22