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

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

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


Revision 1.22 - (hide annotations) (download)
Tue May 27 23:41:29 2014 UTC (10 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66i, checkpoint66h, checkpoint65o, checkpoint64y, checkpoint64z
Changes since 1.21: +15 -5 lines
add a call to S/R packages_unused_msg.F to print a weak warning
when parameter file "data.this_pkg" exist but  but useTHIS_PKG=F

1 jmc 1.22 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_readparms.F,v 1.21 2009/09/18 11:40:22 mlosch Exp $
2 jmc 1.5 C $Name: $
3 heimbach 1.1 #include "KPP_OPTIONS.h"
4    
5 edhill 1.9 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
6     CBOP 0
7     C !ROUTINE: KPP_READPARMS
8    
9     C !INTERFACE:
10 heimbach 1.1 SUBROUTINE KPP_READPARMS( myThid )
11 edhill 1.9
12     C !DESCRIPTION:
13     C Routine to read in file data.kpp
14    
15     C !USES:
16 heimbach 1.1 IMPLICIT NONE
17     #include "SIZE.h"
18     #include "EEPARAMS.h"
19     #include "PARAMS.h"
20     #include "KPP_PARAMS.h"
21    
22 edhill 1.9 C !INPUT PARAMETERS:
23 heimbach 1.1 INTEGER myThid
24 edhill 1.9 CEOP
25 heimbach 1.1
26 edhill 1.9 C !LOCAL VARIABLES:
27 heimbach 1.1 #ifdef ALLOW_KPP
28 jmc 1.22 C msgBuf - Informational/error message buffer
29 heimbach 1.1 C errIO - IO error flag
30     C iUnit - Work variable for IO unit number
31     CHARACTER*(MAX_LEN_MBUF) msgBuf
32 dimitri 1.7 INTEGER errIO, iUnit
33 heimbach 1.1
34     C-- KPP vertical mixing parameters
35     NAMELIST /KPP_PARM01/
36     & kpp_freq, kpp_dumpFreq, kpp_taveFreq,
37 jmc 1.12 & KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus,
38 mlosch 1.21 & KPPuseDoubleDiff, LimitHblStable,
39 heimbach 1.1 & minKPPhbl,
40     & epsln, phepsi, epsilon, vonk, dB_dz,
41     & conc1, conam, concm, conc2, zetam,
42     & conas, concs, conc3, zetas,
43     & Ricr, cekman, cmonob, concv, hbf,
44 jmc 1.16 & zmin, zmax, umin, umax,
45 heimbach 1.1 & num_v_smooth_Ri, num_v_smooth_BV,
46     & num_z_smooth_sh, num_m_smooth_sh,
47     & Riinfty, BVSQcon, difm0, difs0, dift0,
48     & difmcon, difscon, diftcon,
49 jmc 1.22 & Rrho0, dsfmax,
50 heimbach 1.1 & cstar
51    
52 jmc 1.22 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 heimbach 1.1 _BEGIN_MASTER(myThid)
65    
66     WRITE(msgBuf,'(A)') ' KPP_INIT: opening data.kpp'
67     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
68     & SQUEEZE_RIGHT , 1)
69    
70     CALL OPEN_COPY_DATA_FILE(
71     I 'data.kpp', 'KPP_INIT',
72     O iUnit,
73     I myThid )
74    
75     C-- set default KPP vertical mixing parameters
76 mlosch 1.21 kpp_freq = deltaTClock
77     kpp_dumpFreq = dumpFreq
78     kpp_taveFreq = taveFreq
79     KPPmixingMaps = .FALSE.
80     KPPwriteState = .FALSE.
81     KPPuseDoubleDiff = .FALSE.
82     LimitHblStable = .TRUE.
83 jmc 1.12 KPP_ghatUseTotalDiffus = .FALSE.
84 dfer 1.18 minKPPhbl = UNSET_RL
85 heimbach 1.1
86     C-----------------------------------------------------------------------
87     C define some non-dimensional constants and
88     C the vertical mixing coefficients in m-k-s units
89     C-----------------------------------------------------------------------
90    
91 jmc 1.16 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 heimbach 1.1
124     num_v_smooth_Ri = 0
125     num_v_smooth_BV = 0
126     num_z_smooth_sh = 0
127     num_m_smooth_sh = 0
128 jmc 1.16 Riinfty = 0.7 _d 0
129     BVSQcon = -0.2 _d -4
130 heimbach 1.1
131 jmc 1.16 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 heimbach 1.1
139 mlosch 1.21 C parameters for double diffusion routine "KPP_DOUBLEDIFF"
140    
141     Rrho0 = 1.9 _d 0
142     dsfmax = 10. _d -3
143    
144 heimbach 1.1 C parameters for subroutine "blmix"
145    
146     cstar = 10.
147    
148     C-----------------------------------------------------------------------
149    
150     C-- Read settings from model parameter file "data.kpp".
151     READ(UNIT=iUnit,NML=KPP_PARM01,IOSTAT=errIO)
152     IF ( errIO .LT. 0 ) THEN
153     WRITE(msgBuf,'(A)')
154     & 'S/R INI_PARMS'
155     CALL PRINT_ERROR( msgBuf , 1)
156     WRITE(msgBuf,'(A)')
157     & 'Error reading numerical model '
158     CALL PRINT_ERROR( msgBuf , 1)
159     WRITE(msgBuf,'(A)')
160     & 'parameter file "data.kpp"'
161     CALL PRINT_ERROR( msgBuf , 1)
162     WRITE(msgBuf,'(A)')
163     & 'Problem in namelist KPP_PARM01'
164     CALL PRINT_ERROR( msgBuf , 1)
165     C CALL MODELDATA_EXAMPLE( myThid )
166     STOP 'ABNORMAL END: S/R KPP_INIT'
167     ENDIF
168    
169     CLOSE(iUnit)
170    
171     WRITE(msgBuf,'(A)') ' KPP_INIT: finished reading data.kpp'
172     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
173     & SQUEEZE_RIGHT , 1)
174    
175     _END_MASTER(myThid)
176    
177     C-- Everyone else must wait for the parameters to be loaded
178     _BARRIER
179    
180     #endif /* ALLOW_KPP */
181    
182 jmc 1.16 RETURN
183     END

  ViewVC Help
Powered by ViewVC 1.1.22