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

Annotation 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 - (hide 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 dimitri 1.13 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 dimitri 1.1
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 dimitri 1.3 #define SEAICE_ALLOW_DYNAMICS
25 dimitri 1.1
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 dimitri 1.11 C include file EXF_FIELDS.h (=> cannot be defined without pkg/EXF )
32 dimitri 1.1 #define SEAICE_EXTERNAL_FORCING
33 dimitri 1.11 #ifndef ALLOW_EXF
34     # undef SEAICE_EXTERNAL_FORCING
35     #endif
36 dimitri 1.1
37 dimitri 1.11 #ifdef SEAICE_EXTERNAL_FORCING
38     # include "EXF_OPTIONS.h"
39 dimitri 1.1 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 dimitri 1.11 # 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 dimitri 1.12 #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 dimitri 1.1
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 dimitri 1.4 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 dimitri 1.11 #define SEAICE_MULTICATEGORY
68 dimitri 1.1
69 dimitri 1.13 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 dimitri 1.6 #undef SEAICE_TEST_ICE_STRESS_1
73 dimitri 1.4
74 dimitri 1.13 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 dimitri 1.7 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 dimitri 1.11 #define SEAICE_VARIABLE_FREEZING_POINT
86 dimitri 1.7
87 dimitri 1.8 C-- Allow SEAICEuseFlooding, which converts snow to ice if submerged.
88     #define ALLOW_SEAICE_FLOODING
89    
90 dimitri 1.13 C-- By default sea ice is fresh. Set following flag for salty ice.
91     #define SEAICE_SALINITY
92    
93 dimitri 1.7 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 dimitri 1.12 C-- When set use MAX_HEFF to cap sea ice thickness in seaice_growth
105     #define SEAICE_CAP_HEFF
106    
107 dimitri 1.1 #endif /* SEAICE_OPTIONS_H */
108 dimitri 1.7
109     CEH3 ;;; Local Variables: ***
110     CEH3 ;;; mode:fortran ***
111     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22