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

Diff of /MITgcm/verification/lab_sea/code_ad/ECCO_CPPOPTIONS.h

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

revision 1.6 by heimbach, Mon Dec 3 22:36:50 2007 UTC revision 1.16 by jmc, Sat Oct 5 19:40:12 2013 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4  C  #ifndef ECCO_CPPOPTIONS_H
5  C CPP flags controlling which code is included in the files that  #define ECCO_CPPOPTIONS_H
6  C will be compiled.  
7  C  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  C ********************************************************************  C ********************************************************************
16  C ***                         ECCO Package                         ***  C ***                         ECCO Package                         ***
17  C ********************************************************************  C ********************************************************************
 C  
18    
19  cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<  cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
20  #define  SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING  cph#define  SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING
21  cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<  cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
22    
23  #define  ALLOW_ECCO_FORWARD_RUN  cph#define  ALLOW_ECCO_FORWARD_RUN
24  #undef  ALLOW_ECCO_OPTIMIZATION  #define  ALLOW_ECCO_OPTIMIZATION
25    
26  C       >>> Do a long protocol.  C       >>> Do a long protocol.
27  #undef ECCO_VERBOSE  #undef ECCO_VERBOSE
28    
29    #define ALLOW_ECCO_EVOLUTION
30    
31  C ********************************************************************  C ********************************************************************
32  C ***                  Adjoint Support Package                     ***  C ***                  Adjoint Support Package                     ***
33  C ********************************************************************  C ********************************************************************
34    
35  C o Include/exclude code in order to be able to automatically  C o Include/exclude code in order to be able to automatically
36  C  
37  #define ALLOW_AUTODIFF_TAMC  #define ALLOW_AUTODIFF_TAMC
38  C  
39  C       >>> Checkpointing as handled by TAMC  C       >>> Checkpointing as handled by TAMC
40  #define ALLOW_TAMC_CHECKPOINTING  #define ALLOW_TAMC_CHECKPOINTING
41  C  
42  C extend to 4-level checkpointing  C extend to 4-level checkpointing
43  #undef AUTODIFF_4_LEVEL_CHECKPOINT  #undef AUTODIFF_4_LEVEL_CHECKPOINT
44  C  
45  C       >>> Extract adjoint state  C       >>> Extract adjoint state
46  #define ALLOW_AUTODIFF_MONITOR  #define ALLOW_AUTODIFF_MONITOR
47  C  
48  C o use divided adjoint to split adjoint computations  C o use divided adjoint to split adjoint computations
49  #undef ALLOW_DIVIDED_ADJOINT  #define ALLOW_DIVIDED_ADJOINT
50    
51    C o TAMC compatible subroutine parameter list
52    #undef AUTODIFF_TAMC_COMPATIBILITY
53    
54  C ********************************************************************  C ********************************************************************
55  C ***                     Calendar Package                         ***  C ***                     Calendar Package                         ***
56  C ********************************************************************  C ********************************************************************
57  C  
58  C CPP flags controlling which code is included in the files that  C CPP flags controlling which code is included in the files that
59  C will be compiled.  C will be compiled.
60    
# Line 52  CPH >>>>>> THERE ARE NO MORE CAL OPTIONS Line 63  CPH >>>>>> THERE ARE NO MORE CAL OPTIONS
63  C ********************************************************************  C ********************************************************************
64  C ***                Cost function Package                         ***  C ***                Cost function Package                         ***
65  C ********************************************************************  C ********************************************************************
66  C  
 #define ALLOW_COST  
 #ifdef ALLOW_COST  
67  C       >>> Use the EGM-96 geoid error covariance.  C       >>> Use the EGM-96 geoid error covariance.
68  # undef  ALLOW_EGM96_ERROR_COV  # undef  ALLOW_EGM96_ERROR_COV
69  # undef  ALLOW_READ_EGM_DATA  # undef  ALLOW_READ_EGM_DATA
# Line 84  C       >>> Cost function contributions Line 93  C       >>> Cost function contributions
93  # define ALLOW_THETA_COST_CONTRIBUTION  # define ALLOW_THETA_COST_CONTRIBUTION
94  # define ALLOW_SALT_COST_CONTRIBUTION  # define ALLOW_SALT_COST_CONTRIBUTION
95  # define ALLOW_SST_COST_CONTRIBUTION  # define ALLOW_SST_COST_CONTRIBUTION
96  # undef ALLOW_SSS_COST_CONTRIBUTION  # define ALLOW_SSS_COST_CONTRIBUTION
97    
98  # define ALLOW_SSH_MEAN_COST_CONTRIBUTION  # define ALLOW_SSH_MEAN_COST_CONTRIBUTION
99  # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION  # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
# Line 115  c       >>> Make sure that ALLOW_OBCS is Line 124  c       >>> Make sure that ALLOW_OBCS is
124  # endif  # endif
125    
126  c       >>> Sea-ice volume  c       >>> Sea-ice volume
127  # define ALLOW_COST_ICE  # undef ALLOW_COST_ICE
128    
129  c       >>> Sea-ice misfit to obs  c       >>> Sea-ice misfit to obs
130  # define ALLOW_SEAICE_COST_SMR_AREA  # define ALLOW_SEAICE_COST_SMR_AREA
131    
 #endif /* ALLOW_COST */  
   
132  C ********************************************************************  C ********************************************************************
133  C ***               Control vector Package                         ***  C ***               Control vector Package                         ***
134  C ********************************************************************  C ********************************************************************
135  C  
136  #define  ALLOW_NONDIMENSIONAL_CONTROL_IO  #define  ALLOW_NONDIMENSIONAL_CONTROL_IO
137    #undef  ALLOW_TAMC_SINGLEPREC_COMLEV
138    
139  C       >>> Initial values.  C       >>> Initial values.
140  #define ALLOW_THETA0_CONTROL  #define ALLOW_THETA0_CONTROL
# Line 164  C       >>> seaice init. conditions Line 172  C       >>> seaice init. conditions
172  #define  ALLOW_SIHEFF_CONTROL  #define  ALLOW_SIHEFF_CONTROL
173  #undef  ALLOW_SIHSNOW_CONTROL  #undef  ALLOW_SIHSNOW_CONTROL
174    
175    C       >>> relaxation terms
176    #define  ALLOW_SST_CONTROL
177    #define  ALLOW_SSS_CONTROL
178    
179  C       >>> Open boundaries  C       >>> Open boundaries
180  c       >>> Make sure that ALLOW_OBCS is defined  c       >>> Make sure that ALLOW_OBCS is defined
181  #undef  ALLOW_OBCSN_CONTROL  #undef  ALLOW_OBCSN_CONTROL
# Line 180  c       >>> Make sure that ALLOW_OBCS is Line 192  c       >>> Make sure that ALLOW_OBCS is
192  C ********************************************************************  C ********************************************************************
193  C ***             External forcing Package                         ***  C ***             External forcing Package                         ***
194  C ********************************************************************  C ********************************************************************
 C  
 C o Include/exclude the external forcing package. To use this package,  
 C   you have to include the calendar tool as well. KPP can be switched  
 C   on or off. The implementation automatically takes care of this.  
 #define INCLUDE_EXTERNAL_FORCING_PACKAGE  
   
 C   Do more printout for the protocol file than usual.  
 #undef EXF_VERBOSE  
195    
196  C   Bulk formulae related flags.  C   Bulk formulae related flags.
197  #undef  ALLOW_BULK_LARGYEAG04  #undef  ALLOW_BULK_LARGYEAG04
# Line 198  C   Bulk formulae related flags. Line 202  C   Bulk formulae related flags.
202  #define  ALLOW_RUNOFF  #define  ALLOW_RUNOFF
203  #undef  EXF_READ_EVAP  #undef  EXF_READ_EVAP
204    
205    C   Use ocean_emissivity*lwdwon in lwFlux. This flag should be define
206    C   unless to reproduce old results (obtained with inconsistent old code)
207    #ifdef ALLOW_DOWNWARD_RADIATION
208    # define EXF_LWDOWN_WITH_EMISSIVITY
209    #endif
210    
211  C   Relaxation to monthly climatologies.  C   Relaxation to monthly climatologies.
212  #define  ALLOW_CLIMSST_RELAXATION  #define  ALLOW_CLIMSST_RELAXATION
213  #define  ALLOW_CLIMSSS_RELAXATION  #define  ALLOW_CLIMSSS_RELAXATION
214    
215    C   Seaice area relaxation code
216    #define EXF_SEAICE_FRACTION
217    
218    C ********************************************************************
219    #endif /* ECCO_CPPOPTIONS_H */

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22