1 |
C $Header$ |
C $Header$ |
2 |
C |
C $Name$ |
3 |
|
|
4 |
C |
#include "PACKAGES_CONFIG.h" |
|
C CPP flags controlling which code in included in the files that |
|
|
C will be compiled. |
|
|
C |
|
5 |
|
|
6 |
C o Include/exclude code for GM/Redi parameterization |
C CPP flags controlling particular source code features |
|
#undef ALLOW_GMREDI |
|
|
|
|
|
C o Include/exclude code for KPP mixing scheme |
|
|
#undef ALLOW_KPP |
|
|
|
|
|
C o Include/exclude code for C-D grid method of integrating the |
|
|
C coriolis terms |
|
|
#undef INCLUDE_CD_CODE |
|
|
|
|
|
C o Include/exclude code for open-boundary conditions |
|
|
#define ALLOW_OBCS |
|
|
|
|
|
C o Include/exclude diagnostics package interface code |
|
|
#define INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
|
|
|
|
|
C o Include/exclude latitude circle FFT filter |
|
|
#undef INCLUDE_LAT_CIRC_FFT_FILTER_CODE |
|
|
|
|
|
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 |
|
7 |
|
|
8 |
C o Include/exclude temperature forcing code |
C o Include/exclude temperature forcing code |
9 |
#define INCLUDE_T_FORCING_CODE |
C#define INCLUDE_T_FORCING_CODE |
10 |
|
|
11 |
C o Include/exclude momentum advection code |
C o Shortwave heating as extra term in external_forcing.F |
12 |
#define INCLUDE_MOMENTUM_ADVECTION_CODE |
C Note: this should be a run-time option and not necessarily dependent on KPP |
13 |
#ifdef INCLUDE_MOMENTUM_ADVECTION_CODE |
#ifdef ALLOW_KPP |
14 |
#define _ADM(a)a |
#define SHORTWAVE_HEATING |
|
#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 |
|
|
|
|
|
C o Include/exclude biharmonic viscosity code |
|
|
#define INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
|
|
#ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
|
|
#define _BHM(a)a |
|
|
#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) |
|
15 |
#endif |
#endif |
16 |
|
|
17 |
C o Include/exclude momentum forcing code |
C o Include/exclude momentum forcing code |
23 |
C o Include/exclude phi_hyd calculation code |
C o Include/exclude phi_hyd calculation code |
24 |
#define INCLUDE_PHIHYD_CALCULATION_CODE |
#define INCLUDE_PHIHYD_CALCULATION_CODE |
25 |
|
|
|
C o Include/exclude prognostic variable shapiro filter code |
|
|
C Note - Shapiro filter of prognostics variables requires the |
|
|
C three steps "step forward including edges", filter, |
|
|
C "communicate edges". |
|
|
C If the filtering code is included then we do not use the |
|
|
C pipelined "step forward including edges" in S/R DYNAMICS. |
|
|
C Instead the three steps are performed before DYNAMICS one |
|
|
C after another in an un-pipelined fashion. |
|
|
#undef INCLUDE_SHAPIRO_FILTER_CODE |
|
|
#ifdef INCLUDE_SHAPIRO_FILTER_CODE |
|
|
#undef DO_PIPELINED_CORRECTION_STEP |
|
|
#endif |
|
|
#ifndef INCLUDE_SHAPIRO_FILTER_CODE |
|
|
#define DO_PIPELINED_CORRECTION_STEP |
|
|
#endif |
|
|
|
|
|
C o Include/exclude call to S/R FIND_RHO |
|
|
#define INCLUDE_FIND_RHO_CALL |
|
|
|
|
26 |
C o Include/exclude call to S/R CONVECT |
C o Include/exclude call to S/R CONVECT |
27 |
#define INCLUDE_CONVECT_CALL |
#define INCLUDE_CONVECT_CALL |
28 |
|
|
|
C o Include/exclude call to S/R CALC_ISOSLOPES |
|
|
#define INCLUDE_CALC_ISOSLOPES_CALL |
|
|
|
|
29 |
C o Include/exclude call to S/R CALC_DIFFUSIVITY |
C o Include/exclude call to S/R CALC_DIFFUSIVITY |
30 |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
31 |
|
|
32 |
C o Allow nonHydrostatic code |
C o Include/exclude nonHydrostatic code |
33 |
#define ALLOW_NONHYDROSTATIC |
#define ALLOW_NONHYDROSTATIC |
34 |
|
|
35 |
C o Use "natural" boundary conditions for salinity |
C o Include pressure loading code |
36 |
C instead of the "virtual salt flux" |
#define ATMOSPHERIC_LOADING |
37 |
#undef USE_NATURAL_BCS |
|
38 |
|
C o Use "Exact Convervation" of fluid in Free-Surface formulation |
39 |
|
C so that d/dt(eta) is exactly equal to - Div.Transport |
40 |
|
#define EXACT_CONSERV |
41 |
|
|
42 |
|
C o Allow the use of Non-Linear Free-Surface formulation |
43 |
|
C this implies that surface thickness (hFactors) vary with time |
44 |
|
#undef NONLIN_FRSURF |
45 |
|
|
46 |
C o Use "OLD" UV discretisation near boundaries (*not* recommended) |
C o Use "OLD" UV discretisation near boundaries (*not* recommended) |
47 |
C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F |
C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F |
55 |
|
|
56 |
C o Execution environment support options |
C o Execution environment support options |
57 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
58 |
|
|
59 |
|
C o Include/exclude code specific to the ECCO/SEALION version. |
60 |
|
#undef INCLUDE_ECCO_PACKAGE |
61 |
|
#ifdef INCLUDE_ECCO_PACKAGE |
62 |
|
#include "ECCO_CPPOPTIONS.h" |
63 |
|
#endif |