/[MITgcm]/MITgcm/pkg/ggl90/ggl90_readparms.F
ViewVC logotype

Diff of /MITgcm/pkg/ggl90/ggl90_readparms.F

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

revision 1.2 by mlosch, Mon Sep 27 08:02:04 2004 UTC revision 1.7 by jmc, Thu Jun 8 14:15:26 2006 UTC
# Line 28  C     errIO       - IO error flag Line 28  C     errIO       - IO error flag
28  C     iUnit       - Work variable for IO unit number  C     iUnit       - Work variable for IO unit number
29    
30        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
31        INTEGER errIO, iUnit        INTEGER errIO, iUnit, iL
32    
33          INTEGER  ILNBLNK
34          EXTERNAL ILNBLNK
35    
36  C--   GGL90 vertical mixing parameters  C--   GGL90 vertical mixing parameters
37        NAMELIST /GGL90_PARM01/        NAMELIST /GGL90_PARM01/
# Line 36  C--   GGL90 vertical mixing parameters Line 39  C--   GGL90 vertical mixing parameters
39       &     GGL90diffTKEh,       &     GGL90diffTKEh,
40       &     GGL90mixingMaps, GGL90writeState,       &     GGL90mixingMaps, GGL90writeState,
41       &     GGL90ck, GGL90ceps, GGL90alpha, GGL90m2,       &     GGL90ck, GGL90ceps, GGL90alpha, GGL90m2,
42       &     GGL90TKEmin, GGL90TKEbottom,       &     GGL90TKEmin, GGL90TKEsurfMin, GGL90TKEbottom,
43       &     GGL90mixingLengthMin, GGL90viscMax, GGL90diffMax,       &     GGL90mixingLengthMin, GGL90viscMax, GGL90diffMax,
44       &     GGL90TKEFile       &     GGL90TKEFile
45        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
# Line 59  C--   set default TKE vertical mixing pa Line 62  C--   set default TKE vertical mixing pa
62        GGL90ck              = 0.1 _d 0        GGL90ck              = 0.1 _d 0
63        GGL90ceps            = 0.7 _d 0        GGL90ceps            = 0.7 _d 0
64        GGL90alpha           = 1.0 _d 0        GGL90alpha           = 1.0 _d 0
65        GGL90m2              = 3.0 _d 0  C     Blanke and Delecluse (1993, JPO) use
66          GGL90m2              = 3.75 _d 0
67        GGL90TKEmin          = 1.0 _d -11        GGL90TKEmin          = 1.0 _d -11
68    C     Blanke and Delecluse (1993, JPO) use
69          GGL90TKEsurfMin      = 1.0 _d -04
70        GGL90TKEbottom       = UNSET_RL        GGL90TKEbottom       = UNSET_RL
71        GGL90viscMax         = 1.0 _d 0        GGL90viscMax         = 1.0 _d 0
72        GGL90diffMax         = 1.0 _d 1        GGL90diffMax         = 1.0 _d 1
# Line 99  C      CALL MODELDATA_EXAMPLE( myThid ) Line 105  C      CALL MODELDATA_EXAMPLE( myThid )
105        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
106       &                    SQUEEZE_RIGHT , 1)       &                    SQUEEZE_RIGHT , 1)
107    
       _END_MASTER(myThid)  
   
 C--   Everyone else must wait for the parameters to be loaded  
       _BARRIER  
   
108  C Now set-up any remaining parameters that result from the input parameters  C Now set-up any remaining parameters that result from the input parameters
109        IF ( GGL90TKEbottom .EQ. UNSET_RL ) THEN        IF ( GGL90TKEbottom .EQ. UNSET_RL ) THEN
110         GGL90TKEbottom = GGL90TKEmin         GGL90TKEbottom = GGL90TKEmin
# Line 137  C Now set-up any remaining parameters th Line 138  C Now set-up any remaining parameters th
138         STOP 'ABNORMAL END: S/R GGL90_READPARMS'         STOP 'ABNORMAL END: S/R GGL90_READPARMS'
139        ENDIF        ENDIF
140    
141    C--   print TKE vertical mixing parameters to stdout for better debugging
142          WRITE(msgBuf,'(A)')
143         &'// ======================================================='
144          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
145         &                    SQUEEZE_RIGHT , 1)
146          WRITE(msgBuf,'(A)') '// GGL90 configuration'
147          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
148         &                    SQUEEZE_RIGHT , 1)
149          WRITE(msgBuf,'(A)')
150         &'// ======================================================='
151          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
152         &  SQUEEZE_RIGHT , 1)
153    
154          CALL WRITE_0D_R8( GGL90dumpFreq, INDEX_NONE,'GGL90dumpFreq =',
155         &'   /* GGL90 state write out interval ( s ). */')
156          CALL WRITE_0D_R8( GGL90taveFreq, INDEX_NONE,'GGL90taveFreq =',
157         &'   /* GGL90 averaging interval ( s ). */')
158          CALL WRITE_0D_L(GGL90mixingMaps,INDEX_NONE,
159         &     'GGL90mixingMAPS =', '   /* GGL90 IO flag. */')
160          CALL WRITE_0D_L(GGL90writeState,INDEX_NONE,
161         &     'GGL90writeState =', '   /* GGL90 IO flag. */')
162          CALL WRITE_0D_R8( GGL90ck, INDEX_NONE,'GGL90ck =',
163         &'   /* GGL90 viscosity parameter. */')
164          CALL WRITE_0D_R8( GGL90ceps, INDEX_NONE,'GGL90ceps =',
165         &'   /* GGL90 dissipation parameter. */')
166          CALL WRITE_0D_R8( GGL90alpha, INDEX_NONE,'GGL90alpha =',
167         &'   /* GGL90 TKE diffusivity parameter. */')
168          CALL WRITE_0D_R8( GGL90m2, INDEX_NONE,'GGL90m2 =',
169         &'   /* GGL90 wind stress to vertical stress ratio. */')
170          CALL WRITE_0D_R8( GGL90TKEmin, INDEX_NONE,'GGL90TKEmin =',
171         &'   /* GGL90 minimum kinetic energy ( m^2/s^2 ). */')
172          CALL WRITE_0D_R8( GGL90TKEsurfMin, INDEX_NONE,
173         &     'GGL90TKEsurfMin =',
174         &'   /* GGL90 minimum surface kinetic energy ( m^2/s^2 ). */')
175          CALL WRITE_0D_R8( GGL90TKEbottom, INDEX_NONE,
176         &     'GGL90TKEbottom =',
177         &     '   /* GGL90 bottom kinetic energy ( m^2/s^2 ). */')
178          CALL WRITE_0D_R8( GGL90viscMax, INDEX_NONE,'GGL90viscMax =',
179         &     '   /* GGL90 upper limit for viscosity ( m^2/s ). */')
180          CALL WRITE_0D_R8( GGL90diffMax, INDEX_NONE,'GGL90diffMax =',
181         &     '   /* GGL90 upper limit for diffusivity ( m^2/s ). */')
182          CALL WRITE_0D_R8( GGL90diffTKEh, INDEX_NONE,'GGL90diffTKEh =',
183         &     '   /* GGL90 horizontal diffusivity for TKE ( m^2/s ). */')
184          CALL WRITE_0D_R8( GGL90mixingLengthMin, INDEX_NONE,
185         &     'GGL90mixingLengthMin =',
186         &     '   /* GGL90 minimum mixing length ( m ). */')
187          iL = MAX_LEN_MBUF - 22
188          iL = MIN(iL,ILNBLNK(GGL90TKEFile))
189          WRITE(msgBuf,'(A,A)')'GGL90: GGL90TKEFile = ',GGL90TKEFile(1:iL)
190          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
191         &                    SQUEEZE_RIGHT , 1)
192    
193          WRITE(msgBuf,'(A)')
194         &'// ======================================================='
195          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
196         &                    SQUEEZE_RIGHT , 1)
197          WRITE(msgBuf,'(A)') '// End of GGL90 config. summary'
198          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
199         &                    SQUEEZE_RIGHT , 1)
200          WRITE(msgBuf,'(A)')
201         &'// ======================================================='
202          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
203         &  SQUEEZE_RIGHT , 1)
204          WRITE(msgBuf,'(A)') ' '
205          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
206         &  SQUEEZE_RIGHT , 1)
207    
208          _END_MASTER(myThid)
209    
210    C--   Everyone else must wait for the parameters to be loaded
211          _BARRIER
212    
213  #endif /* ALLOW_GGL90 */  #endif /* ALLOW_GGL90 */
214    
215        return        return

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22