/[MITgcm]/MITgcm/pkg/seaice/SEAICE_OPTIONS.h
ViewVC logotype

Annotation of /MITgcm/pkg/seaice/SEAICE_OPTIONS.h

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


Revision 1.46 - (hide annotations) (download)
Wed Feb 23 21:12:45 2011 UTC (13 years, 3 months ago) by dimitri
Branch: MAIN
Changes since 1.45: +3 -1 lines
File MIME type: text/plain
Reverting seaice_growth to v 1.111 in order to have code with exact bit
 compatibility with MITgcm_contrib/ifenty/Fenty_seaice_thermo_code_merge
 CPP option SEAICE_OCN_MELT_ACT_ON_AREA removed in v 1.112 is reintroduced
 runtime flag SEAICEareaFormula is kept but is inactive
 The code is now consistent with
 MITgcm_contrib/ifenty/Fenty_seaice_thermo_code_merge/documentation/Seaice_Growth_Forward_and_Adjoint_comparisons.pdf
Modified Files:
 doc/tag-index pkg/seaice/SEAICE_OPTIONS.h
 pkg/seaice/seaice_diagnostics_init.F
 pkg/seaice/seaice_growth.F
 verification/global_ocean.cs32x15/code/SEAICE_OPTIONS.h
 verification/global_ocean.cs32x15/code_ad/SEAICE_OPTIONS.h

1 dimitri 1.46 C $Header: /u/gcmpack/MITgcm/pkg/seaice/SEAICE_OPTIONS.h,v 1.45 2011/02/14 23:51:07 gforget Exp $
2 jmc 1.17 C $Name: $
3 heimbach 1.2
4 jmc 1.41 C *==========================================================*
5 heimbach 1.2 C | SEAICE_OPTIONS.h |
6     C | o CPP options file for sea ice package. |
7 jmc 1.41 C *==========================================================*
8 heimbach 1.2 C | Use this file for selecting options within the sea ice |
9 edhill 1.7 C | package. |
10 jmc 1.41 C *==========================================================*
11 heimbach 1.2
12 edhill 1.7 #ifndef SEAICE_OPTIONS_H
13     #define SEAICE_OPTIONS_H
14     #include "PACKAGES_CONFIG.h"
15 heimbach 1.2 #include "CPP_OPTIONS.h"
16    
17 dimitri 1.3 C-- Write "text-plots" of certain fields in STDOUT for debugging.
18 heimbach 1.2 #undef SEAICE_DEBUG
19    
20 dimitri 1.3 C-- Allow sea-ice dynamic code.
21     C This option is provided to allow use of TAMC
22     C on the thermodynamics component of the code only.
23     C Sea-ice dynamics can also be turned off at runtime
24     C using variable SEAICEuseDYNAMICS.
25 heimbach 1.2 #define SEAICE_ALLOW_DYNAMICS
26 dimitri 1.3
27     C-- By default, the sea-ice package uses its own integrated bulk
28     C formulae to compute fluxes (fu, fv, EmPmR, Qnet, and Qsw) over
29     C open-ocean. When this flag is set, these variables are computed
30     C in a separate external package, for example, pkg/exf, and then
31     C modified for sea-ice effects by pkg/seaice.
32 dimitri 1.28 #define SEAICE_EXTERNAL_FLUXES
33 heimbach 1.2
34 dimitri 1.5 C-- By default, the sea-ice package uses 2-category thermodynamics.
35     C When this flag is set, an 8-category calculation of ice
36     C thermodynamics is carried out in groatb.F
37 dimitri 1.10 C Note the pickup_seaice.* generated by this option differ
38     C from those generated with the default 2-category model.
39     C Therefore it is not possible to switch between the two
40     C in the middle of an integration.
41 mlosch 1.18 #undef SEAICE_MULTICATEGORY
42 dimitri 1.5
43 jmc 1.41 C-- Use the Old version of seaice_growth (close to cvs version 1.70)
44     C otherwise, use the merged version (with some of Ian Fenty s code)
45 jmc 1.42 #define SEAICE_GROWTH_LEGACY
46 jmc 1.41
47     C-- options only available in the merged version (from Ian Fenty s code)
48     #ifndef SEAICE_GROWTH_LEGACY
49     C- to switch on/off open-water freezing contribution to thickness tendency:
50     #define SEAICE_DO_OPEN_WATER_GROWTH
51 gforget 1.44 C- ifdef SEAICE_DO_OPEN_WATER_GROWTH then define SEAICE_DO_OPEN_WATER_MELT
52     C to also allow open-water air-sea heat fluxes melt ice
53     #undef SEAICE_DO_OPEN_WATER_MELT
54 dimitri 1.46 C- to switch on/off ocean heat contribution to seaice cover reduction:
55     #define SEAICE_OCN_MELT_ACT_ON_AREA
56 jmc 1.41 #endif
57    
58 gforget 1.43 C- to use the MCPhee formula in computing ocean/ice fluxes
59     #undef MCPHEE_OCEAN_ICE_HEAT_FLUX
60    
61 jmc 1.41 C-- Use the Old version of seaice_solve4temp (formerly seaice_budget_ice)
62     C otherwise, use Ian Fenty s version
63     #define SEAICE_SOLVE4TEMP_LEGACY
64    
65     C-- By default the freezing point of water is set to the value of
66 mlosch 1.13 C the parameter SEAICE_freeze (=-1.96 by default). To use a
67 jmc 1.41 C simple linear dependence of the freezing point on salinity,
68 mlosch 1.13 C set the following flag (pressure is assumed to have no effect,
69     C which is a good assumption for the top 20 meters). With this
70     C option defined the parameter SEAICE_freeze has no effect.
71     #undef SEAICE_VARIABLE_FREEZING_POINT
72    
73 dimitri 1.19 C-- Allow SEAICEuseFlooding, which converts snow to ice if submerged.
74 mlosch 1.33 #define ALLOW_SEAICE_FLOODING
75 dimitri 1.19
76 dimitri 1.27 C-- By default sea ice is fresh. Set following flag for salty ice.
77     #undef SEAICE_SALINITY
78    
79 dimitri 1.32 C-- Track sea ice age.
80 dimitri 1.39 C By default sea ice age is associated with ice area.
81     C Define SEAICE_AGE_VOL to associate age with volume.
82 dimitri 1.32 #undef SEAICE_AGE
83 dimitri 1.39 #ifdef SEAICE_AGE
84     # undef SEAICE_AGE_VOL
85     #endif
86 dimitri 1.32
87 jmc 1.41 C-- By default the seaice model is discretized on a B-Grid (for
88 mlosch 1.14 C historical reasons). Define the following flag to use a new
89     C (not thoroughly) test version on a C-grid
90 jmc 1.17 #define SEAICE_CGRID
91 mlosch 1.14
92 jmc 1.41 C-- Only for the C-grid version it is possible to
93 mlosch 1.15 #ifdef SEAICE_CGRID
94 mlosch 1.31 C enable EVP code by defining the following flag
95 dimitri 1.38 # define SEAICE_ALLOW_EVP
96     # ifdef SEAICE_ALLOW_EVP
97 mlosch 1.37 C-- When set use SEAICE_zetaMin and SEAICE_evpDampC to limit
98     C-- viscosities from below and above in seaice_evp
99     C-- not necessary, and not recommended
100 dimitri 1.38 # undef SEAICE_ALLOW_CLIPZETA
101     # endif /* SEAICE_ALLOW_EVP */
102 mlosch 1.31 C allow the truncated ellipse rheology (runtime flag SEAICEuseTEM)
103 dimitri 1.38 # undef SEAICE_ALLOW_TEM
104 mlosch 1.33 #else /* not SEAICE_CGRID, but old B-grid */
105     C-- By default for B-grid dynamics solver wind stress under sea-ice is
106     C set to the same value as it would be if there was no sea-ice.
107     C Define following CPP flag for B-grid ice-ocean stress coupling.
108 dimitri 1.38 # define SEAICE_BICE_STRESS
109 mlosch 1.33
110     C-- By default for B-grid dynamics solver surface tilt is obtained
111     C indirectly via geostrophic velocities. Define following CPP
112     C in order to use ETAN instead.
113 dimitri 1.38 # define EXPLICIT_SSH_SLOPE
114 jmc 1.16 #endif /* SEAICE_CGRID */
115 mlosch 1.15
116 dimitri 1.24 C-- When set use MAX_HEFF to cap sea ice thickness in seaice_growth
117     #undef SEAICE_CAP_HEFF
118 jmc 1.41 C-- When set limit the Ice-Loading to mass of 1/5 of Surface ocean grid-box
119     #undef SEAICE_CAP_ICELOAD
120 mlosch 1.36 C-- When set use SEAICE_clipVelocties = .true., to clip U/VICE at 40cm/s,
121     C-- not recommended
122     #undef SEAICE_ALLOW_CLIPVELS
123 dimitri 1.24
124 gforget 1.40 C enable free drift code
125     #undef SEAICE_ALLOW_FREEDRIFT
126    
127 edhill 1.7 #endif /* SEAICE_OPTIONS_H */
128 edhill 1.12
129     CEH3 ;;; Local Variables: ***
130     CEH3 ;;; mode:fortran ***
131     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22