--- MITgcm/model/inc/CPP_OPTIONS.h 1999/07/28 16:21:38 1.11 +++ MITgcm/model/inc/CPP_OPTIONS.h 2002/11/21 19:11:42 1.21 @@ -1,26 +1,68 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/CPP_OPTIONS.h,v 1.11 1999/07/28 16:21:38 adcroft Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/CPP_OPTIONS.h,v 1.21 2002/11/21 19:11:42 cheisey Exp $ +C $Name: $ + + These lines are here to deliberately cause a compile-time error. + 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 -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. -C +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 -#undef ALLOW_KPP +#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 --- + + +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 C o Include/exclude code for C-D grid method of integrating the C coriolis terms -#undef 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 INCLUDE_DIAGNOSTICS_INTERFACE_CODE +#define ALLOW_TIMEAVE -C o Include/exclude latitude circle FFT filter -#undef INCLUDE_LAT_CIRC_FFT_FILTER_CODE +C o Include/exclude zonal FFT filter code +#undef ALLOW_ZONAL_FILT C o Include/exclude temperature advection code #define INCLUDE_T_ADVECTION_CODE @@ -90,31 +132,9 @@ C o Include/exclude phi_hyd calculation code #define INCLUDE_PHIHYD_CALCULATION_CODE -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 - C o Include/exclude call to S/R CONVECT #define INCLUDE_CONVECT_CALL -C o Include/exclude call to S/R CALC_ISOSLOPES -#define INCLUDE_CALC_ISOSLOPES_CALL - C o Include/exclude call to S/R CALC_DIFFUSIVITY #define INCLUDE_CALC_DIFFUSIVITY_CALL @@ -125,6 +145,14 @@ C instead of the "virtual salt flux" #undef USE_NATURAL_BCS +C o Use "Exact Convervation" of fluid in Free-Surface formulation +C so that d/dt(eta) is exactly equal to - Div.Transport +#undef EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that surface thickness (hFactors) vary with time +#undef NONLIN_FRSURF + C o Use "OLD" UV discretisation near boundaries (*not* recommended) C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F C because the old code did not have no-slip BCs @@ -137,3 +165,10 @@ C o Execution environment support options #include "CPP_EEOPTIONS.h" + +C o Include/exclude code specific to the ECCO/SEALION version. +#undef INCLUDE_ECCO_PACKAGE +#ifdef INCLUDE_ECCO_PACKAGE +#include "ECCO_CPPOPTIONS.h" +#endif +