/[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.4 by heimbach, Fri Sep 28 20:10:00 2007 UTC revision 1.13 by jmc, Thu Aug 9 18:15:57 2012 UTC
# Line 1  Line 1 
1    C $Header$
2    C $Name$
3    
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    
 C  
 C CPP flags controlling which code is included in the files that  
 C will be compiled.  
 C  
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
# Line 23  C ***                  Adjoint Support P Line 31  C ***                  Adjoint Support P
31  C ********************************************************************  C ********************************************************************
32    
33  C o Include/exclude code in order to be able to automatically  C o Include/exclude code in order to be able to automatically
34  C  
35  #define ALLOW_AUTODIFF_TAMC  #define ALLOW_AUTODIFF_TAMC
36  C  
37  C       >>> Checkpointing as handled by TAMC  C       >>> Checkpointing as handled by TAMC
38  #define ALLOW_TAMC_CHECKPOINTING  #define ALLOW_TAMC_CHECKPOINTING
39  C  
40  C extend to 4-level checkpointing  C extend to 4-level checkpointing
41  #undef AUTODIFF_4_LEVEL_CHECKPOINT  #undef AUTODIFF_4_LEVEL_CHECKPOINT
42  C  
43  C       >>> Extract adjoint state  C       >>> Extract adjoint state
44  #define ALLOW_AUTODIFF_MONITOR  #define ALLOW_AUTODIFF_MONITOR
45  C  
46  C o use divided adjoint to split adjoint computations  C o use divided adjoint to split adjoint computations
47  #undef ALLOW_DIVIDED_ADJOINT  #undef ALLOW_DIVIDED_ADJOINT
48    
49    C o TAMC compatible subroutine parameter list
50    #undef AUTODIFF_TAMC_COMPATIBILITY
51    
52  C ********************************************************************  C ********************************************************************
53  C ***                     Calendar Package                         ***  C ***                     Calendar Package                         ***
54  C ********************************************************************  C ********************************************************************
55  C  
56  C CPP flags controlling which code is included in the files that  C CPP flags controlling which code is included in the files that
57  C will be compiled.  C will be compiled.
58    
# Line 50  CPH >>>>>> THERE ARE NO MORE CAL OPTIONS Line 61  CPH >>>>>> THERE ARE NO MORE CAL OPTIONS
61  C ********************************************************************  C ********************************************************************
62  C ***                Cost function Package                         ***  C ***                Cost function Package                         ***
63  C ********************************************************************  C ********************************************************************
64  C  
 #define ALLOW_COST  
 #ifdef ALLOW_COST  
65  C       >>> Use the EGM-96 geoid error covariance.  C       >>> Use the EGM-96 geoid error covariance.
66  # undef  ALLOW_EGM96_ERROR_COV  # undef  ALLOW_EGM96_ERROR_COV
67  # undef  ALLOW_READ_EGM_DATA  # undef  ALLOW_READ_EGM_DATA
# Line 77  C       >>> Cost function contributions Line 86  C       >>> Cost function contributions
86  # define ALLOW_APRESSURE_COST_CONTRIBUTION  # define ALLOW_APRESSURE_COST_CONTRIBUTION
87  # undef ALLOW_RUNOFF_COST_CONTRIBUTION  # undef ALLOW_RUNOFF_COST_CONTRIBUTION
88    
89    # define ALLOW_THETA0_COST_CONTRIBUTION
90    # define ALLOW_SALT0_COST_CONTRIBUTION
91  # define ALLOW_THETA_COST_CONTRIBUTION  # define ALLOW_THETA_COST_CONTRIBUTION
92  # define ALLOW_SALT_COST_CONTRIBUTION  # define ALLOW_SALT_COST_CONTRIBUTION
93  # define ALLOW_SST_COST_CONTRIBUTION  # define ALLOW_SST_COST_CONTRIBUTION
94  # undef ALLOW_SSS_COST_CONTRIBUTION  # define ALLOW_SSS_COST_CONTRIBUTION
95    
96  # define ALLOW_SSH_MEAN_COST_CONTRIBUTION  # define ALLOW_SSH_MEAN_COST_CONTRIBUTION
97  # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION  # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
# Line 111  c       >>> Make sure that ALLOW_OBCS is Line 122  c       >>> Make sure that ALLOW_OBCS is
122  # endif  # endif
123    
124  c       >>> Sea-ice volume  c       >>> Sea-ice volume
125  # define ALLOW_COST_ICE  # undef ALLOW_COST_ICE
126    
127  c       >>> Sea-ice misfit to obs  c       >>> Sea-ice misfit to obs
128  # define ALLOW_SEAICE_COST_SMR_AREA  # define ALLOW_SEAICE_COST_SMR_AREA
129    
 #endif /* ALLOW_COST */  
   
130  C ********************************************************************  C ********************************************************************
131  C ***               Control vector Package                         ***  C ***               Control vector Package                         ***
132  C ********************************************************************  C ********************************************************************
133  C  
134  #define  ALLOW_NONDIMENSIONAL_CONTROL_IO  #define  ALLOW_NONDIMENSIONAL_CONTROL_IO
135    #undef  ALLOW_TAMC_SINGLEPREC_COMLEV
136    
137  C       >>> Initial values.  C       >>> Initial values.
138  #define ALLOW_THETA0_CONTROL  #define ALLOW_THETA0_CONTROL
# Line 160  C       >>> seaice init. conditions Line 170  C       >>> seaice init. conditions
170  #define  ALLOW_SIHEFF_CONTROL  #define  ALLOW_SIHEFF_CONTROL
171  #undef  ALLOW_SIHSNOW_CONTROL  #undef  ALLOW_SIHSNOW_CONTROL
172    
173    C       >>> relaxation terms
174    #define  ALLOW_SST_CONTROL
175    #define  ALLOW_SSS_CONTROL
176    
177  C       >>> Open boundaries  C       >>> Open boundaries
178  c       >>> Make sure that ALLOW_OBCS is defined  c       >>> Make sure that ALLOW_OBCS is defined
179  #undef  ALLOW_OBCSN_CONTROL  #undef  ALLOW_OBCSN_CONTROL
# Line 176  c       >>> Make sure that ALLOW_OBCS is Line 190  c       >>> Make sure that ALLOW_OBCS is
190  C ********************************************************************  C ********************************************************************
191  C ***             External forcing Package                         ***  C ***             External forcing Package                         ***
192  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  
193    
194  C   Bulk formulae related flags.  C   Bulk formulae related flags.
195  #undef  ALLOW_BULK_LARGYEAG04  #undef  ALLOW_BULK_LARGYEAG04
# Line 194  C   Bulk formulae related flags. Line 200  C   Bulk formulae related flags.
200  #define  ALLOW_RUNOFF  #define  ALLOW_RUNOFF
201  #undef  EXF_READ_EVAP  #undef  EXF_READ_EVAP
202    
203    C   Use ocean_emissivity*lwdwon in lwFlux. This flag should be define
204    C   unless to reproduce old results (obtained with inconsistent old code)
205    #ifdef ALLOW_DOWNWARD_RADIATION
206    # define EXF_LWDOWN_WITH_EMISSIVITY
207    #endif
208    
209  C   Relaxation to monthly climatologies.  C   Relaxation to monthly climatologies.
210  #define  ALLOW_CLIMSST_RELAXATION  #define  ALLOW_CLIMSST_RELAXATION
211  #define  ALLOW_CLIMSSS_RELAXATION  #define  ALLOW_CLIMSSS_RELAXATION
212    
213    C   Seaice area relaxation code
214    #define EXF_ALLOW_SEAICE_RELAX
215    
216    C ********************************************************************
217    #endif /* ECCO_CPPOPTIONS_H */

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22