1 |
C $Header: $ |
2 |
|
3 |
C /==========================================================\ |
4 |
C | KPP_OPTIONS.h | |
5 |
C | o CPP options file for KPP package. | |
6 |
C |==========================================================| |
7 |
C | Use this file for selecting options within the KPP | |
8 |
C | package. KPP is enabled with ALLOW_KPP in CPP_OPTIONS.h | |
9 |
C \==========================================================/ |
10 |
|
11 |
#include "CPP_OPTIONS.h" |
12 |
|
13 |
#ifdef ALLOW_KPP |
14 |
|
15 |
C o Call to S/R CONVECT not needed when using KPP scheme |
16 |
C Also make sure that ivdc_kappa = 0.0 |
17 |
#undef INCLUDE_CONVECT_CALL |
18 |
|
19 |
C o Get rid of vertical resolution dependence of dVsq term by |
20 |
C estimating a surface velocity that is independent of first |
21 |
C level thickness in the model. |
22 |
#undef KPP_ESTIMATE_UREF |
23 |
|
24 |
C o When set, test denominators for small values |
25 |
C makes code adjoint-friendly by avoiding singularities in |
26 |
C the forward code and its derivative |
27 |
#define KPP_TEST_DENOM |
28 |
|
29 |
C o When set, use exchange calls rather than recomputation |
30 |
C to obtain KPP parameters in overlap region. This option |
31 |
C was added to reduce stack size requirements on the |
32 |
C Origin 2000. It decreases memory and computation |
33 |
C requirements at the expense of increased communications. |
34 |
C For a 64-processor 360x224x46 MPI configuration on the |
35 |
C Exemplar or Origin 2000, wall clock time is about the |
36 |
C same whether FRUGAL_KPP is turned on or off. |
37 |
#undef FRUGAL_KPP |
38 |
|
39 |
C o When set, smooth zonal shear meridionally and |
40 |
C meridional shear zonally with 121 filters |
41 |
#define KPP_SMOOTH_SHSQ |
42 |
#undef KPP_SMOOTH_DVSQ |
43 |
|
44 |
C o When set, smooth dbloc KPP variable horizontally |
45 |
#define KPP_SMOOTH_DBLOC |
46 |
|
47 |
C o When set, smooth all KPP density variables horizontally |
48 |
#undef KPP_SMOOTH_DENS |
49 |
#ifdef KPP_SMOOTH_DENS |
50 |
# define KPP_SMOOTH_DBLOC |
51 |
#endif |
52 |
|
53 |
C o As coded KPP_SMOOTH_DBLOC and KPP_SMOOTH_DENS will not work |
54 |
C with FRUGAL_KPP switch turned on |
55 |
#ifdef KPP_SMOOTH_DBLOC |
56 |
# undef FRUGAL_KPP |
57 |
#endif |
58 |
|
59 |
C o When set, smooth vertical viscosity horizontally |
60 |
C Right now this option only works with FRUGAL_KPP turned on |
61 |
#undef KPP_SMOOTH_VISC |
62 |
#ifdef KPP_SMOOTH_VISC |
63 |
#undef KPP_SMOOTH_DBLOC |
64 |
#undef KPP_SMOOTH_DENS |
65 |
#define FRUGAL_KPP |
66 |
#endif |
67 |
|
68 |
C o When set, smooth vertical diffusivity horizontally |
69 |
C Right now this option only works with FRUGAL_KPP turned on |
70 |
#undef KPP_SMOOTH_DIFF |
71 |
#ifdef KPP_SMOOTH_DIFF |
72 |
#undef KPP_SMOOTH_DBLOC |
73 |
#undef KPP_SMOOTH_DENS |
74 |
#define FRUGAL_KPP |
75 |
#endif |
76 |
|
77 |
|
78 |
C o Include/exclude various time-averaged diagnostic output |
79 |
C for saving storage space |
80 |
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
81 |
#define INCLUDE_DIAGNOSTICS_KPP |
82 |
#undef INCLUDE_DIAGNOSTICS_KPPDIFFKZSTAVE |
83 |
#endif |
84 |
|
85 |
C o Include short wave radiation terms in T forcing |
86 |
#define SHORTWAVE_HEATING |
87 |
|
88 |
#endif /* ALLOW_KPP */ |