/[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.22 - (show annotations) (download)
Mon May 14 14:39:21 2007 UTC (17 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint59b
Changes since 1.21: +17 -9 lines
File MIME type: text/plain
- case undef SEAICE_EXTERNAL_FORCING & defined SEAICE_EXTERNAL_FLUXES is not
  working with current implemetation: try to make it clear in SEAICE_OPTIONS.h
- limit the number of option combinations: stop if both SEAICE_EXTERNAL_FLUXES
   & ALLOW_ATM_WIND are #undef.
- add corresponding stops in seaice_check.F

1 C $Header: /u/gcmpack/MITgcm/pkg/seaice/SEAICE_OPTIONS.h,v 1.21 2007/04/30 00:15:09 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
53 #endif /* SEAICE_EXTERNAL_FORCING */
54
55
56 C-- By default, the sea-ice package uses 2-category thermodynamics.
57 C When this flag is set, an 8-category calculation of ice
58 C thermodynamics is carried out in groatb.F
59 C Note the pickup_seaice.* generated by this option differ
60 C from those generated with the default 2-category model.
61 C Therefore it is not possible to switch between the two
62 C in the middle of an integration.
63 #undef SEAICE_MULTICATEGORY
64
65 C-- By default cdm wind stress under sea-ice is set to the
66 C same value as it would be if there was no sea-ice.
67 C This is a placeholder until a more physically-sensible
68 C stable solution is developed. Apparently ocean stress
69 C that is based on sea-ice velocity can cause trouble in
70 C Arctic Ocean configurations. This temporary solution
71 C also corresponds to that adopted by CCSM-2. For the
72 C adventurous user who requires ice-modified stress,
73 C following options are available.
74 #undef SEAICE_ORIGINAL_BAD_ICE_STRESS
75 #undef SEAICE_TEST_ICE_STRESS_1
76
77 C-- By default the freezing point of water is set to the value of
78 C the parameter SEAICE_freeze (=-1.96 by default). To use a
79 C simple linear dependence of the freezing point on salinity,
80 C set the following flag (pressure is assumed to have no effect,
81 C which is a good assumption for the top 20 meters). With this
82 C option defined the parameter SEAICE_freeze has no effect.
83 #undef SEAICE_VARIABLE_FREEZING_POINT
84
85 C-- Allow SEAICEuseFlooding, which converts snow to ice if submerged.
86 #undef ALLOW_SEAICE_FLOODING
87
88 C-- By default the seaice model is discretized on a B-Grid (for
89 C historical reasons). Define the following flag to use a new
90 C (not thoroughly) test version on a C-grid
91 #define SEAICE_CGRID
92
93 C-- Only for the C-grid version it is possible to enable EVP code by
94 C defining the following flag
95 #ifdef SEAICE_CGRID
96 #define SEAICE_ALLOW_EVP
97 #endif /* SEAICE_CGRID */
98
99 #endif /* SEAICE_OPTIONS_H */
100
101 CEH3 ;;; Local Variables: ***
102 CEH3 ;;; mode:fortran ***
103 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22