/[MITgcm]/MITgcm_contrib/dgoldberg/depth_control_no_nsa/code/ECCO_CPPOPTIONS.h
ViewVC logotype

Contents of /MITgcm_contrib/dgoldberg/depth_control_no_nsa/code/ECCO_CPPOPTIONS.h

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


Revision 1.1 - (show annotations) (download)
Thu Dec 7 23:21:12 2017 UTC (7 years, 7 months ago) by dgoldberg
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
test case for depth control w/out cg2d_nsa

1 C $Header: /u/gcmpack/MITgcm/verification/global_ocean.cs32x15/code_ad/ECCO_CPPOPTIONS.h,v 1.4 2010/05/19 08:33:34 mlosch Exp $
2 C $Name: $
3
4 C
5 C CPP flags controlling which code is included in the files that
6 C will be compiled.
7 #ifndef ECCO_CPPOPTIONS_H
8 #define ECCO_CPPOPTIONS_H
9
10 C-- Collect here, in a single option-file, options to control which optional
11 C features to compile in packages AUTODIFF, COST, CTRL, ECCO, CAL and EXF.
12 C If used, this option-file needs to be directly included in CPP_OPTIONS.h
13 C Although this method, inherited from ECCO setup, has been traditionally
14 C used for all adjoint built, work is in progess to allow to use the
15 C standard metod (each of the above pkg get its own options from its
16 C specific option-file) also for adjoint built.
17
18 C ********************************************************************
19 C *** ECCO Package ***
20 C ********************************************************************
21
22 C allow use of legacy ecco/ctrl codes
23 #define ECCO_CTRL_DEPRECATED
24
25 #undef ALLOW_ECCO_FORWARD_RUN
26 #undef ALLOW_ECCO_DIAGNOSTICS_RUN
27 #undef ALLOW_ECCO_OPTIMIZATION
28
29 C >>> Do a long protocol.
30 #undef ECCO_VERBOSE
31
32
33 C ********************************************************************
34 C *** Adjoint Support Package ***
35 C ********************************************************************
36
37 C o Include/exclude code in order to be able to automatically
38 C differentiate the MITgcmUV by using the Tangent Linear and
39 C Adjoint Model Compiler (TAMC).
40 C
41 #define ALLOW_AUTODIFF_TAMC
42 C >>> Checkpointing as handled by TAMC
43 #define ALLOW_TAMC_CHECKPOINTING
44 C
45 C >>> Extract adjoint state
46 #define ALLOW_AUTODIFF_MONITOR
47 #define ALLOW_AUTODIFF_MONITOR_DIAG
48 C
49 C >>> DO 2-level checkpointing instead of 3-level
50 #undef AUTODIFF_2_LEVEL_CHECKPOINT
51 C
52 C o use divided adjoint to split adjoint computations
53 #undef ALLOW_DIVIDED_ADJOINT
54 #undef ALLOW_DIVIDED_ADJOINT_MPI
55
56 C ********************************************************************
57 C *** Calender Package ***
58 C ********************************************************************
59 C
60 C CPP flags controlling which code is included in the files that
61 C will be compiled.
62
63 CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
64
65 C ********************************************************************
66 C *** Cost function Package ***
67 C ********************************************************************
68 C
69 C >>> Cost function contributions
70 #define ALLOW_COST
71 #undef ALLOW_COST_TEST
72 #undef ALLOW_COST_TRACER
73 #undef ALLOW_COST_ATLANTIC_HEAT
74 #undef ALLOW_COST_TSQUARED
75 #define ALLOW_COST_SHELFICE
76 Cts getting 0 cost function, so adding these ...
77 C to allow SHELFICE_COST_SHIFWFLX() to run
78 CC#define ALLOW_SHIFWFLX_CONTROL
79 CC#define ALLOW_SHIFWFLX_COST_CONTROBITION
80
81 C ********************************************************************
82 C *** Control vector Package ***
83 C ********************************************************************
84 C
85 #define EXCLUDE_CTRL_PACK
86 #undef ALLOW_NONDIMENSIONAL_CONTROL_IO
87 C
88 C >>> Initial values.
89 #define ALLOW_THETA0_CONTROL
90 #define ALLOW_SALT0_CONTROL
91 c#define ALLOW_TR10_CONTROL
92 c#define ALLOW_TAUU0_CONTROL
93 c#define ALLOW_TAUV0_CONTROL
94 c#define ALLOW_SFLUX0_CONTROL
95 c#define ALLOW_HFLUX0_CONTROL
96 c#undef ALLOW_SSS0_CONTROL
97 c#undef ALLOW_SST0_CONTROL
98 #undef ALLOW_DIFFKR_CONTROL
99 c#undef ALLOW_KAPGM_CONTROL
100
101 C o Topography in control vector
102 #define ALLOW_DEPTH_CONTROL
103 #ifdef ALLOW_DEPTH_CONTROL
104 !# define ALLOW_CG2D_NSA
105 # define ALLOW_DIFFERENTIATE_CG2D_MATRIX
106 # define USE_SMOOTH_MIN
107 #endif /* ALLOW_DEPTH_CONTROL */
108
109 C
110 #ifdef ALLOW_OBCS
111 #undef ALLOW_OBCSN_CONTROL
112 #undef ALLOW_OBCSS_CONTROL
113 #undef ALLOW_OBCSW_CONTROL
114 #undef ALLOW_OBCSE_CONTROL
115 #if (defined (ALLOW_OBCSN_CONTROL) || \
116 defined (ALLOW_OBCSS_CONTROL) || \
117 defined (ALLOW_OBCSW_CONTROL) || \
118 defined (ALLOW_OBCSE_CONTROL))
119 # define ALLOW_OBCS_CONTROL
120 #endif
121 #endif /* ALLOW_OBCS */
122
123 #endif /* ECCO_CPPOPTIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.22