/[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.1 by heimbach, Tue Sep 12 18:14:32 2000 UTC revision 1.19 by dfer, Thu May 28 22:59:22 2009 UTC
# Line 1  Line 1 
1    C $Header$
2    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
   
 C     === Local variables ===  
28  C     msgBuf      - Informational/error meesage buffer  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    
32        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
33        INTEGER errIO, iUnit, k        INTEGER errIO, iUnit
34    
35  C--   KPP vertical mixing parameters  C--   KPP vertical mixing parameters
36        NAMELIST /KPP_PARM01/        NAMELIST /KPP_PARM01/
37       & kpp_freq, kpp_dumpFreq, kpp_taveFreq,       & kpp_freq, kpp_dumpFreq, kpp_taveFreq,
38       & KPPmixingMaps, KPPwriteState,       & KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus,
39       & minKPPviscAz, maxKPPviscAz, minKPPghat, maxKPPghat,       & LimitHblStable,
      & minKPPdiffKzT, maxKPPdiffKzT, minKPPdiffKzS, maxKPPdiffKzS,  
40       & minKPPhbl,       & minKPPhbl,
41       & epsln, phepsi, epsilon, vonk, dB_dz,       & epsln, phepsi, epsilon, vonk, dB_dz,
42       & conc1, conam, concm, conc2, zetam,       & conc1, conam, concm, conc2, zetam,
43       & conas, concs, conc3, zetas,       & conas, concs, conc3, zetas,
44       & Ricr, cekman, cmonob, concv, hbf,       & Ricr, cekman, cmonob, concv, hbf,
45       & zmin, zmax, umin, umax,       & zmin, zmax, umin, umax,
46       & num_v_smooth_Ri, num_v_smooth_BV,       & num_v_smooth_Ri, num_v_smooth_BV,
47       & num_z_smooth_sh, num_m_smooth_sh,       & num_z_smooth_sh, num_m_smooth_sh,
48       & Riinfty, BVSQcon, difm0, difs0, dift0,       & Riinfty, BVSQcon, difm0, difs0, dift0,
49       & difmcon, difscon, diftcon,       & difmcon, difscon, diftcon,
50       & cstar       & cstar
51    
       kppPackageIsOn = .TRUE.  
   
52        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
53    
54        WRITE(msgBuf,'(A)') ' KPP_INIT: opening data.kpp'        WRITE(msgBuf,'(A)') ' KPP_INIT: opening data.kpp'
# Line 63  C--   KPP vertical mixing parameters Line 63  C--   KPP vertical mixing parameters
63    
64  C--   set default KPP vertical mixing parameters  C--   set default KPP vertical mixing parameters
65        kpp_freq      = deltaTClock        kpp_freq      = deltaTClock
66        kpp_dumpFreq  = 0.        kpp_dumpFreq  = dumpFreq
67        kpp_taveFreq  = 0.        kpp_taveFreq  = taveFreq
68        KPPmixingMaps = .FALSE.        KPPmixingMaps = .FALSE.
69        KPPwriteState = .FALSE.        KPPwriteState = .FALSE.
70        minKPPghat    = 0.        LimitHblStable= .TRUE.
71        maxKPPghat    = 1.e10        KPP_ghatUseTotalDiffus = .FALSE.
72        minKPPviscAz  = 0.        minKPPhbl = UNSET_RL
       DO k = 1,Nr  
          maxKPPviscAz(k) = 100.  
       ENDDO  
       minKPPdiffKzT = 0.  
       maxKPPdiffKzT = 100.  
       minKPPdiffKzS = 0.  
       maxKPPdiffKzS = 100.  
       minKPPhbl     = delZ(1)*0.5  
73    
74  C-----------------------------------------------------------------------  C-----------------------------------------------------------------------
75  C define some non-dimensional constants and  C define some non-dimensional constants and
76  C the vertical mixing coefficients in m-k-s units  C the vertical mixing coefficients in m-k-s units
77  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  
78    
79  c     parameters for subroutine "Ri_iwmix"        epsln   =   1. _d -20
80          phepsi  =   1. _d -10
81          epsilon =   1. _d -1
82          vonk    =   0.4 _d 0
83          dB_dz   =   5.2 _d -5
84          conc1   =   5. _d 0
85          conam   =   1.257 _d 0
86          concm   =   8.380 _d 0
87          conc2   =  16. _d 0
88          zetam   =  -0.2 _d 0
89          conas   = -28.86 _d 0
90          concs   =  98.96 _d 0
91          conc3   =  16. _d 0
92          zetas   =  -1. _d 0
93    
94    C     parameters for subroutine "bldepth"
95    
96          Ricr    = 0.3 _d 0
97          cekman  = 0.7 _d 0
98          cmonob  = 1.  _d 0
99          concv   = 1.8 _d 0
100          hbf     = 1.  _d 0
101    
102    C     parameters and common arrays for subroutines
103    C     "kmixinit" and "wscale"
104    
105          zmin    = -4. _d -7
106          zmax    =  0. _d 0
107          umin    =  0. _d 0
108          umax    =  4. _d -2
109    
110    C     parameters for subroutine "Ri_iwmix"
111    
112        num_v_smooth_Ri = 0        num_v_smooth_Ri = 0
113        num_v_smooth_BV = 0        num_v_smooth_BV = 0
114        num_z_smooth_sh = 0        num_z_smooth_sh = 0
115        num_m_smooth_sh = 0        num_m_smooth_sh = 0
116        Riinfty = 0.7        Riinfty =  0.7 _d 0
117        BVSQcon = -0.2e-4        BVSQcon = -0.2 _d -4
118    
119        difm0   = 0.005        difm0   = 5. _d -3
120        difs0   = 0.005        difs0   = 5. _d -3
121        dift0   = 0.005        dift0   = 5. _d -3
122    
123        difmcon = 0.1        difmcon = 0.1 _d 0
124        difscon = 0.1        difscon = 0.1 _d 0
125        diftcon = 0.1        diftcon = 0.1 _d 0
126    
127  C     parameters for subroutine "blmix"  C     parameters for subroutine "blmix"
128    
# Line 165  C      CALL MODELDATA_EXAMPLE( myThid ) Line 157  C      CALL MODELDATA_EXAMPLE( myThid )
157    
158        _END_MASTER(myThid)        _END_MASTER(myThid)
159    
160    #ifdef ALLOW_MNC
161          IF (useMNC) THEN
162    C       Define grid types for KPP variables
163            CALL MNC_CW_ADD_VNAME('KPPviscAz', 'Cen_xy_Hn__C__t',
164         &       4,5, myThid)
165            CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','units','m^2/s',
166         &       myThid)
167            CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','long_name',
168         &       'KPP_vertical_eddy_viscosity_coefficient', myThid)
169            CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz',
170         &       'coordinates','XC YC RC iter', myThid)
171    
172            CALL MNC_CW_ADD_VNAME('KPPdiffKzS', 'Cen_xy_Hn__C__t',
173         &       4,5, myThid)
174            CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','units','m^2/s',
175         &       myThid)
176            CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','long_name',
177         &       'KPP_salt-tracer_vertical_diffusion_coefficient',
178         &       myThid)
179            CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS',
180         &       'coordinates','XC YC RC iter', myThid)
181    
182            CALL MNC_CW_ADD_VNAME('KPPdiffKzT', 'Cen_xy_Hn__C__t',
183         &       4,5, myThid)
184            CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','units','m^2/s',
185         &       myThid)
186            CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','long_name',
187         &       'KPP_vertical_heat_diffusion_coefficient', myThid)
188            CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT',
189         &       'coordinates','XC YC RC iter', myThid)
190    
191            CALL MNC_CW_ADD_VNAME('KPPGHAT', 'Cen_xy_Hn__C__t',
192         &       4,5, myThid)
193            CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT','units','s/m^2',
194         &       myThid)
195            CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT','long_name',
196         &       'KPP_nonlocal_transport_coefficient', myThid)
197            CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT',
198         &       'coordinates','XC YC RC iter', myThid)
199    
200            CALL MNC_CW_ADD_VNAME('KPPHBL', 'Cen_xy_Hn__-__t',
201         &       3,4, myThid)
202            CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL','units','m',
203         &       myThid)
204            CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL','long_name',
205         &       'KPP_boundary_layer_depth', myThid)
206            CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL',
207         &       'coordinates','XC YC iter', myThid)
208    
209            CALL MNC_CW_ADD_VNAME('KPPFRAC', 'Cen_xy_Hn__-__t',
210         &       3,4, myThid)
211            CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC','units','dimless',
212         &       myThid)
213            CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC','long_name',
214         &       'KPP_short-wave_fraction_penetrating_mixing_layer',
215         &       myThid)
216            CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC',
217         &       'coordinates','XC YC iter', myThid)
218          ENDIF
219    #endif /* ALLOW_MNC */
220    
221  C--   Everyone else must wait for the parameters to be loaded  C--   Everyone else must wait for the parameters to be loaded
222        _BARRIER        _BARRIER
223    
224  #endif /* ALLOW_KPP */  #endif /* ALLOW_KPP */
225    
226        return        RETURN
227        end        END

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

  ViewVC Help
Powered by ViewVC 1.1.22