| 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 |
#ifndef KPP_OPTIONS_H |
| 10 |
#define KPP_OPTIONS_H |
| 11 |
#include "PACKAGES_CONFIG.h" |
| 12 |
|
| 13 |
#ifdef ALLOW_KPP |
| 14 |
|
| 15 |
#include "CPP_OPTIONS.h" |
| 16 |
|
| 17 |
C o Set precision for KPP variables (Real*4 or Real*8) |
| 18 |
#define _KPP_RL Real*8 |
| 19 |
|
| 20 |
C o When set, use exchange calls rather than recomputation |
| 21 |
C to obtain KPP parameters in overlap region. This option |
| 22 |
C was added to reduce stack size requirements on the |
| 23 |
C Origin 2000. It decreases memory and computation |
| 24 |
C requirements at the expense of increased communications. |
| 25 |
C For a 64-processor 360x224x46 MPI configuration on the |
| 26 |
C Exemplar or Origin 2000, wall clock time is about the |
| 27 |
C same whether FRUGAL_KPP is turned on or off. |
| 28 |
#undef FRUGAL_KPP |
| 29 |
|
| 30 |
C o When set, smooth zonal shear meridionally and |
| 31 |
C meridional shear zonally with 121 filters |
| 32 |
#define KPP_SMOOTH_SHSQ |
| 33 |
#undef KPP_SMOOTH_DVSQ |
| 34 |
|
| 35 |
C o When set, smooth dbloc KPP variable horizontally |
| 36 |
#define KPP_SMOOTH_DBLOC |
| 37 |
|
| 38 |
C o When set, smooth all KPP density variables horizontally |
| 39 |
#undef KPP_SMOOTH_DENS |
| 40 |
#ifdef KPP_SMOOTH_DENS |
| 41 |
# define KPP_SMOOTH_DBLOC |
| 42 |
#endif |
| 43 |
|
| 44 |
C o When set, smooth vertical viscosity horizontally |
| 45 |
#undef KPP_SMOOTH_VISC |
| 46 |
|
| 47 |
C o When set, smooth vertical diffusivity horizontally |
| 48 |
#undef KPP_SMOOTH_DIFF |
| 49 |
|
| 50 |
C o Get rid of vertical resolution dependence of dVsq term by |
| 51 |
C estimating a surface velocity that is independent of first |
| 52 |
C level thickness in the model. |
| 53 |
#undef KPP_ESTIMATE_UREF |
| 54 |
|
| 55 |
C o Include/exclude various time-averaged diagnostic output |
| 56 |
C for saving storage space |
| 57 |
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
| 58 |
#define INCLUDE_DIAGNOSTICS_KPP |
| 59 |
#undef INCLUDE_DIAGNOSTICS_KPPDIFFKZSTAVE |
| 60 |
#endif |
| 61 |
|
| 62 |
C o Include/exclude KPP non/local transport terms |
| 63 |
#define KPP_GHAT |
| 64 |
|
| 65 |
C o Exclude Interior shear instability mixing |
| 66 |
#undef EXCLUDE_KPP_SHEAR_MIX |
| 67 |
|
| 68 |
C o Avoid as many as possible AD recomputations |
| 69 |
C usually not necessary, but useful for testing |
| 70 |
#undef KPP_AUTODIFF_EXCESSIVE_STORE |
| 71 |
|
| 72 |
#endif /* ALLOW_KPP */ |
| 73 |
#endif /* KPP_OPTIONS_H */ |
| 74 |
|