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