/[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.13 - (show annotations) (download)
Mon Oct 15 18:22:58 2007 UTC (17 years, 9 months ago) by dimitri
Branch: MAIN
Changes since 1.12: +12 -11 lines
File MIME type: text/plain
preparing for cube76: enabling sea_ice salinity

1 C $Header: /u/gcmpack/MITgcm_contrib/high_res_cube/code-mods/SEAICE_OPTIONS.h,v 1.12 2007/07/19 19:14:40 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 for B-grid dynamics solver wind stress under sea-ice is
70 C set to the same value as it would be if there was no sea-ice.
71 C Define following CPP flag for B-grid ice-ocean stress coupling.
72 #undef SEAICE_TEST_ICE_STRESS_1
73
74 C-- By default for B-grid dynamics solver surface tilt is obtained
75 C indirectly via geostrophic velocities. Define following CPP
76 C in order to ues ETAN instead.
77 #undef EXPLICIT_SSH_SLOPE
78
79 C-- By default the freezing point of water is set to the value of
80 C the parameter SEAICE_freeze (=-1.96 by default). To use a
81 C simple linear dependence of the freezing point on salinity,
82 C set the following flag (pressure is assumed to have no effect,
83 C which is a good assumption for the top 20 meters). With this
84 C option defined the parameter SEAICE_freeze has no effect.
85 #define SEAICE_VARIABLE_FREEZING_POINT
86
87 C-- Allow SEAICEuseFlooding, which converts snow to ice if submerged.
88 #define ALLOW_SEAICE_FLOODING
89
90 C-- By default sea ice is fresh. Set following flag for salty ice.
91 #define SEAICE_SALINITY
92
93 C-- By default the seaice model is discretized on a B-Grid (for
94 C historical reasons). Define the following flag to use a new
95 C (not thoroughly) test version on a C-grid
96 #define SEAICE_CGRID
97
98 C-- Only for the C-grid version it is possible to enable EVP code by
99 C defining the following flag
100 #ifdef SEAICE_CGRID
101 #undef SEAICE_ALLOW_EVP
102 #endif /* SEAICE_CGRID */
103
104 C-- When set use MAX_HEFF to cap sea ice thickness in seaice_growth
105 #define SEAICE_CAP_HEFF
106
107 #endif /* SEAICE_OPTIONS_H */
108
109 CEH3 ;;; Local Variables: ***
110 CEH3 ;;; mode:fortran ***
111 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22