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" |
20 |
#include "GRID.h" |
#include "GRID.h" |
21 |
#include "KPP_PARAMS.h" |
#include "KPP_PARAMS.h" |
22 |
|
|
23 |
C === Routine arguments === |
C !INPUT PARAMETERS: |
|
C myThid - Number of this instance of KPP_INIT |
|
24 |
INTEGER myThid |
INTEGER myThid |
25 |
|
CEOP |
26 |
|
|
27 |
|
C !LOCAL VARIABLES: |
28 |
#ifdef ALLOW_KPP |
#ifdef ALLOW_KPP |
|
|
|
|
C === Local variables === |
|
29 |
C msgBuf - Informational/error meesage buffer |
C msgBuf - Informational/error meesage buffer |
30 |
C errIO - IO error flag |
C errIO - IO error flag |
31 |
C iUnit - Work variable for IO unit number |
C iUnit - Work variable for IO unit number |
|
C k - Loop counter |
|
32 |
|
|
33 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
34 |
INTEGER errIO, iUnit, k |
INTEGER errIO, iUnit |
35 |
|
|
36 |
C-- KPP vertical mixing parameters |
C-- KPP vertical mixing parameters |
37 |
NAMELIST /KPP_PARM01/ |
NAMELIST /KPP_PARM01/ |
38 |
& kpp_freq, kpp_dumpFreq, kpp_taveFreq, |
& kpp_freq, kpp_dumpFreq, kpp_taveFreq, |
39 |
& KPPmixingMaps, KPPwriteState, |
& KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus, |
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, |
67 |
kpp_taveFreq = taveFreq |
kpp_taveFreq = taveFreq |
68 |
KPPmixingMaps = .FALSE. |
KPPmixingMaps = .FALSE. |
69 |
KPPwriteState = .FALSE. |
KPPwriteState = .FALSE. |
70 |
minKPPhbl = drF(1)*0.5 |
KPP_ghatUseTotalDiffus = .FALSE. |
71 |
|
IF ( setCenterDr ) THEN |
72 |
|
minKPPhbl = delRc(1) |
73 |
|
ELSE |
74 |
|
minKPPhbl = delR(1)*0.5 |
75 |
|
ENDIF |
76 |
|
|
77 |
C----------------------------------------------------------------------- |
C----------------------------------------------------------------------- |
78 |
C define some non-dimensional constants and |
C define some non-dimensional constants and |
160 |
|
|
161 |
_END_MASTER(myThid) |
_END_MASTER(myThid) |
162 |
|
|
163 |
|
#ifdef ALLOW_MNC |
164 |
|
IF (useMNC) THEN |
165 |
|
C Define grid types for KPP variables |
166 |
|
CALL MNC_CW_ADD_VNAME('KPPviscAz', 'Cen_xy_Hn__C__t', |
167 |
|
& 4,5, myThid) |
168 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','units','m^2/s', |
169 |
|
& myThid) |
170 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','long_name', |
171 |
|
& 'KPP_vertical_eddy_viscosity_coefficient', myThid) |
172 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz', |
173 |
|
& 'coordinates','XC YC RC iter', myThid) |
174 |
|
|
175 |
|
CALL MNC_CW_ADD_VNAME('KPPdiffKzS', 'Cen_xy_Hn__C__t', |
176 |
|
& 4,5, myThid) |
177 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','units','m^2/s', |
178 |
|
& myThid) |
179 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','long_name', |
180 |
|
& 'KPP_salt-tracer_vertical_diffusion_coefficient', |
181 |
|
& myThid) |
182 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS', |
183 |
|
& 'coordinates','XC YC RC iter', myThid) |
184 |
|
|
185 |
|
CALL MNC_CW_ADD_VNAME('KPPdiffKzT', 'Cen_xy_Hn__C__t', |
186 |
|
& 4,5, myThid) |
187 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','units','m^2/s', |
188 |
|
& myThid) |
189 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','long_name', |
190 |
|
& 'KPP_vertical_heat_diffusion_coefficient', myThid) |
191 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT', |
192 |
|
& 'coordinates','XC YC RC iter', myThid) |
193 |
|
|
194 |
|
CALL MNC_CW_ADD_VNAME('KPPghat', 'Cen_xy_Hn__C__t', |
195 |
|
& 4,5, myThid) |
196 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPghat','units','s/m^2', |
197 |
|
& myThid) |
198 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPghat','long_name', |
199 |
|
& 'KPP_nonlocal_transport_coefficient', myThid) |
200 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPghat', |
201 |
|
& 'coordinates','XC YC RC iter', myThid) |
202 |
|
|
203 |
|
CALL MNC_CW_ADD_VNAME('KPPhbl', 'Cen_xy_Hn__-__t', |
204 |
|
& 3,4, myThid) |
205 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl','units','m', |
206 |
|
& myThid) |
207 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl','long_name', |
208 |
|
& 'KPP_mixing_layer_depth', myThid) |
209 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl', |
210 |
|
& 'coordinates','XC YC iter', myThid) |
211 |
|
|
212 |
|
CALL MNC_CW_ADD_VNAME('KPPfrac', 'Cen_xy_Hn__-__t', |
213 |
|
& 3,4, myThid) |
214 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac','units','dimless', |
215 |
|
& myThid) |
216 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac','long_name', |
217 |
|
& 'KPP_short-wave_fraction_penetrating_mixing_layer', |
218 |
|
& myThid) |
219 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac', |
220 |
|
& 'coordinates','XC YC iter', myThid) |
221 |
|
ENDIF |
222 |
|
#endif /* ALLOW_MNC */ |
223 |
|
|
224 |
C-- Everyone else must wait for the parameters to be loaded |
C-- Everyone else must wait for the parameters to be loaded |
225 |
_BARRIER |
_BARRIER |
226 |
|
|