/[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.19 by jmc, Sat May 14 22:50:15 2005 UTC revision 1.24 by jmc, Tue May 23 23:32:41 2006 UTC
# Line 6  C $Name$ Line 6  C $Name$
6  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7  CBOP  CBOP
8  C     !ROUTINE: PTRACERS_READPARMS  C     !ROUTINE: PTRACERS_READPARMS
9          
10  C     !INTERFACE:  C     !INTERFACE:
11        SUBROUTINE PTRACERS_READPARMS( myThid )        SUBROUTINE PTRACERS_READPARMS( myThid )
12          
13  C     !DESCRIPTION:  C     !DESCRIPTION:
14  C     Initialize PTRACERS parameters, read in data.ptracers  C     Initialize PTRACERS parameters, read in data.ptracers
15    
# Line 20  C     !USES: Line 20  C     !USES:
20  #include "PTRACERS_SIZE.h"  #include "PTRACERS_SIZE.h"
21  #include "PTRACERS.h"  #include "PTRACERS.h"
22  #include "PARAMS.h"  #include "PARAMS.h"
23    #ifdef ALLOW_MNC
24    #include "MNC_PARAMS.h"
25    #endif
26    
27  C     !INPUT PARAMETERS:  C     !INPUT PARAMETERS:
28        INTEGER myThid        INTEGER myThid
# Line 49  C                          are written t Line 52  C                          are written t
52       &     PTRACERS_diffK4,       &     PTRACERS_diffK4,
53       &     PTRACERS_diffKr,       &     PTRACERS_diffKr,
54       &     PTRACERS_diffKrNr,       &     PTRACERS_diffKrNr,
55         &     PTRACERS_ref,
56         &     PTRACERS_EvPrRn,
57       &     PTRACERS_useGMRedi,       &     PTRACERS_useGMRedi,
58       &     PTRACERS_useKPP,       &     PTRACERS_useKPP,
59       &     PTRACERS_Iter0,       &     PTRACERS_Iter0,
# Line 58  C                          are written t Line 63  C                          are written t
63       &     PTRACERS_names,       &     PTRACERS_names,
64       &     PTRACERS_long_names,       &     PTRACERS_long_names,
65       &     PTRACERS_units,       &     PTRACERS_units,
66       &     PTRACERS_write_mnc       &     PTRACERS_timeave_mnc,
67         &     PTRACERS_snapshot_mnc,
68         &     PTRACERS_monitor_mnc,
69         &     PTRACERS_pickup_write_mnc,
70         &     PTRACERS_pickup_read_mnc
71    
72  C     This routine has been called by the main model so we set our  C     This routine has been called by the main model so we set our
73  C     internal flag to indicate we are in business  C     internal flag to indicate we are in business
# Line 78  C     Set defaults values for parameters Line 87  C     Set defaults values for parameters
87          PTRACERS_diffKr(iTracer)=UNSET_RL          PTRACERS_diffKr(iTracer)=UNSET_RL
88          DO k=1,Nr          DO k=1,Nr
89            PTRACERS_diffKrNr(k,iTracer)=diffKrNrS(k)            PTRACERS_diffKrNr(k,iTracer)=diffKrNrS(k)
90              PTRACERS_ref     (k,iTracer)=0. _d 0
91          ENDDO          ENDDO
92            PTRACERS_EvPrRn(iTracer)=UNSET_RL
93          PTRACERS_useGMRedi(iTracer)=useGMRedi          PTRACERS_useGMRedi(iTracer)=useGMRedi
94          PTRACERS_useKPP(iTracer)=useKPP          PTRACERS_useKPP(iTracer)=useKPP
95          PTRACERS_initialFile(iTracer)=' '          PTRACERS_initialFile(iTracer)=' '
# Line 88  C     Set defaults values for parameters Line 99  C     Set defaults values for parameters
99            PTRACERS_units(iTracer)(ic:ic) = ' '            PTRACERS_units(iTracer)(ic:ic) = ' '
100          ENDDO          ENDDO
101        ENDDO        ENDDO
102        PTRACERS_useRecords  = .FALSE.        PTRACERS_useRecords       = .FALSE.
103        PTRACERS_write_mdsio = .TRUE.  #ifdef ALLOW_MNC
104        PTRACERS_write_mnc   = .FALSE.        PTRACERS_timeave_mnc      = timeave_mnc .AND. useMNC
105          PTRACERS_snapshot_mnc     = snapshot_mnc .AND. useMNC
106          PTRACERS_monitor_mnc      = monitor_mnc .AND. useMNC
107          PTRACERS_pickup_write_mnc = pickup_write_mnc .AND. useMNC
108          PTRACERS_pickup_read_mnc  = pickup_read_mnc .AND. useMNC
109    #else
110          PTRACERS_timeave_mnc      = .FALSE.
111          PTRACERS_snapshot_mnc     = .FALSE.
112          PTRACERS_monitor_mnc      = .FALSE.
113          PTRACERS_pickup_write_mnc = .FALSE.
114          PTRACERS_pickup_read_mnc  = .FALSE.
115    #endif
116    
117  C     Open and read the data.ptracers file  C     Open and read the data.ptracers file
118        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
# Line 168  C     Check that enough parameters were Line 190  C     Check that enough parameters were
190        ENDDO        ENDDO
191    
192  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
193        IF (useMNC) THEN        PTRACERS_timeave_mnc      =
194  C       Set the default I/O Types       &     PTRACERS_timeave_mnc      .AND. useMNC
195          IF ( (.NOT. outputTypesInclusive)        PTRACERS_snapshot_mnc     =
196       &       .AND. PTRACERS_write_mnc ) PTRACERS_write_mdsio = .FALSE.       &     PTRACERS_snapshot_mnc     .AND. useMNC
197                  PTRACERS_monitor_mnc      =
198  C       Initialize the MNC variable types for PTRACERS       &     PTRACERS_monitor_mnc      .AND. useMNC .AND. monitor_mnc
199          CALL PTRACERS_MNC_INIT( myThid )        PTRACERS_pickup_write_mnc =
200        ENDIF       &     PTRACERS_pickup_write_mnc .AND. useMNC
201  #endif /*  ALLOW_MNC  */        PTRACERS_pickup_read_mnc  =
202               &     PTRACERS_pickup_read_mnc  .AND. useMNC
203    
204          PTRACERS_timeave_mdsio      = (.NOT. PTRACERS_timeave_mnc)
205         &     .OR. outputTypesInclusive
206          PTRACERS_snapshot_mdsio     = (.NOT. PTRACERS_snapshot_mnc)
207         &     .OR. outputTypesInclusive
208          PTRACERS_monitor_stdio      = (.NOT. PTRACERS_monitor_mnc)
209         &     .OR. outputTypesInclusive
210          PTRACERS_pickup_write_mdsio = (.NOT. PTRACERS_pickup_write_mnc)
211         &     .OR. outputTypesInclusive
212          PTRACERS_pickup_read_mdsio  = (.NOT. PTRACERS_pickup_read_mnc)
213         &     .OR. outputTypesInclusive
214    
215    #else
216          PTRACERS_timeave_mnc        = .FALSE.
217          PTRACERS_snapshot_mnc       = .FALSE.
218          PTRACERS_monitor_mnc        = .FALSE.
219          PTRACERS_pickup_write_mnc   = .FALSE.
220          PTRACERS_pickup_read_mnc    = .FALSE.
221          PTRACERS_timeave_mdsio      = .TRUE.
222          PTRACERS_snapshot_mdsio     = .TRUE.
223          PTRACERS_monitor_stdio      = .TRUE.
224          PTRACERS_pickup_write_mdsio = .TRUE.
225          PTRACERS_pickup_read_mdsio  = .TRUE.
226    #endif
227    
228  C--   Print a summary of pTracer parameter values:  C--   Print a summary of pTracer parameter values:
229        iUnit = standardMessageUnit        iUnit = standardMessageUnit
230        WRITE(msgBuf,'(A)') '// ==================================='        WRITE(msgBuf,'(A)') '// ==================================='
# Line 200  C--   Print a summary of pTracer paramet Line 247  C--   Print a summary of pTracer paramet
247       &   ' /* Frequency^-1 for time-Aver. output (s) */')       &   ' /* Frequency^-1 for time-Aver. output (s) */')
248        CALL WRITE_0D_L( PTRACERS_useRecords, INDEX_NONE,        CALL WRITE_0D_L( PTRACERS_useRecords, INDEX_NONE,
249       &   'PTRACERS_useRecords =', ' /* all tracers in 1 file */')       &   'PTRACERS_useRecords =', ' /* all tracers in 1 file */')
250        CALL WRITE_0D_L( PTRACERS_write_mdsio, INDEX_NONE,        
251       &   'PTRACERS_write_mdsio =', ' /* write mdsio files */')        CALL WRITE_0D_L( PTRACERS_timeave_mnc, INDEX_NONE,
252        CALL WRITE_0D_L( PTRACERS_write_mnc, INDEX_NONE,       &     'PTRACERS_timeave_mnc =',
253       &   'PTRACERS_write_mnc =', ' /* write mnc files */')       &     ' /* use MNC for Tave output */')
254          CALL WRITE_0D_L( PTRACERS_snapshot_mnc, INDEX_NONE,
255         &     'PTRACERS_snapshot_mnc =',
256         &     ' /* use MNC for snapshot output */')
257          CALL WRITE_0D_L( PTRACERS_pickup_write_mnc, INDEX_NONE,
258         &     'PTRACERS_pickup_write_mnc =',
259         &     ' /* use MNC for writing pickups */')
260          CALL WRITE_0D_L( PTRACERS_pickup_read_mnc, INDEX_NONE,
261         &     'PTRACERS_pickup_read_mnc =',
262         &     ' /* use MNC for reading pickups */')
263    
264        DO iTracer=1,PTRACERS_numInUse        DO iTracer=1,PTRACERS_numInUse
265          WRITE(msgBuf,'(A)') ' -----------------------------------'          WRITE(msgBuf,'(A)') ' -----------------------------------'
# Line 225  C--   Print a summary of pTracer paramet Line 281  C--   Print a summary of pTracer paramet
281       &     'PTRACERS_useGMRedi =', ' /* apply GM-Redi */')       &     'PTRACERS_useGMRedi =', ' /* apply GM-Redi */')
282          CALL WRITE_0D_L( PTRACERS_useKPP(iTracer), INDEX_NONE,          CALL WRITE_0D_L( PTRACERS_useKPP(iTracer), INDEX_NONE,
283       &     'PTRACERS_useKPP =', ' /* apply KPP scheme */')       &     'PTRACERS_useKPP =', ' /* apply KPP scheme */')
284            CALL WRITE_1D_R8( PTRACERS_ref(1,iTracer), Nr, INDEX_K,
285         &     'PTRACERS_ref =', ' /* Reference vertical profile */')
286            CALL WRITE_0D_R8( PTRACERS_EvPrRn(iTracer), INDEX_NONE,
287         &     'PTRACERS_EvPrRn =', '/* tracer conc. in Evap. & Rain */')
288    
289        ENDDO        ENDDO
290          WRITE(msgBuf,'(A)') ' -----------------------------------'          WRITE(msgBuf,'(A)') ' -----------------------------------'

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.22