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/ |
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 |
minKPPhbl = drF(1)*0.5 |
IF ( setCenterDr ) THEN |
71 |
|
minKPPhbl = delRc(1) |
72 |
|
ELSE |
73 |
|
minKPPhbl = delR(1)*0.5 |
74 |
|
ENDIF |
75 |
|
|
76 |
C----------------------------------------------------------------------- |
C----------------------------------------------------------------------- |
77 |
C define some non-dimensional constants and |
C define some non-dimensional constants and |
159 |
|
|
160 |
_END_MASTER(myThid) |
_END_MASTER(myThid) |
161 |
|
|
162 |
|
#ifdef ALLOW_MNC |
163 |
|
IF (useMNC) THEN |
164 |
|
C Define grid types for KPP variables |
165 |
|
CALL MNC_CW_ADD_VNAME('KPPviscAz', 'Cen_xy_Hn__C__t', |
166 |
|
& 4,5, myThid) |
167 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','units','m^2/s', |
168 |
|
& myThid) |
169 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','long_name', |
170 |
|
& 'KPP_vertical_eddy_viscosity_coefficient', myThid) |
171 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz', |
172 |
|
& 'coordinates','XC YC RC iter', myThid) |
173 |
|
|
174 |
|
CALL MNC_CW_ADD_VNAME('KPPdiffKzS', 'Cen_xy_Hn__C__t', |
175 |
|
& 4,5, myThid) |
176 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','units','m^2/s', |
177 |
|
& myThid) |
178 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','long_name', |
179 |
|
& 'KPP_salt-tracer_vertical_diffusion_coefficient', |
180 |
|
& myThid) |
181 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS', |
182 |
|
& 'coordinates','XC YC RC iter', myThid) |
183 |
|
|
184 |
|
CALL MNC_CW_ADD_VNAME('KPPdiffKzT', 'Cen_xy_Hn__C__t', |
185 |
|
& 4,5, myThid) |
186 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','units','m^2/s', |
187 |
|
& myThid) |
188 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','long_name', |
189 |
|
& 'KPP_vertical_heat_diffusion_coefficient', myThid) |
190 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT', |
191 |
|
& 'coordinates','XC YC RC iter', myThid) |
192 |
|
|
193 |
|
CALL MNC_CW_ADD_VNAME('KPPghat', 'Cen_xy_Hn__C__t', |
194 |
|
& 4,5, myThid) |
195 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPghat','units','s/m^2', |
196 |
|
& myThid) |
197 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPghat','long_name', |
198 |
|
& 'KPP_nonlocal_transport_coefficient', myThid) |
199 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPghat', |
200 |
|
& 'coordinates','XC YC RC iter', myThid) |
201 |
|
|
202 |
|
CALL MNC_CW_ADD_VNAME('KPPhbl', 'Cen_xy_Hn__-__t', |
203 |
|
& 3,4, myThid) |
204 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl','units','m', |
205 |
|
& myThid) |
206 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl','long_name', |
207 |
|
& 'KPP_mixing_layer_depth', myThid) |
208 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl', |
209 |
|
& 'coordinates','XC YC iter', myThid) |
210 |
|
|
211 |
|
CALL MNC_CW_ADD_VNAME('KPPfrac', 'Cen_xy_Hn__-__t', |
212 |
|
& 3,4, myThid) |
213 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac','units','dimless', |
214 |
|
& myThid) |
215 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac','long_name', |
216 |
|
& 'KPP_short-wave_fraction_penetrating_mixing_layer', |
217 |
|
& myThid) |
218 |
|
CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac', |
219 |
|
& 'coordinates','XC YC iter', myThid) |
220 |
|
ENDIF |
221 |
|
#endif /* ALLOW_MNC */ |
222 |
|
|
223 |
C-- Everyone else must wait for the parameters to be loaded |
C-- Everyone else must wait for the parameters to be loaded |
224 |
_BARRIER |
_BARRIER |
225 |
|
|