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

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

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


Revision 1.20 - (show annotations) (download)
Fri Nov 15 19:58:21 2002 UTC (21 years, 6 months ago) by cheisey
Branch: MAIN
Changes since 1.19: +16 -1 lines
File MIME type: text/plain
Two packages:  bulk_forcing (Bulk forcing)
and thermodynamic_seaice (adapted from LANL CICE.v2.0.2)
Earlier integration from Stephaine Dutkiewicz
and Patrick Heimbach.

Two ifdef statements for compile time,
ALLOW_TSEAICE and ALLOW_BULKFORMULA

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

cat data.pkg
# Packages
 &PACKAGES
 useBulkf=.TRUE.,
 useTSeaIce=.TRUE.,
 &

The bulk package requires an additional parameter file
with two namelists.

 cat data.blk
 &BULKF_PARM01
 RainFile=       'ncep_precip_m_cubed.bin',
 SolarFile=      'ncep_downsolr_cubed.bin',
 AirTempFile=    'ncep_tair_cubed.bin',
 AirhumidityFile='ncep_qair_g_cubed.bin',
 LongwaveFile=   'ncep_netlw_cubed.bin',
 UWindFile=      'ncep_uwind_cubed.bin',
 VWindFile=      'ncep_vwind_cubed.bin',
 WspeedFile=    ' ',
 RunoffFile=    ' ',
 QnetFile=       ' ',
 EmPFile=        'ncep_emp_calc_cubed.bin',
 CloudFile=      'ncep_totalcloud_cubed.bin',
 &

 &BULKF_PARM02
 qnet_off=0.0,
 empmr_off=0.0,
 conservcycle=311040000.,
 &



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-----------------------------------------------------------------------

WARNING:  useSEAICE and useTSEAICE are mutually exclusive.

todo: thermodynamic.F should be reviewed and cleaned up a bit.

1 C $Header: /u/u0/gcmpack/MITgcm/model/inc/CPP_OPTIONS.h,v 1.19 2001/09/21 03:54:36 cnh Exp $
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
12
13 CBOP
14 C !ROUTINE: CPP_OPTIONS.h
15 C !INTERFACE:
16 C include "CPP_OPTIONS.h"
17 C !DESCRIPTION:
18 C CPP flags controlling which code in included in the files that
19 C will be compiled.
20 CEOP
21
22 C o Include/exclude code for AIM package
23 #undef ALLOW_AIM
24
25 C o Include/exclude code for GM/Redi parameterization
26 #undef ALLOW_GMREDI
27
28 C o Include/exclude code for KPP mixing scheme
29 #define ALLOW_KPP
30
31 cswdblk --- add ---
32 C o Include/exclude code for bulk formula
33 #define ALLOW_BULKFORMULA
34 #ifdef ALLOW_BULKFORMULA
35 cswdice -- add ---
36 C o allow seaice
37 #define ALLOW_TSEAICE
38 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
46 C o Shortwave heating as extra term in external_forcing.F
47 #ifdef ALLOW_KPP
48 #define SHORTWAVE_HEATING
49 #endif
50
51 C o Include/exclude code for Shapiro filters
52 #define ALLOW_SHAP_FILT
53
54 C o Include/exclude code for C-D grid method of integrating the
55 C coriolis terms
56 #define INCLUDE_CD_CODE
57
58 C o Include/exclude code for open-boundary conditions
59 #undef ALLOW_OBCS
60
61 C o Include/exclude diagnostics package interface code
62 #define ALLOW_TIMEAVE
63
64 C o Include/exclude zonal FFT filter code
65 #undef ALLOW_ZONAL_FILT
66
67 C o Include/exclude temperature advection code
68 #define INCLUDE_T_ADVECTION_CODE
69 #ifdef INCLUDE_T_ADVECTION_CODE
70 #define _ADT(a)a
71 #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 #define _LPT(a)a
80 #define _BHT(a)a
81 #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 #define _ADM(a)a
94 #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 #define _LPM(a)a
103 #endif
104 #ifndef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE
105 #define _LPM(a)
106 #endif
107
108 C o Include/exclude biharmonic viscosity code
109 #define INCLUDE_BH_MOMENTUM_DIFFUSION_CODE
110 #ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE
111 #define _BHM(a)a
112 #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 #define _PHM(a)a
121 #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
141 C o Allow nonHydrostatic code
142 #undef ALLOW_NONHYDROSTATIC
143
144 C o Use "natural" boundary conditions for salinity
145 C instead of the "virtual salt flux"
146 #undef USE_NATURAL_BCS
147
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
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
166 C o Execution environment support options
167 #include "CPP_EEOPTIONS.h"
168
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