| 1 |
C $Header$ |
C $Header$ |
| 2 |
C $Name$ |
C $Name$ |
| 3 |
|
|
| 4 |
These lines are here to deliberately cause a compile-time error. |
#include "PACKAGES_CONFIG.h" |
|
If you see these lines in your .F files or the compiler shows them |
|
|
as an error then it means you have not placed your configuration |
|
|
files in the appropriate place. |
|
|
You need to place you own copy of CPP_OPTIONS.h in the include |
|
|
path for the model. |
|
|
|
|
|
C |
|
|
|
|
|
CBOP |
|
|
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 code for GM/Redi parameterization |
|
|
#undef ALLOW_GMREDI |
|
|
|
|
|
C o Include/exclude code for KPP mixing scheme |
|
|
#define ALLOW_KPP |
|
|
|
|
|
cswdblk --- add --- |
|
|
C o Include/exclude code for bulk formula |
|
|
#define ALLOW_BULK_FORCE |
|
|
#ifdef ALLOW_BULK_FORCE |
|
|
cswdice -- add --- |
|
|
C o allow seaice |
|
|
#define ALLOW_THERM_SEAICE |
|
|
cswdice -- end add --- |
|
|
|
|
|
C o try to conserve qnet and emp |
|
|
#define CONSERV_BULKF |
|
|
#endif |
|
|
cswdblk -- end add --- |
|
| 5 |
|
|
| 6 |
|
C CPP flags controlling particular source code features |
|
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 |
|
|
#define 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 |
| 11 |
|
|
|
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 |
|
|
|
|
| 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 |
| 14 |
|
|
| 15 |
C o Include/exclude momentum advection code |
C o Shortwave heating as extra term in external_forcing.F |
| 16 |
#define INCLUDE_MOMENTUM_ADVECTION_CODE |
C Note: this should be a run-time option and not necessarily dependent on KPP |
| 17 |
#ifdef INCLUDE_MOMENTUM_ADVECTION_CODE |
#ifdef ALLOW_KPP |
| 18 |
#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) |
|
| 19 |
#endif |
#endif |
| 20 |
|
|
| 21 |
C o Include/exclude momentum forcing code |
C o Include/exclude momentum forcing code |
| 34 |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
| 35 |
|
|
| 36 |
C o Allow nonHydrostatic code |
C o Allow nonHydrostatic code |
| 37 |
#undef ALLOW_NONHYDROSTATIC |
#define ALLOW_NONHYDROSTATIC |
| 38 |
|
|
| 39 |
|
C o Include pressure loading code |
| 40 |
|
#define ATMOSPHERIC_LOADING |
| 41 |
|
|
| 42 |
C o Use "natural" boundary conditions for salinity |
C o Use "natural" boundary conditions for salinity |
| 43 |
C instead of the "virtual salt flux" |
C instead of the "virtual salt flux" |
| 45 |
|
|
| 46 |
C o Use "Exact Convervation" of fluid in Free-Surface formulation |
C o Use "Exact Convervation" of fluid in Free-Surface formulation |
| 47 |
C so that d/dt(eta) is exactly equal to - Div.Transport |
C so that d/dt(eta) is exactly equal to - Div.Transport |
| 48 |
#undef EXACT_CONSERV |
#define EXACT_CONSERV |
| 49 |
|
|
| 50 |
C o Allow the use of Non-Linear Free-Surface formulation |
C o Allow the use of Non-Linear Free-Surface formulation |
| 51 |
C this implies that surface thickness (hFactors) vary with time |
C this implies that surface thickness (hFactors) vary with time |
| 52 |
#undef NONLIN_FRSURF |
#define NONLIN_FRSURF |
| 53 |
|
|
| 54 |
C o Use "OLD" UV discretisation near boundaries (*not* recommended) |
C o Use "OLD" UV discretisation near boundaries (*not* recommended) |
| 55 |
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 |
| 61 |
C because the old code did not have no-slip BCs |
C because the old code did not have no-slip BCs |
| 62 |
#undef OLD_UV_GEOMETRY |
#undef OLD_UV_GEOMETRY |
| 63 |
|
|
|
C o Include/exclude IERS Special Bureau for the Oceans diagnostics |
|
|
#undef ALLOW_SBO |
|
|
|
|
|
C o Include/exclude code for sea-ice model |
|
|
#undef ALLOW_SEAICE |
|
|
|
|
| 64 |
C o Execution environment support options |
C o Execution environment support options |
| 65 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
| 66 |
|
|
| 69 |
#ifdef INCLUDE_ECCO_PACKAGE |
#ifdef INCLUDE_ECCO_PACKAGE |
| 70 |
#include "ECCO_CPPOPTIONS.h" |
#include "ECCO_CPPOPTIONS.h" |
| 71 |
#endif |
#endif |
|
|
|