/[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.16 by edhill, Mon Dec 13 21:29:14 2004 UTC revision 1.23 by mlosch, Fri Oct 14 12:45:05 2005 UTC
# 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_useGMRedi,       &     PTRACERS_useGMRedi,
57       &     PTRACERS_useKPP,       &     PTRACERS_useKPP,
58         &     PTRACERS_Iter0,
59       &     PTRACERS_numInUse,       &     PTRACERS_numInUse,
60       &     PTRACERS_initialFile,       &     PTRACERS_initialFile,
61       &     PTRACERS_useRecords,       &     PTRACERS_useRecords,
62       &     PTRACERS_names,       &     PTRACERS_names,
63       &     PTRACERS_long_names,       &     PTRACERS_long_names,
64       &     PTRACERS_units,       &     PTRACERS_units,
65       &     PTRACERS_read_mnc,       &     PTRACERS_timeave_mnc,
66       &     PTRACERS_write_mnc       &     PTRACERS_snapshot_mnc,
67         &     PTRACERS_monitor_mnc,
68         &     PTRACERS_pickup_write_mnc,
69         &     PTRACERS_pickup_read_mnc
70    
71  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
72  C     internal flag to indicate we are in business  C     internal flag to indicate we are in business
73        PTRACERSisON=.TRUE.        PTRACERSisON=.TRUE.
74    
75  C     Set defaults values for parameters in PTRACERS.h  C     Set defaults values for parameters in PTRACERS.h
76        PTRACERS_taveFreq    = dumpFreq        PTRACERS_dumpFreq    = dumpFreq
77        PTRACERS_taveFreq    = taveFreq        PTRACERS_taveFreq    = taveFreq
78        PTRACERS_monitorFreq = monitorFreq        PTRACERS_monitorFreq = monitorFreq
79          PTRACERS_Iter0   = 0
80        PTRACERS_numInUse=-1        PTRACERS_numInUse=-1
81        DO iTracer=1,PTRACERS_num        DO iTracer=1,PTRACERS_num
82          PTRACERS_advScheme(iTracer)=saltAdvScheme          PTRACERS_advScheme(iTracer)=saltAdvScheme
# Line 77  C     Set defaults values for parameters Line 86  C     Set defaults values for parameters
86          PTRACERS_diffKr(iTracer)=UNSET_RL          PTRACERS_diffKr(iTracer)=UNSET_RL
87          DO k=1,Nr          DO k=1,Nr
88            PTRACERS_diffKrNr(k,iTracer)=diffKrNrS(k)            PTRACERS_diffKrNr(k,iTracer)=diffKrNrS(k)
89              PTRACERS_ref     (k,iTracer)=0. _d 0
90          ENDDO          ENDDO
91          PTRACERS_useGMRedi(iTracer)=useGMRedi          PTRACERS_useGMRedi(iTracer)=useGMRedi
92          PTRACERS_useKPP(iTracer)=useKPP          PTRACERS_useKPP(iTracer)=useKPP
# Line 87  C     Set defaults values for parameters Line 97  C     Set defaults values for parameters
97            PTRACERS_units(iTracer)(ic:ic) = ' '            PTRACERS_units(iTracer)(ic:ic) = ' '
98          ENDDO          ENDDO
99        ENDDO        ENDDO
100        PTRACERS_useRecords  = .FALSE.        PTRACERS_useRecords       = .FALSE.
101        PTRACERS_read_mdsio  = .TRUE.  #ifdef ALLOW_MNC
102        PTRACERS_read_mnc    = .FALSE.        PTRACERS_timeave_mnc      = timeave_mnc .AND. useMNC
103        PTRACERS_write_mdsio = .TRUE.        PTRACERS_snapshot_mnc     = snapshot_mnc .AND. useMNC
104        PTRACERS_write_mnc   = .FALSE.        PTRACERS_monitor_mnc      = monitor_mnc .AND. useMNC
105          PTRACERS_pickup_write_mnc = pickup_write_mnc .AND. useMNC
106          PTRACERS_pickup_read_mnc  = pickup_read_mnc .AND. useMNC
107    #else
108          PTRACERS_timeave_mnc      = .FALSE.
109          PTRACERS_snapshot_mnc     = .FALSE.
110          PTRACERS_monitor_mnc      = .FALSE.
111          PTRACERS_pickup_write_mnc = .FALSE.
112          PTRACERS_pickup_read_mnc  = .FALSE.
113    #endif
114    
115  C     Open and read the data.ptracers file  C     Open and read the data.ptracers file
116        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
# Line 169  C     Check that enough parameters were Line 188  C     Check that enough parameters were
188        ENDDO        ENDDO
189    
190  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
191        IF (useMNC) THEN        PTRACERS_timeave_mnc      =
192  C       Set the default I/O Types       &     PTRACERS_timeave_mnc      .AND. useMNC
193          IF (PTRACERS_read_mnc) PTRACERS_read_mdsio = .FALSE.        PTRACERS_snapshot_mnc     =
194          IF ( (.NOT. outputTypesInclusive)       &     PTRACERS_snapshot_mnc     .AND. useMNC
195       &       .AND. PTRACERS_write_mnc ) PTRACERS_write_mdsio = .FALSE.        PTRACERS_monitor_mnc      =
196                 &     PTRACERS_monitor_mnc      .AND. useMNC .AND. monitor_mnc
197  C       Initialize the MNC variable types for PTRACERS        PTRACERS_pickup_write_mnc =
198          CALL PTRACERS_MNC_INIT( myThid )       &     PTRACERS_pickup_write_mnc .AND. useMNC
199        ENDIF        PTRACERS_pickup_read_mnc  =
200  #endif /*  ALLOW_MNC  */       &     PTRACERS_pickup_read_mnc  .AND. useMNC
201    
202          PTRACERS_timeave_mdsio      = (.NOT. PTRACERS_timeave_mnc)
203         &     .OR. outputTypesInclusive
204          PTRACERS_snapshot_mdsio     = (.NOT. PTRACERS_snapshot_mnc)
205         &     .OR. outputTypesInclusive
206          PTRACERS_monitor_stdio      = (.NOT. PTRACERS_monitor_mnc)
207         &     .OR. outputTypesInclusive
208          PTRACERS_pickup_write_mdsio = (.NOT. PTRACERS_pickup_write_mnc)
209         &     .OR. outputTypesInclusive
210          PTRACERS_pickup_read_mdsio  = (.NOT. PTRACERS_pickup_read_mnc)
211         &     .OR. outputTypesInclusive
212          
213    #else
214          PTRACERS_timeave_mnc        = .FALSE.
215          PTRACERS_snapshot_mnc       = .FALSE.
216          PTRACERS_monitor_mnc        = .FALSE.
217          PTRACERS_pickup_write_mnc   = .FALSE.
218          PTRACERS_pickup_read_mnc    = .FALSE.
219          PTRACERS_timeave_mdsio      = .TRUE.
220          PTRACERS_snapshot_mdsio     = .TRUE.
221          PTRACERS_monitor_stdio      = .TRUE.
222          PTRACERS_pickup_write_mdsio = .TRUE.
223          PTRACERS_pickup_read_mdsio  = .TRUE.
224    #endif
225                
226  C--   Print a summary of pTracer parameter values:  C--   Print a summary of pTracer parameter values:
227        iUnit = standardMessageUnit        iUnit = standardMessageUnit
# Line 191  C--   Print a summary of pTracer paramet Line 234  C--   Print a summary of pTracer paramet
234        CALL WRITE_0D_I( PTRACERS_numInUse, INDEX_NONE,        CALL WRITE_0D_I( PTRACERS_numInUse, INDEX_NONE,
235       &   'PTRACERS_numInUse =',       &   'PTRACERS_numInUse =',
236       &   ' /* number of tracers */')       &   ' /* number of tracers */')
237          CALL WRITE_0D_I( PTRACERS_Iter0, INDEX_NONE,
238         &   'PTRACERS_Iter0 =',
239         &   ' /* timestep number when tracers are initialized */')
240        CALL WRITE_0D_R8(PTRACERS_dumpFreq, INDEX_NONE,        CALL WRITE_0D_R8(PTRACERS_dumpFreq, INDEX_NONE,
241       &   'PTRACERS_dumpFreq =',       &   'PTRACERS_dumpFreq =',
242       &   ' /* Frequency^-1 for snapshot output (s) */')       &   ' /* Frequency^-1 for snapshot output (s) */')
# Line 199  C--   Print a summary of pTracer paramet Line 245  C--   Print a summary of pTracer paramet
245       &   ' /* Frequency^-1 for time-Aver. output (s) */')       &   ' /* Frequency^-1 for time-Aver. output (s) */')
246        CALL WRITE_0D_L( PTRACERS_useRecords, INDEX_NONE,        CALL WRITE_0D_L( PTRACERS_useRecords, INDEX_NONE,
247       &   'PTRACERS_useRecords =', ' /* all tracers in 1 file */')       &   'PTRACERS_useRecords =', ' /* all tracers in 1 file */')
248        CALL WRITE_0D_L( PTRACERS_write_mdsio, INDEX_NONE,        
249       &   'PTRACERS_write_mdsio =', ' /* write mdsio files */')        CALL WRITE_0D_L( PTRACERS_timeave_mnc, INDEX_NONE,
250        CALL WRITE_0D_L( PTRACERS_write_mnc, INDEX_NONE,       &     'PTRACERS_timeave_mnc =',
251       &   'PTRACERS_write_mnc =', ' /* write mnc files */')       &     ' /* use MNC for Tave output */')
252          CALL WRITE_0D_L( PTRACERS_snapshot_mnc, INDEX_NONE,
253         &     'PTRACERS_snapshot_mnc =',
254         &     ' /* use MNC for snapshot output */')
255          CALL WRITE_0D_L( PTRACERS_pickup_write_mnc, INDEX_NONE,
256         &     'PTRACERS_pickup_write_mnc =',
257         &     ' /* use MNC for writing pickups */')
258          CALL WRITE_0D_L( PTRACERS_pickup_read_mnc, INDEX_NONE,
259         &     'PTRACERS_pickup_read_mnc =',
260         &     ' /* use MNC for reading pickups */')
261    
262        DO iTracer=1,PTRACERS_numInUse        DO iTracer=1,PTRACERS_numInUse
263          WRITE(msgBuf,'(A)') ' -----------------------------------'          WRITE(msgBuf,'(A)') ' -----------------------------------'

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.23

  ViewVC Help
Powered by ViewVC 1.1.22