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

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

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


Revision 1.12 - (show annotations) (download)
Thu Jul 19 19:14:40 2007 UTC (18 years ago) by dimitri
Branch: MAIN
Changes since 1.11: +8 -1 lines
File MIME type: text/plain
cube66 configuration but using the new SEAICE_CAP_HEFF
option rather than code change to seaice_growth.F

1 C $Header: /u/gcmpack/MITgcm_contrib/high_res_cube/code-mods/SEAICE_OPTIONS.h,v 1.11 2007/06/22 20:16:51 dimitri Exp $
2
3 C /==========================================================\
4 C | SEAICE_OPTIONS.h |
5 C | o CPP options file for sea ice package. |
6 C |==========================================================|
7 C | Use this file for selecting options within the sea ice |
8 C | package. |
9 C \==========================================================/
10
11 #ifndef SEAICE_OPTIONS_H
12 #define SEAICE_OPTIONS_H
13 #include "PACKAGES_CONFIG.h"
14 #include "CPP_OPTIONS.h"
15
16 C-- Write "text-plots" of certain fields in STDOUT for debugging.
17 #undef SEAICE_DEBUG
18
19 C-- Allow sea-ice dynamic code.
20 C This option is provided to allow use of TAMC
21 C on the thermodynamics component of the code only.
22 C Sea-ice dynamics can also be turned off at runtime
23 C using variable SEAICEuseDYNAMICS.
24 #define SEAICE_ALLOW_DYNAMICS
25
26 C-- By default, pkg/seaice defines forcing variable internally, in
27 C SEAICE_FFIELDS.h, and reads them in from files. When CPP option
28 C SEAICE_EXTERNAL_FORCING is defined, the above forcing variables
29 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
31 C include file EXF_FIELDS.h (=> cannot be defined without pkg/EXF )
32 #define SEAICE_EXTERNAL_FORCING
33 #ifndef ALLOW_EXF
34 # undef SEAICE_EXTERNAL_FORCING
35 #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
40 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
42 C in a separate external package, for example, pkg/exf, and then
43 C modified for sea-ice effects by pkg/seaice.
44 # 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.
61 C When this flag is set, an 8-category calculation of ice
62 C thermodynamics is carried out in groatb.F
63 C Note the pickup_seaice.* generated by this option differ
64 C from those generated with the default 2-category model.
65 C Therefore it is not possible to switch between the two
66 C in the middle of an integration.
67 #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
106 #endif /* SEAICE_OPTIONS_H */
107
108 CEH3 ;;; Local Variables: ***
109 CEH3 ;;; mode:fortran ***
110 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22