/[MITgcm]/MITgcm_contrib/high_res_cube/code-mods/SEAICE_OPTIONS.h
ViewVC logotype

Diff of /MITgcm_contrib/high_res_cube/code-mods/SEAICE_OPTIONS.h

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

revision 1.2 by dimitri, Sat Jan 10 00:50:25 2004 UTC revision 1.12 by dimitri, Thu Jul 19 19:14:40 2007 UTC
# Line 11  C     \================================= Line 11  C     \=================================
11  #ifndef SEAICE_OPTIONS_H  #ifndef SEAICE_OPTIONS_H
12  #define SEAICE_OPTIONS_H  #define SEAICE_OPTIONS_H
13  #include "PACKAGES_CONFIG.h"  #include "PACKAGES_CONFIG.h"
 #ifdef ALLOW_SEAICE  
   
14  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
15    
16  C--   Write "text-plots" of certain fields in STDOUT for debugging.  C--   Write "text-plots" of certain fields in STDOUT for debugging.
# Line 23  C     This option is provided to allow u Line 21  C     This option is provided to allow u
21  C     on the thermodynamics component of the code only.  C     on the thermodynamics component of the code only.
22  C     Sea-ice dynamics can also be turned off at runtime  C     Sea-ice dynamics can also be turned off at runtime
23  C     using variable SEAICEuseDYNAMICS.  C     using variable SEAICEuseDYNAMICS.
24  #undef SEAICE_ALLOW_DYNAMICS  #define SEAICE_ALLOW_DYNAMICS
25    
26  C--   By default, pkg/seaice defines forcing variable internally, in  C--   By default, pkg/seaice defines forcing variable internally, in
27  C     SEAICE_FFIELDS.h, and reads them in from files.  When CPP option  C     SEAICE_FFIELDS.h, and reads them in from files.  When CPP option
28  C     SEAICE_EXTERNAL_FORCING is defined, the above forcing variables  C     SEAICE_EXTERNAL_FORCING is defined, the above forcing variables
29  C     are defined and provided by an external package.  At present this  C     are defined and provided by an external package.  At present this
30  C     option is hardwired for pkg/exf and the variables are passed using  C     option is hardwired for pkg/exf and the variables are passed using
31  C     include file exf_fields.h.  C     include file EXF_FIELDS.h (=> cannot be defined without pkg/EXF )
32  #define SEAICE_EXTERNAL_FORCING  #define SEAICE_EXTERNAL_FORCING
33  #ifdef SEAICE_EXTERNAL_FORCING  #ifndef ALLOW_EXF
34  #include "EXF_OPTIONS.h"  # undef SEAICE_EXTERNAL_FORCING
35  #endif /* SEAICE_EXTERNAL_FORCING */  #endif
36    
37    #ifdef  SEAICE_EXTERNAL_FORCING
38    #  include "EXF_OPTIONS.h"
39  C--   By default, the sea-ice package uses its own integrated bulk  C--   By default, the sea-ice package uses its own integrated bulk
40  C     formulae to compute fluxes (fu, fv, EmPmR, Qnet, and Qsw) over  C     formulae to compute fluxes (fu, fv, EmPmR, Qnet, and Qsw) over
41  C     open-ocean.  When this flag is set, these variables are computed  C     open-ocean.  When this flag is set, these variables are computed
42  C     in a separate external package, for example, pkg/exf, and then  C     in a separate external package, for example, pkg/exf, and then
43  C     modified for sea-ice effects by pkg/seaice.  C     modified for sea-ice effects by pkg/seaice.
44  #define SEAICE_EXTERNAL_FLUXES  # define SEAICE_EXTERNAL_FLUXES
45    
46    #else  /* SEAICE_EXTERNAL_FORCING */
47    C-    current implementation requires those options to be set:
48    # undef  SEAICE_EXTERNAL_FLUXES
49    # define ALLOW_ATM_TEMP
50    # define ALLOW_DOWNWARD_RADIATION
51    # define ALLOW_RUNOFF
52    
53    #endif /* SEAICE_EXTERNAL_FORCING */
54    
55    #ifdef ALLOW_OBCS
56    C- OBCS information is needed to define the correct sea ice mask.
57    #include "OBCS_OPTIONS.h"
58    #endif /* ALLOW_OBCS */
59    
60  C--   By default, the sea-ice package uses 2-category thermodynamics.  C--   By default, the sea-ice package uses 2-category thermodynamics.
61  C     When this flag is set, an 8-category calculation of ice  C     When this flag is set, an 8-category calculation of ice
62  C     thermodynamics is carried out in groatb.F  C     thermodynamics is carried out in groatb.F
63  C     !!! Note the pickup_seaice.* generated by this option differ !!!  C     Note the pickup_seaice.* generated by this option differ
64  C     !!! from those generated with the default 2-category model.  !!!  C     from those generated with the default 2-category model.
65  C     !!! Therefore it is not possible to switch between the two   !!!  C     Therefore it is not possible to switch between the two
66  C     !!! in the middle of an integration.                         !!!  C     in the middle of an integration.
67  #undef SEAICE_MULTILEVEL  #define SEAICE_MULTICATEGORY
68    
69    C--   By default cdm wind stress under sea-ice is set to the
70    C     same value as it would be if there was no sea-ice.
71    C     This is a placeholder until a more physically-sensible
72    C     stable solution is developed.  Apparently ocean stress
73    C     that is based on sea-ice velocity can cause trouble in
74    C     Arctic Ocean configurations.  This temporary solution
75    C     also corresponds to that adopted by CCSM-2.  For the
76    C     adventurous user who requires ice-modified stress,
77    C     following options are available.
78    #undef SEAICE_ORIGINAL_BAD_ICE_STRESS
79    #undef SEAICE_TEST_ICE_STRESS_1
80    
81    C--   By default the freezing point of water is set to the value of
82    C     the parameter SEAICE_freeze (=-1.96 by default). To use a
83    C     simple linear dependence of the freezing point on salinity,
84    C     set the following flag (pressure is assumed to have no effect,
85    C     which is a good assumption for the top 20 meters). With this
86    C     option defined the parameter SEAICE_freeze has no effect.
87    #define SEAICE_VARIABLE_FREEZING_POINT
88    
89    C--   Allow SEAICEuseFlooding, which converts snow to ice if submerged.
90    #define ALLOW_SEAICE_FLOODING
91    
92    C--   By default the seaice model is discretized on a B-Grid (for
93    C     historical reasons). Define the following flag to use a new
94    C     (not thoroughly) test version on a C-grid
95    #define SEAICE_CGRID
96    
97    C--   Only for the C-grid version it is possible to enable EVP code by
98    C     defining the following flag
99    #ifdef SEAICE_CGRID
100    #undef SEAICE_ALLOW_EVP
101    #endif /* SEAICE_CGRID */
102    
103    C--   When set use MAX_HEFF to cap sea ice thickness in seaice_growth
104    #define SEAICE_CAP_HEFF
105    
 #endif /* ALLOW_SEAICE */  
106  #endif /* SEAICE_OPTIONS_H */  #endif /* SEAICE_OPTIONS_H */
107    
108    CEH3 ;;; Local Variables: ***
109    CEH3 ;;; mode:fortran ***
110    CEH3 ;;; End: ***

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22