1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
|
C |
|
3 |
|
|
4 |
CBOP |
#include "PACKAGES_CONFIG.h" |
|
C !ROUTINE: CPP_OPTIONS.h |
|
|
C !INTERFACE: |
|
|
C include "CPP_OPTIONS.h" |
|
|
C !DESCRIPTION: |
|
|
C CPP flags controlling which code in included in the files that |
|
|
C will be compiled. |
|
|
CEOP |
|
|
|
|
|
C o Include/exclude code for AIM package |
|
|
#undef ALLOW_AIM |
|
|
|
|
|
C o Include/exclude IERS Special Bureau for the Oceans diagnostics |
|
|
#define ALLOW_SBO |
|
5 |
|
|
6 |
C o Include/exclude code for sea-ice model |
C CPP flags controlling particular source code features |
|
#define ALLOW_SEAICE |
|
|
|
|
|
C o Include/exclude code for GM/Redi parameterization |
|
|
#define ALLOW_GMREDI |
|
|
|
|
|
C o Include/exclude code for KPP mixing scheme |
|
|
#define ALLOW_KPP |
|
|
|
|
|
C o Shortwave heating as extra term in external_forcing.F |
|
|
#ifdef ALLOW_KPP |
|
|
#define SHORTWAVE_HEATING |
|
|
#endif |
|
|
|
|
|
C o Include/exclude code for Shapiro filters |
|
|
#undef ALLOW_SHAP_FILT |
|
7 |
|
|
8 |
C o Include/exclude code for C-D grid method of integrating the |
C o Include/exclude code for C-D grid method of integrating the |
9 |
C coriolis terms |
C coriolis terms |
10 |
#define INCLUDE_CD_CODE |
#define INCLUDE_CD_CODE |
|
|
|
|
C o Include/exclude code for open-boundary conditions |
|
|
#undef ALLOW_OBCS |
|
|
|
|
|
C o Include/exclude diagnostics package interface code |
|
|
#define ALLOW_TIMEAVE |
|
|
|
|
|
C o Include/exclude zonal FFT filter code |
|
|
#undef ALLOW_ZONAL_FILT |
|
|
|
|
|
C o Include/exclude temperature advection code |
|
|
#define INCLUDE_T_ADVECTION_CODE |
|
|
#ifdef INCLUDE_T_ADVECTION_CODE |
|
|
#define _ADT(a)a |
|
|
#endif |
|
|
#ifndef INCLUDE_T_ADVECTION_CODE |
|
|
#define _ADT(a) |
|
|
#endif |
|
|
|
|
|
C o Include/exclude temperature diffusion code |
|
|
#define INCLUDE_T_DIFFUSION_CODE |
|
|
#ifdef INCLUDE_T_DIFFUSION_CODE |
|
|
#define _LPT(a)a |
|
|
#define _BHT(a)a |
|
|
#endif |
|
|
#ifndef INCLUDE_T_DIFFUSION_CODE |
|
|
#define _LPT(a) |
|
|
#define _BHT(a) |
|
|
#endif |
|
11 |
|
|
12 |
C o Include/exclude temperature forcing code |
C o Include/exclude temperature forcing code |
13 |
#define INCLUDE_T_FORCING_CODE |
C#define INCLUDE_T_FORCING_CODE |
|
|
|
|
C o Include/exclude momentum advection code |
|
|
#define INCLUDE_MOMENTUM_ADVECTION_CODE |
|
|
#ifdef INCLUDE_MOMENTUM_ADVECTION_CODE |
|
|
#define _ADM(a)a |
|
|
#endif |
|
|
#ifndef INCLUDE_MOMENTUM_ADVECTION_CODE |
|
|
#define _ADM(a) |
|
|
#endif |
|
|
|
|
|
C o Include/exclude laplacian viscosity code |
|
|
#define INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
|
|
#ifdef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
|
|
#define _LPM(a)a |
|
|
#endif |
|
|
#ifndef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
|
|
#define _LPM(a) |
|
|
#endif |
|
14 |
|
|
15 |
C o Include/exclude biharmonic viscosity code |
C o Shortwave heating as extra term in external_forcing.F |
16 |
#define INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
C Note: this should be a run-time option and not necessarily dependent on KPP |
17 |
#ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
#ifdef ALLOW_KPP |
18 |
#define _BHM(a)a |
#define SHORTWAVE_HEATING |
|
#endif |
|
|
#ifndef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
|
|
#define _BHM(a) |
|
|
#endif |
|
|
|
|
|
C o Include/exclude gradient of phy_hyd code |
|
|
#define INCLUDE_GRADPH_CODE |
|
|
#ifdef INCLUDE_GRADPH_CODE |
|
|
#define _PHM(a)a |
|
|
#endif |
|
|
#ifndef INCLUDE_GRADPH_CODE |
|
|
#define _PHM(a) |
|
19 |
#endif |
#endif |
20 |
|
|
21 |
C o Include/exclude momentum forcing code |
C o Include/exclude momentum forcing code |
28 |
#define INCLUDE_PHIHYD_CALCULATION_CODE |
#define INCLUDE_PHIHYD_CALCULATION_CODE |
29 |
|
|
30 |
C o Include/exclude call to S/R CONVECT |
C o Include/exclude call to S/R CONVECT |
31 |
#undef INCLUDE_CONVECT_CALL |
#define INCLUDE_CONVECT_CALL |
32 |
|
|
33 |
C o Include/exclude call to S/R CALC_DIFFUSIVITY |
C o Include/exclude call to S/R CALC_DIFFUSIVITY |
34 |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
35 |
|
|
36 |
C o Allow nonHydrostatic code |
C o Include/exclude nonHydrostatic code |
37 |
#undef ALLOW_NONHYDROSTATIC |
#undef ALLOW_NONHYDROSTATIC |
38 |
|
|
39 |
C o Use "natural" boundary conditions for salinity |
C o Include pressure loading code |
40 |
C instead of the "virtual salt flux" |
#define ATMOSPHERIC_LOADING |
|
#undef USE_NATURAL_BCS |
|
41 |
|
|
42 |
C o Use "Exact Convervation" of fluid in Free-Surface formulation |
C o Use "Exact Convervation" of fluid in Free-Surface formulation |
43 |
C so that d/dt(eta) is exactly equal to - Div.Transport |
C so that d/dt(eta) is exactly equal to - Div.Transport |
44 |
#undef EXACT_CONSERV |
#define EXACT_CONSERV |
45 |
|
|
46 |
C o Allow the use of Non-Linear Free-Surface formulation |
C o Allow the use of Non-Linear Free-Surface formulation |
47 |
C this implies that surface thickness (hFactors) vary with time |
C this implies that surface thickness (hFactors) vary with time |
60 |
C o Execution environment support options |
C o Execution environment support options |
61 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
62 |
|
|
63 |
C o Include/exclude the external forcing package. To use this package, |
C o Include/exclude code specific to the ECCO/SEALION version. |
64 |
C you have to include the calendar tool as well. KPP can be switched |
#undef INCLUDE_ECCO_PACKAGE |
65 |
C on or off. The implementation automatically takes care of this. |
#ifdef INCLUDE_ECCO_PACKAGE |
66 |
#define INCLUDE_EXTERNAL_FORCING_PACKAGE |
#include "ECCO_CPPOPTIONS.h" |
|
#ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE |
|
|
# include "ECCO_CPPOPTIONS.h" |
|
67 |
#endif |
#endif |