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

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

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


Revision 1.23 - (show annotations) (download)
Fri May 18 02:46:42 2007 UTC (17 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint59d, checkpoint59c
Changes since 1.22: +2 -1 lines
File MIME type: text/plain
remove ALLOW_SEAICE from exf pkg files and add #define ALLOW_RUNOFF
in SEAICE_OPTIONS.h

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

  ViewVC Help
Powered by ViewVC 1.1.22