/[MITgcm]/MITgcm/pkg/kpp/kpp_readparms.F
ViewVC logotype

Diff of /MITgcm/pkg/kpp/kpp_readparms.F

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

revision 1.5 by jmc, Thu Mar 7 14:27:47 2002 UTC revision 1.22 by jmc, Tue May 27 23:41:29 2014 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3  #include "KPP_OPTIONS.h"  #include "KPP_OPTIONS.h"
4    
5    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
6    CBOP 0
7    C     !ROUTINE: KPP_READPARMS
8    
9    C     !INTERFACE:
10        SUBROUTINE KPP_READPARMS( myThid )        SUBROUTINE KPP_READPARMS( myThid )
 C     /==========================================================\  
 C     | SUBROUTINE KPP_READPARMS                                 |  
 C     | o Routine to read in file data.kpp                       |  
 C     \==========================================================/  
       IMPLICIT NONE  
11    
12  C     === Global variables ===  C     !DESCRIPTION:
13    C     Routine to read in file data.kpp
14    
15    C     !USES:
16          IMPLICIT NONE
17  #include "SIZE.h"  #include "SIZE.h"
18  #include "EEPARAMS.h"  #include "EEPARAMS.h"
19  #include "PARAMS.h"  #include "PARAMS.h"
 #include "GRID.h"  
20  #include "KPP_PARAMS.h"  #include "KPP_PARAMS.h"
21    
22  C     === Routine arguments ===  C     !INPUT PARAMETERS:
 C     myThid -  Number of this instance of KPP_INIT  
23        INTEGER myThid        INTEGER myThid
24    CEOP
25    
26    C     !LOCAL VARIABLES:
27  #ifdef ALLOW_KPP  #ifdef ALLOW_KPP
28    C     msgBuf      - Informational/error message buffer
 C     === Local variables ===  
 C     msgBuf      - Informational/error meesage buffer  
29  C     errIO       - IO error flag  C     errIO       - IO error flag
30  C     iUnit       - Work variable for IO unit number  C     iUnit       - Work variable for IO unit number
 C     k           - Loop counter  
   
31        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
32        INTEGER errIO, iUnit, k        INTEGER errIO, iUnit
33    
34  C--   KPP vertical mixing parameters  C--   KPP vertical mixing parameters
35        NAMELIST /KPP_PARM01/        NAMELIST /KPP_PARM01/
36       & kpp_freq, kpp_dumpFreq, kpp_taveFreq,       & kpp_freq, kpp_dumpFreq, kpp_taveFreq,
37       & KPPmixingMaps, KPPwriteState,       & KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus,
38         & KPPuseDoubleDiff, LimitHblStable,
39       & minKPPhbl,       & minKPPhbl,
40       & epsln, phepsi, epsilon, vonk, dB_dz,       & epsln, phepsi, epsilon, vonk, dB_dz,
41       & conc1, conam, concm, conc2, zetam,       & conc1, conam, concm, conc2, zetam,
42       & conas, concs, conc3, zetas,       & conas, concs, conc3, zetas,
43       & Ricr, cekman, cmonob, concv, hbf,       & Ricr, cekman, cmonob, concv, hbf,
44       & zmin, zmax, umin, umax,       & zmin, zmax, umin, umax,
45       & num_v_smooth_Ri, num_v_smooth_BV,       & num_v_smooth_Ri, num_v_smooth_BV,
46       & num_z_smooth_sh, num_m_smooth_sh,       & num_z_smooth_sh, num_m_smooth_sh,
47       & Riinfty, BVSQcon, difm0, difs0, dift0,       & Riinfty, BVSQcon, difm0, difs0, dift0,
48       & difmcon, difscon, diftcon,       & difmcon, difscon, diftcon,
49         & Rrho0, dsfmax,
50       & cstar       & cstar
51    
52    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
53    
54          IF ( .NOT.useKPP ) THEN
55    C-    pkg KPP is not used
56            _BEGIN_MASTER(myThid)
57    C-    Track pkg activation status:
58    C     print a (weak) warning if data.kpp is found
59             CALL PACKAGES_UNUSED_MSG( 'useKPP', ' ', ' ' )
60            _END_MASTER(myThid)
61            RETURN
62          ENDIF
63    
64        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
65    
66        WRITE(msgBuf,'(A)') ' KPP_INIT: opening data.kpp'        WRITE(msgBuf,'(A)') ' KPP_INIT: opening data.kpp'
67        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
68       &                    SQUEEZE_RIGHT , 1)       &                    SQUEEZE_RIGHT , 1)
69    
   
70        CALL OPEN_COPY_DATA_FILE(        CALL OPEN_COPY_DATA_FILE(
71       I                          'data.kpp', 'KPP_INIT',       I                          'data.kpp', 'KPP_INIT',
72       O                          iUnit,       O                          iUnit,
73       I                          myThid )       I                          myThid )
74    
75  C--   set default KPP vertical mixing parameters  C--   set default KPP vertical mixing parameters
76        kpp_freq      = deltaTClock        kpp_freq               = deltaTClock
77        kpp_dumpFreq  = 0.        kpp_dumpFreq           = dumpFreq
78        kpp_taveFreq  = 0.        kpp_taveFreq           = taveFreq
79        KPPmixingMaps = .FALSE.        KPPmixingMaps          = .FALSE.
80        KPPwriteState = .FALSE.        KPPwriteState          = .FALSE.
81        minKPPhbl     = drF(1)*0.5        KPPuseDoubleDiff       = .FALSE.
82          LimitHblStable         = .TRUE.
83          KPP_ghatUseTotalDiffus = .FALSE.
84          minKPPhbl = UNSET_RL
85    
86  C-----------------------------------------------------------------------  C-----------------------------------------------------------------------
87  C define some non-dimensional constants and  C define some non-dimensional constants and
88  C the vertical mixing coefficients in m-k-s units  C the vertical mixing coefficients in m-k-s units
89  C-----------------------------------------------------------------------  C-----------------------------------------------------------------------
   
       epsln   = 1.e-20  
       phepsi  = 1.e-10  
       epsilon = 0.1  
       vonk    = 0.40  
       dB_dz   = 5.2e-5  
       conc1   = 5.0  
       conam   = 1.257  
       concm   = 8.380  
       conc2   = 16.0  
       zetam   = -0.2  
       conas   = -28.86  
       concs   = 98.96  
       conc3   = 16.0  
       zetas   = -1.0  
   
 c     parameters for subroutine "bldepth"  
   
       Ricr    = 0.30  
       cekman  = 0.7  
       cmonob  = 1.0  
       concv   = 1.8  
       hbf     = 1.0  
   
 c     parameters and common arrays for subroutines  
 c     "kmixinit" and "wscale"  
   
       zmin    = -4.e-7  
       zmax    = 0.0  
       umin    = 0.0  
       umax    = .04  
90    
91  c     parameters for subroutine "Ri_iwmix"        epsln   =   1. _d -20
92          phepsi  =   1. _d -10
93          epsilon =   1. _d -1
94          vonk    =   0.4 _d 0
95          dB_dz   =   5.2 _d -5
96          conc1   =   5. _d 0
97          conam   =   1.257 _d 0
98          concm   =   8.380 _d 0
99          conc2   =  16. _d 0
100          zetam   =  -0.2 _d 0
101          conas   = -28.86 _d 0
102          concs   =  98.96 _d 0
103          conc3   =  16. _d 0
104          zetas   =  -1. _d 0
105    
106    C     parameters for subroutine "bldepth"
107    
108          Ricr    = 0.3 _d 0
109          cekman  = 0.7 _d 0
110          cmonob  = 1.  _d 0
111          concv   = 1.8 _d 0
112          hbf     = 1.  _d 0
113    
114    C     parameters and common arrays for subroutines
115    C     "kmixinit" and "wscale"
116    
117          zmin    = -4. _d -7
118          zmax    =  0. _d 0
119          umin    =  0. _d 0
120          umax    =  4. _d -2
121    
122    C     parameters for subroutine "Ri_iwmix"
123    
124        num_v_smooth_Ri = 0        num_v_smooth_Ri = 0
125        num_v_smooth_BV = 0        num_v_smooth_BV = 0
126        num_z_smooth_sh = 0        num_z_smooth_sh = 0
127        num_m_smooth_sh = 0        num_m_smooth_sh = 0
128        Riinfty = 0.7        Riinfty =  0.7 _d 0
129        BVSQcon = -0.2e-4        BVSQcon = -0.2 _d -4
130    
131          difm0   = 5. _d -3
132          difs0   = 5. _d -3
133          dift0   = 5. _d -3
134    
135          difmcon = 0.1 _d 0
136          difscon = 0.1 _d 0
137          diftcon = 0.1 _d 0
138    
139    C     parameters for double diffusion routine "KPP_DOUBLEDIFF"
140    
141        difm0   = 0.005        Rrho0   = 1.9 _d 0
142        difs0   = 0.005        dsfmax  = 10. _d -3
       dift0   = 0.005  
   
       difmcon = 0.1  
       difscon = 0.1  
       diftcon = 0.1  
143    
144  C     parameters for subroutine "blmix"  C     parameters for subroutine "blmix"
145    
# Line 158  C--   Everyone else must wait for the pa Line 179  C--   Everyone else must wait for the pa
179    
180  #endif /* ALLOW_KPP */  #endif /* ALLOW_KPP */
181    
182        return        RETURN
183        end        END

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.22