/[MITgcm]/MITgcm/verification/global_ocean.cs32x15/code_ad/ECCO_CPPOPTIONS.h
ViewVC logotype

Annotation of /MITgcm/verification/global_ocean.cs32x15/code_ad/ECCO_CPPOPTIONS.h

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


Revision 1.8 - (hide annotations) (download)
Thu Aug 9 18:15:57 2012 UTC (11 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63r, checkpoint63s, checkpoint64
Changes since 1.7: +22 -16 lines
File MIME type: text/plain
- reccord when this file is included (define ECCO_CPPOPTIONS_H)
- remove the most obvious obsolete features (e.g., #define ALLOW_COST not
  allowed since Oct 2003 in any option-file except in PACKAGES_CONFIG.h)

1 jmc 1.8 C $Header: /u/gcmpack/MITgcm/verification/global_ocean.cs32x15/code_ad/ECCO_CPPOPTIONS.h,v 1.7 2012/01/17 15:18:55 jmc Exp $
2 heimbach 1.1 C $Name: $
3    
4 jmc 1.8 #ifndef ECCO_CPPOPTIONS_H
5     #define ECCO_CPPOPTIONS_H
6    
7     C-- Collect here, in a single option-file, options to control which optional
8     C features to compile in packages AUTODIFF, COST, CTRL, ECCO, CAL and EXF.
9     C If used, this option-file needs to be directly included in CPP_OPTIONS.h
10     C Although this method, inherited from ECCO setup, has been traditionally
11     C used for all adjoint built, work is in progess to allow to use the
12     C standard metod (each of the above pkg get its own options from its
13     C specific option-file) also for adjoint built.
14 heimbach 1.1
15     C ********************************************************************
16     C *** Adjoint Support Package ***
17     C ********************************************************************
18    
19     C o Include/exclude code in order to be able to automatically
20     C differentiate the MITgcmUV by using the Tangent Linear and
21     C Adjoint Model Compiler (TAMC).
22 jmc 1.8
23 heimbach 1.1 #define ALLOW_AUTODIFF_TAMC
24     C >>> Checkpointing as handled by TAMC
25     #define ALLOW_TAMC_CHECKPOINTING
26 jmc 1.8
27 heimbach 1.1 C >>> Extract adjoint state
28 heimbach 1.2 #define ALLOW_AUTODIFF_MONITOR
29 jmc 1.8
30 heimbach 1.1 C >>> DO 2-level checkpointing instead of 3-level
31     #undef AUTODIFF_2_LEVEL_CHECKPOINT
32 jmc 1.8
33 heimbach 1.1 C o use divided adjoint to split adjoint computations
34     #undef ALLOW_DIVIDED_ADJOINT
35     #undef ALLOW_DIVIDED_ADJOINT_MPI
36    
37 gforget 1.5 #define ALLOW_AUTODIFF_WHTAPEIO
38     #define ALLOW_PACKUNPACK_METHOD2
39 gforget 1.6 #define AUTODIFF_USE_OLDSTORE_3D
40     #define AUTODIFF_USE_OLDSTORE_2D
41 gforget 1.5
42 heimbach 1.1 C ********************************************************************
43 jmc 1.8 C *** Calendar Package ***
44 heimbach 1.1 C ********************************************************************
45 jmc 1.8
46 heimbach 1.1 C CPP flags controlling which code is included in the files that
47     C will be compiled.
48    
49     CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
50    
51     C ********************************************************************
52     C *** Cost function Package ***
53     C ********************************************************************
54 jmc 1.8
55 heimbach 1.1 C >>> Cost function contributions
56     #define ALLOW_COST_TEST
57     #undef ALLOW_COST_TRACER
58     #undef ALLOW_COST_ATLANTIC_HEAT
59     #define ALLOW_COST_TSQUARED
60    
61     C ********************************************************************
62     C *** Control vector Package ***
63     C ********************************************************************
64 jmc 1.8
65 heimbach 1.1 #define EXCLUDE_CTRL_PACK
66     #undef ALLOW_NONDIMENSIONAL_CONTROL_IO
67 jmc 1.8
68 heimbach 1.1 C >>> Initial values.
69     #define ALLOW_THETA0_CONTROL
70     #define ALLOW_SALT0_CONTROL
71     #define ALLOW_TR10_CONTROL
72     #define ALLOW_TAUU0_CONTROL
73     #define ALLOW_TAUV0_CONTROL
74     #define ALLOW_SFLUX0_CONTROL
75     #define ALLOW_HFLUX0_CONTROL
76     #undef ALLOW_SSS0_CONTROL
77     #undef ALLOW_SST0_CONTROL
78     #define ALLOW_DIFFKR_CONTROL
79     #undef ALLOW_KAPGM_CONTROL
80    
81     C ********************************************************************
82     C *** External forcing Package ***
83     C ********************************************************************
84    
85     C Bulk formulae related flags.
86     #define ALLOW_ATM_TEMP
87 mlosch 1.4 #undef ALLOW_ATM_WIND
88 heimbach 1.1 #define ALLOW_DOWNWARD_RADIATION
89     #define ALLOW_RUNOFF
90     #if (defined (ALLOW_ATM_TEMP) || \
91     defined (ALLOW_ATM_WIND))
92     # define ALLOW_BULKFORMULAE
93 mlosch 1.4 # undef ALLOW_BULK_LARGEYEAGER04
94 heimbach 1.1 #endif
95    
96 jmc 1.7 C Use ocean_emissivity*lwdwon in lwFlux. This flag should be define
97     C unless to reproduce old results (obtained with inconsistent old code)
98     #ifdef ALLOW_DOWNWARD_RADIATION
99     # define EXF_LWDOWN_WITH_EMISSIVITY
100     #endif
101    
102 heimbach 1.1 C Relaxation to monthly climatologies.
103     #define ALLOW_CLIMSST_RELAXATION
104     #define ALLOW_CLIMSSS_RELAXATION
105    
106     C Use spatial interpolation to interpolate
107     C forcing files from input grid to model grid.
108     #undef USE_EXF_INTERPOLATION
109    
110     #define EXF_INTERP_USE_DYNALLOC
111     #if ( defined (EXF_INTERP_USE_DYNALLOC) & defined (USING_THREADS) )
112     # define EXF_IREAD_USE_GLOBAL_POINTER
113     #endif
114    
115     C >>> No Open boundaries
116     #undef ALLOW_OBCSN_CONTROL
117     #undef ALLOW_OBCSS_CONTROL
118     #undef ALLOW_OBCSW_CONTROL
119     #undef ALLOW_OBCSE_CONTROL
120    
121 jmc 1.8 C ********************************************************************
122     #endif /* ECCO_CPPOPTIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.22