| 1 |
C $Header$ |
C $Header$ |
| 2 |
|
C $Name$ |
| 3 |
|
|
| 4 |
|
These lines are here to deliberately cause a compile-time error. |
| 5 |
|
If you see these lines in your .F files or the compiler shows them |
| 6 |
|
as an error then it means you have not placed your configuration |
| 7 |
|
files in the appropriate place. |
| 8 |
|
You need to place you own copy of CPP_OPTIONS.h in the include |
| 9 |
|
path for the model. |
| 10 |
|
|
| 11 |
C |
C |
| 12 |
|
|
| 13 |
C |
C |
| 15 |
C will be compiled. |
C will be compiled. |
| 16 |
C |
C |
| 17 |
|
|
| 18 |
|
C o Include/exclude code for AIM package |
| 19 |
|
#undef ALLOW_AIM |
| 20 |
|
|
| 21 |
|
C o Include/exclude code for GM/Redi parameterization |
| 22 |
|
#undef ALLOW_GMREDI |
| 23 |
|
|
| 24 |
|
C o Include/exclude code for KPP mixing scheme |
| 25 |
|
#define ALLOW_KPP |
| 26 |
|
|
| 27 |
|
C o Shortwave heating as extra term in external_forcing.F |
| 28 |
|
#ifdef ALLOW_KPP |
| 29 |
|
#define SHORTWAVE_HEATING |
| 30 |
|
#endif |
| 31 |
|
|
| 32 |
|
C o Include/exclude code for Shapiro filters |
| 33 |
|
#define ALLOW_SHAP_FILT |
| 34 |
|
|
| 35 |
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 |
| 36 |
C coriolis terms |
C coriolis terms |
| 37 |
#define INCLUDE_CD_CODE |
#define INCLUDE_CD_CODE |
| 38 |
|
|
| 39 |
|
C o Include/exclude code for open-boundary conditions |
| 40 |
|
#undef ALLOW_OBCS |
| 41 |
|
|
| 42 |
C o Include/exclude diagnostics package interface code |
C o Include/exclude diagnostics package interface code |
| 43 |
#define INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
#define ALLOW_TIMEAVE |
| 44 |
|
|
| 45 |
C o Include/exclude latitude circle FFT filter |
C o Include/exclude zonal FFT filter code |
| 46 |
#undef INCLUDE_LAT_CIRC_FFT_FILTER_CODE |
#undef ALLOW_ZONAL_FILT |
| 47 |
|
|
| 48 |
C o Include/exclude temperature advection code |
C o Include/exclude temperature advection code |
| 49 |
#define INCLUDE_T_ADVECTION_CODE |
#define INCLUDE_T_ADVECTION_CODE |
| 50 |
#ifdef INCLUDE_T_ADVECTION_CODE |
#ifdef INCLUDE_T_ADVECTION_CODE |
| 51 |
#define _ADT(a) a |
#define _ADT(a)a |
| 52 |
#endif |
#endif |
| 53 |
#ifndef INCLUDE_T_ADVECTION_CODE |
#ifndef INCLUDE_T_ADVECTION_CODE |
| 54 |
#define _ADT(a) |
#define _ADT(a) |
| 57 |
C o Include/exclude temperature diffusion code |
C o Include/exclude temperature diffusion code |
| 58 |
#define INCLUDE_T_DIFFUSION_CODE |
#define INCLUDE_T_DIFFUSION_CODE |
| 59 |
#ifdef INCLUDE_T_DIFFUSION_CODE |
#ifdef INCLUDE_T_DIFFUSION_CODE |
| 60 |
#define _LPT(a) a |
#define _LPT(a)a |
| 61 |
#define _BHT(a) a |
#define _BHT(a)a |
| 62 |
#endif |
#endif |
| 63 |
#ifndef INCLUDE_T_DIFFUSION_CODE |
#ifndef INCLUDE_T_DIFFUSION_CODE |
| 64 |
#define _LPT(a) |
#define _LPT(a) |
| 71 |
C o Include/exclude momentum advection code |
C o Include/exclude momentum advection code |
| 72 |
#define INCLUDE_MOMENTUM_ADVECTION_CODE |
#define INCLUDE_MOMENTUM_ADVECTION_CODE |
| 73 |
#ifdef INCLUDE_MOMENTUM_ADVECTION_CODE |
#ifdef INCLUDE_MOMENTUM_ADVECTION_CODE |
| 74 |
#define _ADM(a) a |
#define _ADM(a)a |
| 75 |
#endif |
#endif |
| 76 |
#ifndef INCLUDE_MOMENTUM_ADVECTION_CODE |
#ifndef INCLUDE_MOMENTUM_ADVECTION_CODE |
| 77 |
#define _ADM(a) |
#define _ADM(a) |
| 80 |
C o Include/exclude laplacian viscosity code |
C o Include/exclude laplacian viscosity code |
| 81 |
#define INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
#define INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
| 82 |
#ifdef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
#ifdef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
| 83 |
#define _LPM(a) a |
#define _LPM(a)a |
| 84 |
#endif |
#endif |
| 85 |
#ifndef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
#ifndef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
| 86 |
#define _LPM(a) |
#define _LPM(a) |
| 87 |
#endif |
#endif |
| 88 |
|
|
| 89 |
C o Include/exclude biharmonic viscosity code |
C o Include/exclude biharmonic viscosity code |
| 90 |
#undef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
#define INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
| 91 |
#ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
#ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
| 92 |
#define _BHM(a) a |
#define _BHM(a)a |
| 93 |
#endif |
#endif |
| 94 |
#ifndef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
#ifndef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
| 95 |
#define _BHM(a) |
#define _BHM(a) |
| 98 |
C o Include/exclude gradient of phy_hyd code |
C o Include/exclude gradient of phy_hyd code |
| 99 |
#define INCLUDE_GRADPH_CODE |
#define INCLUDE_GRADPH_CODE |
| 100 |
#ifdef INCLUDE_GRADPH_CODE |
#ifdef INCLUDE_GRADPH_CODE |
| 101 |
#define _PHM(a) a |
#define _PHM(a)a |
| 102 |
#endif |
#endif |
| 103 |
#ifndef INCLUDE_GRADPH_CODE |
#ifndef INCLUDE_GRADPH_CODE |
| 104 |
#define _PHM(a) |
#define _PHM(a) |
| 113 |
C o Include/exclude phi_hyd calculation code |
C o Include/exclude phi_hyd calculation code |
| 114 |
#define INCLUDE_PHIHYD_CALCULATION_CODE |
#define INCLUDE_PHIHYD_CALCULATION_CODE |
| 115 |
|
|
|
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 |
|
|
|
|
| 116 |
C o Include/exclude call to S/R CONVECT |
C o Include/exclude call to S/R CONVECT |
| 117 |
#define INCLUDE_CONVECT_CALL |
#define INCLUDE_CONVECT_CALL |
| 118 |
|
|
|
C o Include/exclude call to S/R CALC_ISOSLOPES |
|
|
#define INCLUDE_CALC_ISOSLOPES_CALL |
|
|
|
|
| 119 |
C o Include/exclude call to S/R CALC_DIFFUSIVITY |
C o Include/exclude call to S/R CALC_DIFFUSIVITY |
| 120 |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
| 121 |
|
|
| 122 |
|
C o Allow nonHydrostatic code |
| 123 |
|
#undef ALLOW_NONHYDROSTATIC |
| 124 |
|
|
| 125 |
|
C o Use "natural" boundary conditions for salinity |
| 126 |
|
C instead of the "virtual salt flux" |
| 127 |
|
#undef USE_NATURAL_BCS |
| 128 |
|
|
| 129 |
|
C o Use "OLD" UV discretisation near boundaries (*not* recommended) |
| 130 |
|
C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F |
| 131 |
|
C because the old code did not have no-slip BCs |
| 132 |
|
#undef OLD_ADV_BCS |
| 133 |
|
|
| 134 |
|
C o Use "OLD" UV geometry on sphere (definately *NOT* recommended) |
| 135 |
|
C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F |
| 136 |
|
C because the old code did not have no-slip BCs |
| 137 |
|
#undef OLD_UV_GEOMETRY |
| 138 |
|
|
| 139 |
C o Execution environment support options |
C o Execution environment support options |
| 140 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
| 141 |
|
|
| 142 |
|
C o Include/exclude code specific to the ECCO/SEALION version. |
| 143 |
|
#undef INCLUDE_ECCO_PACKAGE |
| 144 |
|
#ifdef INCLUDE_ECCO_PACKAGE |
| 145 |
|
#include "ECCO_CPPOPTIONS.h" |
| 146 |
|
#endif |
| 147 |
|
|