/[MITgcm]/MITgcm/verification/offline_exf_seaice/code_ad/ECCO_CPPOPTIONS.h
ViewVC logotype

Annotation of /MITgcm/verification/offline_exf_seaice/code_ad/ECCO_CPPOPTIONS.h

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


Revision 1.4 - (hide annotations) (download)
Thu Aug 9 18:15:57 2012 UTC (11 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint63r, checkpoint63s, checkpoint64
Changes since 1.3: +21 -12 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.4 C $Header: /u/gcmpack/MITgcm/verification/offline_exf_seaice/code_ad/ECCO_CPPOPTIONS.h,v 1.3 2012/07/27 21:13:27 jmc Exp $
2 heimbach 1.1 C $Name: $
3    
4 jmc 1.4 #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    
15 heimbach 1.1 C ********************************************************************
16     C *** ECCO Package ***
17     C ********************************************************************
18 jmc 1.4
19 heimbach 1.1 #undef ALLOW_ECCO_FORWARD_RUN
20     #undef ALLOW_ECCO_DIAGNOSTICS_RUN
21     #define ALLOW_ECCO_OPTIMIZATION
22 jmc 1.2
23 heimbach 1.1 C ********************************************************************
24     C *** Adjoint Support Package ***
25     C ********************************************************************
26 jmc 1.2
27 heimbach 1.1 C o Include/exclude code in order to be able to automatically
28     C differentiate the MITgcmUV by using the Tangent Linear and
29     C Adjoint Model Compiler (TAMC).
30     #define ALLOW_AUTODIFF_TAMC
31 jmc 1.4
32 heimbach 1.1 C >>> Checkpointing as handled by TAMC
33     #define ALLOW_TAMC_CHECKPOINTING
34     c
35     c >>> Reduce to 2-level checkpointing
36     #define AUTODIFF_2_LEVEL_CHECKPOINT
37 jmc 1.4
38 heimbach 1.1 C >>> Extract adjoint state
39 jmc 1.3 #undef ALLOW_AUTODIFF_MONITOR
40 jmc 1.4
41 heimbach 1.1 C o use divided adjoint to split adjoint computations
42     #undef ALLOW_DIVIDED_ADJOINT
43    
44     C ********************************************************************
45     C *** Cost function Package ***
46     C ********************************************************************
47 jmc 1.4
48 heimbach 1.1 # define ALLOW_ATEMP_COST_CONTRIBUTION
49     # define ALLOW_AQH_COST_CONTRIBUTION
50     # define ALLOW_UWIND_COST_CONTRIBUTION
51     # define ALLOW_VWIND_COST_CONTRIBUTION
52     # define ALLOW_PRECIP_COST_CONTRIBUTION
53     # define ALLOW_SWDOWN_COST_CONTRIBUTION
54    
55     cph-test # define ALLOW_SST_COST_CONTRIBUTION
56    
57     c >>> Sea-ice volume
58     # define ALLOW_COST_ICE
59    
60     C ********************************************************************
61     C *** Control vector Package ***
62     C ********************************************************************
63 jmc 1.4
64 heimbach 1.1 #define EXCLUDE_CTRL_PACK
65    
66     C >>> Initial values.
67     #undef ALLOW_THETA0_CONTROL
68     #undef ALLOW_SALT0_CONTROL
69    
70     C >>> Surface fluxes.
71     #undef ALLOW_HFLUX_CONTROL
72     #undef ALLOW_SFLUX_CONTROL
73     #undef ALLOW_USTRESS_CONTROL
74     #undef ALLOW_VSTRESS_CONTROL
75    
76     C >>> Atmospheric state.
77     #define ALLOW_ATEMP_CONTROL
78     #define ALLOW_AQH_CONTROL
79     #define ALLOW_UWIND_CONTROL
80     #define ALLOW_VWIND_CONTROL
81     #define ALLOW_PRECIP_CONTROL
82     #define ALLOW_SWDOWN_CONTROL
83    
84     cph-test #define ALLOW_SST_CONTROL
85     #undef ALLOW_SSS_CONTROL
86    
87     C ********************************************************************
88     C *** External forcing Package ***
89     C ********************************************************************
90    
91     C Bulk formulae related flags.
92     #define ALLOW_ATM_TEMP
93     #define ALLOW_ATM_WIND
94     #define ALLOW_DOWNWARD_RADIATION
95     #define ALLOW_RUNOFF
96 jmc 1.2 #if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND))
97 heimbach 1.1 # define ALLOW_BULK_OFFLINE
98     # define ALLOW_BULKFORMULAE
99     # undef ALLOW_BULK_LARGEYEAGER04
100     #endif
101    
102 jmc 1.2 C Use ocean_emissivity*lwdwon in lwFlux. This flag should be define
103     C unless to reproduce old results (obtained with inconsistent old code)
104     #ifdef ALLOW_DOWNWARD_RADIATION
105     # define EXF_LWDOWN_WITH_EMISSIVITY
106     #endif
107    
108 heimbach 1.1 C Relaxation to monthly climatologies.
109     #define ALLOW_CLIMSST_RELAXATION
110     #define ALLOW_CLIMSSS_RELAXATION
111    
112     C Use spatial interpolation to interpolate
113     C forcing files from input grid to model grid.
114     #undef USE_EXF_INTERPOLATION
115    
116     #define EXF_INTERP_USE_DYNALLOC
117 jmc 1.2 #if ( defined (EXF_INTERP_USE_DYNALLOC) && defined (USING_THREADS) )
118 heimbach 1.1 # define EXF_IREAD_USE_GLOBAL_POINTER
119     #endif
120 jmc 1.4
121     C ********************************************************************
122     #endif /* ECCO_CPPOPTIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.22