/[MITgcm]/MITgcm/model/inc/CPP_OPTIONS.h
ViewVC logotype

Annotation of /MITgcm/model/inc/CPP_OPTIONS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.21 - (hide annotations) (download)
Thu Nov 21 19:11:42 2002 UTC (21 years, 5 months ago) by cheisey
Branch: MAIN
CVS Tags: checkpoint47e_post, checkpoint47c_post, checkpoint48e_post, checkpoint48b_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint47a_post, checkpoint48d_pre, checkpoint47i_post, checkpoint47d_post, checkpoint48d_post, checkpoint47g_post, checkpoint48a_post, checkpoint47j_post, branch-exfmods-tag, checkpoint48c_post, checkpoint47b_post, checkpoint47f_post, checkpoint48, checkpoint47h_post
Branch point for: branch-exfmods-curt
Changes since 1.20: +4 -4 lines
File MIME type: text/plain
Two packages:  bulk_force (Bulk forcing)
and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2
Earlier integration from Stephaine Dutkiewicz
and Patrick Heimbach.

Two ifdef statements for compile time,
ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE

Two switches in data.pkg to turn on at run-time:

cat data.pkg
# Packages
 &PACKAGES
 useBulkForce=.TRUE.,
 useThermSeaIce=.TRUE.,
 &

WARNING:  useSEAICE and useThermSEAICE are mutually exclusive.

The bulk package requires an additional parameter file
with two namelists, data.ice and data.blk.

c ADAPTED FROM:
c LANL CICE.v2.0.2
c-----------------------------------------------------------------------
c.. thermodynamics (vertical physics) based on M. Winton 3-layer model
c.. See Bitz, C. M. and W. H. Lipscomb, 1999:  "An energy-conserving
c..       thermodynamic sea ice model for climate study."  J. Geophys.
c..       Res., 104, 15669 - 15677.
c..     Winton, M., 1999:  "A reformulated three-layer sea ice model."
c..       Submitted to J. Atmos. Ocean. Technol.

c.. authors Elizabeth C. Hunke and William Lipscomb
c..         Fluid Dynamics Group, Los Alamos National Laboratory
c-----------------------------------------------------------------------

1 cheisey 1.21 C $Header: /u/u0/gcmpack/MITgcm/model/inc/CPP_OPTIONS.h,v 1.20 2002/11/15 19:58:21 cheisey Exp $
2 jmc 1.15 C $Name: $
3 adcroft 1.17
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 cnh 1.1 C
12 adcroft 1.3
13 cnh 1.19 CBOP
14     C !ROUTINE: CPP_OPTIONS.h
15     C !INTERFACE:
16     C include "CPP_OPTIONS.h"
17     C !DESCRIPTION:
18 cnh 1.6 C CPP flags controlling which code in included in the files that
19     C will be compiled.
20 cnh 1.19 CEOP
21 adcroft 1.12
22 jmc 1.15 C o Include/exclude code for AIM package
23     #undef ALLOW_AIM
24    
25 adcroft 1.12 C o Include/exclude code for GM/Redi parameterization
26     #undef ALLOW_GMREDI
27 cnh 1.6
28 adcroft 1.11 C o Include/exclude code for KPP mixing scheme
29 heimbach 1.13 #define ALLOW_KPP
30 cheisey 1.20
31     cswdblk --- add ---
32     C o Include/exclude code for bulk formula
33 cheisey 1.21 #define ALLOW_BULK_FORCE
34     #ifdef ALLOW_BULK_FORCE
35 cheisey 1.20 cswdice -- add ---
36     C o allow seaice
37 cheisey 1.21 #define ALLOW_THERM_SEAICE
38 cheisey 1.20 cswdice -- end add ---
39    
40     C o try to conserve qnet and emp
41     #define CONSERV_BULKF
42     #endif
43     cswdblk -- end add ---
44    
45 heimbach 1.13
46     C o Shortwave heating as extra term in external_forcing.F
47     #ifdef ALLOW_KPP
48     #define SHORTWAVE_HEATING
49     #endif
50 adcroft 1.11
51 jmc 1.15 C o Include/exclude code for Shapiro filters
52     #define ALLOW_SHAP_FILT
53    
54 cnh 1.6 C o Include/exclude code for C-D grid method of integrating the
55     C coriolis terms
56 heimbach 1.13 #define INCLUDE_CD_CODE
57 adcroft 1.10
58     C o Include/exclude code for open-boundary conditions
59 adcroft 1.11 #undef ALLOW_OBCS
60 cnh 1.6
61     C o Include/exclude diagnostics package interface code
62 jmc 1.16 #define ALLOW_TIMEAVE
63 cnh 1.6
64 jmc 1.15 C o Include/exclude zonal FFT filter code
65     #undef ALLOW_ZONAL_FILT
66 cnh 1.6
67     C o Include/exclude temperature advection code
68     #define INCLUDE_T_ADVECTION_CODE
69     #ifdef INCLUDE_T_ADVECTION_CODE
70 adcroft 1.9 #define _ADT(a)a
71 cnh 1.6 #endif
72     #ifndef INCLUDE_T_ADVECTION_CODE
73     #define _ADT(a)
74     #endif
75    
76     C o Include/exclude temperature diffusion code
77     #define INCLUDE_T_DIFFUSION_CODE
78     #ifdef INCLUDE_T_DIFFUSION_CODE
79 adcroft 1.9 #define _LPT(a)a
80     #define _BHT(a)a
81 cnh 1.6 #endif
82     #ifndef INCLUDE_T_DIFFUSION_CODE
83     #define _LPT(a)
84     #define _BHT(a)
85     #endif
86    
87     C o Include/exclude temperature forcing code
88     #define INCLUDE_T_FORCING_CODE
89    
90     C o Include/exclude momentum advection code
91     #define INCLUDE_MOMENTUM_ADVECTION_CODE
92     #ifdef INCLUDE_MOMENTUM_ADVECTION_CODE
93 adcroft 1.9 #define _ADM(a)a
94 cnh 1.6 #endif
95     #ifndef INCLUDE_MOMENTUM_ADVECTION_CODE
96     #define _ADM(a)
97     #endif
98    
99     C o Include/exclude laplacian viscosity code
100     #define INCLUDE_LP_MOMENTUM_DIFFUSION_CODE
101     #ifdef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE
102 adcroft 1.9 #define _LPM(a)a
103 cnh 1.6 #endif
104     #ifndef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE
105     #define _LPM(a)
106     #endif
107    
108     C o Include/exclude biharmonic viscosity code
109 adcroft 1.7 #define INCLUDE_BH_MOMENTUM_DIFFUSION_CODE
110 cnh 1.6 #ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE
111 adcroft 1.9 #define _BHM(a)a
112 cnh 1.6 #endif
113     #ifndef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE
114     #define _BHM(a)
115     #endif
116    
117     C o Include/exclude gradient of phy_hyd code
118     #define INCLUDE_GRADPH_CODE
119     #ifdef INCLUDE_GRADPH_CODE
120 adcroft 1.9 #define _PHM(a)a
121 cnh 1.6 #endif
122     #ifndef INCLUDE_GRADPH_CODE
123     #define _PHM(a)
124     #endif
125    
126     C o Include/exclude momentum forcing code
127     #define INCLUDE_MOMENTUM_FORCING_CODE
128    
129     C o Include/exclude momentum eqn metric terms code
130     #define INCLUDE_MOMENTUM_METRIC_TERM_CODE
131    
132     C o Include/exclude phi_hyd calculation code
133     #define INCLUDE_PHIHYD_CALCULATION_CODE
134    
135     C o Include/exclude call to S/R CONVECT
136     #define INCLUDE_CONVECT_CALL
137    
138     C o Include/exclude call to S/R CALC_DIFFUSIVITY
139     #define INCLUDE_CALC_DIFFUSIVITY_CALL
140 adcroft 1.8
141 adcroft 1.11 C o Allow nonHydrostatic code
142     #undef ALLOW_NONHYDROSTATIC
143    
144 adcroft 1.8 C o Use "natural" boundary conditions for salinity
145     C instead of the "virtual salt flux"
146 adcroft 1.11 #undef USE_NATURAL_BCS
147 adcroft 1.18
148     C o Use "Exact Convervation" of fluid in Free-Surface formulation
149     C so that d/dt(eta) is exactly equal to - Div.Transport
150     #undef EXACT_CONSERV
151    
152     C o Allow the use of Non-Linear Free-Surface formulation
153     C this implies that surface thickness (hFactors) vary with time
154     #undef NONLIN_FRSURF
155 adcroft 1.7
156     C o Use "OLD" UV discretisation near boundaries (*not* recommended)
157     C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F
158     C because the old code did not have no-slip BCs
159     #undef OLD_ADV_BCS
160    
161     C o Use "OLD" UV geometry on sphere (definately *NOT* recommended)
162     C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F
163     C because the old code did not have no-slip BCs
164     #undef OLD_UV_GEOMETRY
165 adcroft 1.3
166 cnh 1.6 C o Execution environment support options
167 adcroft 1.3 #include "CPP_EEOPTIONS.h"
168 heimbach 1.13
169     C o Include/exclude code specific to the ECCO/SEALION version.
170     #undef INCLUDE_ECCO_PACKAGE
171     #ifdef INCLUDE_ECCO_PACKAGE
172     #include "ECCO_CPPOPTIONS.h"
173     #endif
174    

  ViewVC Help
Powered by ViewVC 1.1.22