1 |
C $Header: /u/gcmpack/MITgcm/pkg/seaice/SEAICE_PARAMS.h,v 1.34 2007/04/22 19:56:22 mlosch Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
C /==========================================================\ |
5 |
C | SEAICE_PARAMS.h | |
6 |
C | o Basic parameter header for sea ice model. | |
7 |
C \==========================================================/ |
8 |
|
9 |
C-- COMMON /SEAICE_PARM_L/ Logical parameters of sea ice model. |
10 |
C |
11 |
C SEAICEwriteState - If true, write sea ice state to file; |
12 |
C default is false. |
13 |
C SEAICEuseDYNAMICS - If false, do not use dynamics; |
14 |
C default is to use dynamics. |
15 |
C SEAICEuseEVP - If false, use Zhangs LSR solver for VP equations |
16 |
C if true use elastic viscous plastic solver |
17 |
C SEAICEuseEVPpickup - Set to false in order to start EVP solver with |
18 |
C non-EVP pickup files. Default is true. |
19 |
C Applied only if SEAICEuseEVP=.TRUE. |
20 |
C SEAICEuseFluxForm :: use flux form for advection and diffusion |
21 |
C of seaice |
22 |
C SEAICEuseFlooding :: turn on scheme to convert submerged snow into ice |
23 |
C SEAICEadvSnow :: turn on advection of snow (does not work with |
24 |
C non-default Leap-frog scheme for advection) |
25 |
C useHB87stressCoupling :: use an intergral over ice and ocean surface |
26 |
C layer to define surface stresses on ocean |
27 |
C following Hibler and Bryan (1987, JPO) |
28 |
C SEAICE_no_slip :: apply no slip boundary conditions to seaice velocity |
29 |
C SEAICE_clipVelocities :: clip velocities to +/- 40cm/s |
30 |
C SEAICE_maskRHS :: mask the RHS of the solver where there is no ice |
31 |
C SEAICE_tave_mdsio :: write TimeAverage output using MDSIO |
32 |
C SEAICE_dump_mdsio :: write snap-shot output using MDSIO |
33 |
C SEAICE_mon_stdio :: write monitor to std-outp |
34 |
C SEAICE_tave_mnc :: write TimeAverage output using MNC |
35 |
C SEAICE_dump_mnc :: write snap-shot output using MNC |
36 |
C SEAICE_mon_mnc :: write monitor to netcdf file |
37 |
LOGICAL |
38 |
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
39 |
& SEAICEuseEVPpickup, SEAICEuseFlooding, SEAICEadvSnow, |
40 |
& SEAICEuseFluxForm, useHB87stressCoupling, SEAICE_no_slip, |
41 |
& SEAICE_clipVelocities, SEAICE_maskRHS, |
42 |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
43 |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
44 |
COMMON /SEAICE_PARM_L/ |
45 |
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
46 |
& SEAICEuseEVPpickup, SEAICEuseFlooding, SEAICEadvSnow, |
47 |
& SEAICEuseFluxForm, useHB87stressCoupling, SEAICE_no_slip, |
48 |
& SEAICE_clipVelocities, SEAICE_maskRHS, |
49 |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
50 |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
51 |
|
52 |
C-- COMMON /SEAICE_PARM_I/ Integer valued parameters of sea ice model. |
53 |
C LAD - time stepping used for sea-ice advection: |
54 |
C 1 = LEAPFROG, 2 = BACKWARD EULER. |
55 |
C IMAX_TICE - number of iterations for ice heat budget 10 |
56 |
C SEAICEadvScheme - sets the advection scheme for thickness and area |
57 |
C SEAICEadvSchArea - sets the advection scheme for area |
58 |
C SEAICEadvSchHeff - sets the advection scheme for effective thickness |
59 |
C (=volume) and snow thickness if available |
60 |
C SEAICEadvSchEnth - sets the advection scheme for sea-ice enthalphy |
61 |
C SEAICEadvSchSnow - sets the advection scheme for snow on sea-ice |
62 |
C |
63 |
INTEGER LAD, IMAX_TICE |
64 |
INTEGER SEAICEadvScheme |
65 |
INTEGER SEAICEadvSchArea |
66 |
INTEGER SEAICEadvSchHeff |
67 |
INTEGER SEAICEadvSchEnth |
68 |
INTEGER SEAICEadvSchSnow |
69 |
INTEGER SEAICE_debugPointX |
70 |
INTEGER SEAICE_debugPointY |
71 |
|
72 |
COMMON /SEAICE_PARM_I/ |
73 |
& LAD, IMAX_TICE, |
74 |
& SEAICEadvScheme, |
75 |
& SEAICEadvSchArea, |
76 |
& SEAICEadvSchHeff, |
77 |
& SEAICEadvSchEnth, |
78 |
& SEAICEadvSchSnow, |
79 |
& SEAICE_debugPointX, |
80 |
& SEAICE_debugPointY |
81 |
|
82 |
C-- COMMON /SEAICE_PARM_C/ Character valued sea ice model parameters. |
83 |
C uwindFile - File containing uwind |
84 |
C vwindFile - File containing vwind |
85 |
C atempFile - File containing atemp |
86 |
C aqhFile - File containing aqh |
87 |
C lwdownFile - File containing lwdown |
88 |
C swdownFile - File containing swdown |
89 |
C precipFile - File containing precip |
90 |
C evapFile - File containing evap |
91 |
C runoffFile - File containing runoffF |
92 |
C HeffFile - File containing initial sea-ice thickness |
93 |
C !!! NOTE !!! Initial sea-ice thickness can also be set using |
94 |
C SEAICE_initialHEFF below. But a constant initial condition |
95 |
C can mean large artificial fluxes of heat and freshwater in |
96 |
C the surface layer during the first model time step. |
97 |
C |
98 |
CHARACTER*(MAX_LEN_FNAM) uwindFile |
99 |
CHARACTER*(MAX_LEN_FNAM) vwindFile |
100 |
CHARACTER*(MAX_LEN_FNAM) atempFile |
101 |
CHARACTER*(MAX_LEN_FNAM) aqhFile |
102 |
CHARACTER*(MAX_LEN_FNAM) lwdownFile |
103 |
CHARACTER*(MAX_LEN_FNAM) swdownFile |
104 |
CHARACTER*(MAX_LEN_FNAM) precipFile |
105 |
CHARACTER*(MAX_LEN_FNAM) evapFile |
106 |
CHARACTER*(MAX_LEN_FNAM) runoffFile |
107 |
CHARACTER*(MAX_LEN_FNAM) HeffFile |
108 |
COMMON /SEAICE_PARM_C/ uwindFile, vwindFile, atempFile, aqhFile, |
109 |
& lwdownFile, swdownFile, precipFile, evapFile, runoffFile, |
110 |
& HeffFile |
111 |
|
112 |
C-- COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model. |
113 |
C SEAICE_deltaTtherm - Seaice timestep for thermodynamic equations (s) |
114 |
C SEAICE_deltaTdyn - Seaice timestep for dynamic solver (s) |
115 |
C SEAICE_deltaTevp - Seaice timestep for EVP solver (s) |
116 |
C SEAICE_elasticParm - parameter that sets relaxation timescale |
117 |
C T = SEAICE_elasticParm * SEAICE_deltaTdyn |
118 |
C SEAICE_monFreq - SEAICE monitor frequency. (s) |
119 |
C SEAICE_dumpFreq - SEAICE dump frequency. (s) |
120 |
C SEAICE_taveFreq - SEAICE time-averaging frequency. (s) |
121 |
C SEAICE_initialHEFF - initial sea-ice thickness (m) |
122 |
C SEAICE_rhoAir - density of air (kg/m^3) |
123 |
C SEAICE_rhoIce - density of sea ice (kg/m^3) |
124 |
C SEAICE_drag - air-ice drag coefficient |
125 |
C OCEAN_drag - air-ocean drag coefficient |
126 |
C SEAICE_waterDrag - water-ice drag coefficient * water density |
127 |
C SEAICE_dryIceAlb - winter albedo |
128 |
C SEAICE_wetIceAlb - summer albedo |
129 |
C SEAICE_drySnowAlb - dry snow albedo |
130 |
C SEAICE_wetSnowAlb - wet snow albedo |
131 |
C SEAICE_waterAlbedo - water albedo |
132 |
C SEAICE_strength - sea-ice strength Pstar |
133 |
C SEAICE_eccen - sea-ice eccentricity of the elliptical yield curve |
134 |
C SEAICE_sensHeat - buld sensible heat transfer coefficient |
135 |
C = (sensible heat transfer coefficient) |
136 |
C x (heat capacity of air) |
137 |
C x (density of air) |
138 |
C SEAICE_latentWater - bulk latent heat transfer coefficient for water |
139 |
C = (latent heat transfer coefficient for water) |
140 |
C x (specific latent heat water to water vapor) |
141 |
C x (density of air) |
142 |
C SEAICE_latentIce - bulk latent heat transfer coefficient for ice |
143 |
C = (latent heat transfer coefficient for ice) |
144 |
C x (latent heat ice to water vapor) |
145 |
C x (density of air) |
146 |
C SEAICE_iceConduct - sea-ice conductivity |
147 |
C SEAICE_snowConduct - snow conductivity |
148 |
C SEAICE_emissivity - Stefan-Boltzman constant * emissivity |
149 |
C SEAICE_snowThick - cutoff snow thickness |
150 |
C SEAICE_shortwave - penetration shortwave radiation factor |
151 |
C SEAICE_freeze - FREEZING TEMP. OF SEA WATER |
152 |
C SEAICEstressFactor - factor by which ice affects wind stress (default=1) |
153 |
C LSR_ERROR - sets accuracy of LSR solver |
154 |
C DIFF1 - parameter used in advect.F |
155 |
C A22 - parameter used in growth.F |
156 |
C HO - demarcation thickness between thin and |
157 |
C thick ice: HO is a key ice-growth parameter |
158 |
C WindForcingStart - Time of first wind forcing record (s) |
159 |
C WindForcingEnd - Time of last wind forcing record (s) |
160 |
C WindForcingPeriod - Period between wind forcing records (s) |
161 |
C FluxForcingStart - Time of first flux forcing record (s) |
162 |
C FluxForcingEnd - Time of last flux forcing record (s) |
163 |
C FluxForcingPeriod - Period between flux forcing records (s) |
164 |
C SSTForcingStart - Time of first SST forcing record (s) |
165 |
C SSTForcingEnd - Time of last SST forcing record (s) |
166 |
C SSTForcingPeriod - Period between SST forcing records (s) |
167 |
C SSSForcingStart - Time of first SSS forcing record (s) |
168 |
C SSSForcingEnd - Time of last SSS forcing record (s) |
169 |
C SSSForcingPeriod - Period between SSS forcing records (s) |
170 |
C StartingYear - Starting year of integration |
171 |
C EndingYear - Ending year of integration |
172 |
C SEAICE_airTurnAngle - turning angles of air-ice interfacial stress |
173 |
C SEAICE_waterTurnAngle - and ice-water interfacial stress (in degrees) |
174 |
C |
175 |
_RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp |
176 |
_RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq |
177 |
_RL SEAICE_initialHEFF |
178 |
_RL SEAICE_gamma_t |
179 |
_RL SEAICE_rhoAir, SEAICE_rhoIce |
180 |
_RL SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb |
181 |
_RL SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb |
182 |
_RL SEAICE_waterAlbedo, SEAICE_strength, SEAICE_eccen |
183 |
_RL SEAICE_sensHeat, SEAICE_latentWater, SEAICE_latentIce |
184 |
_RL SEAICE_iceConduct, SEAICE_snowConduct, SEAICE_emissivity |
185 |
_RL SEAICE_snowThick, SEAICE_shortwave, SEAICE_freeze |
186 |
_RL SEAICEstressFactor |
187 |
_RL OCEAN_drag, LSR_ERROR, DIFF1, A22, HO |
188 |
_RL WindForcingStart, WindForcingEnd, WindForcingPeriod |
189 |
_RL FluxForcingStart, FluxForcingEnd, FluxForcingPeriod |
190 |
_RL SSTForcingStart, SSTForcingEnd, SSTForcingPeriod |
191 |
_RL SSSForcingStart, SSSForcingEnd, SSSForcingPeriod |
192 |
_RL StartingYear, EndingYear |
193 |
_RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
194 |
_RL SEAICE_elasticParm |
195 |
COMMON /SEAICE_PARM_RL/ |
196 |
& SEAICE_deltaTtherm, SEAICE_deltaTdyn, |
197 |
& SEAICE_deltaTevp, SEAICE_elasticParm, |
198 |
& SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, |
199 |
& SEAICE_initialHEFF, |
200 |
& SEAICE_rhoAir, SEAICE_rhoIce, |
201 |
& SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb, |
202 |
& SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb, |
203 |
& SEAICE_waterAlbedo, SEAICE_strength, SEAICE_eccen, |
204 |
& SEAICE_sensHeat, SEAICE_latentWater, SEAICE_latentIce, |
205 |
& SEAICE_iceConduct, SEAICE_snowConduct, SEAICE_emissivity, |
206 |
& SEAICE_snowThick, SEAICE_shortwave, SEAICE_freeze, |
207 |
& SEAICEstressFactor, |
208 |
& OCEAN_drag, LSR_ERROR, DIFF1, A22, HO, |
209 |
& WindForcingStart, WindForcingEnd, WindForcingPeriod, |
210 |
& FluxForcingStart, FluxForcingEnd, FluxForcingPeriod, |
211 |
& SSTForcingStart, SSTForcingEnd, SSTForcingPeriod, |
212 |
& SSSForcingStart, SSSForcingEnd, SSSForcingPeriod, |
213 |
& StartingYear, EndingYear, |
214 |
& SEAICE_airTurnAngle, SEAICE_waterTurnAngle, |
215 |
& SEAICE_gamma_t |
216 |
|
217 |
C-- COMMON /SEAICE_BOUND_RL/ Various bounding values |
218 |
C MAX_HEFF - maximum ice thickness (m) |
219 |
C MIN_ATEMP - minimum air temperature (deg C) |
220 |
C MIN_LWDOWN - minimum downward longwave (W/m^2) |
221 |
C MAX_TICE - maximum ice temperature (deg C) |
222 |
C MIN_TICE - minimum ice temperature (deg C) |
223 |
C SEAICE_EPS, SEAICE_EPS_SQ - used to reduce derivative singularities |
224 |
C |
225 |
_RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE |
226 |
_RL SEAICE_EPS, SEAICE_EPS_SQ |
227 |
COMMON /SEAICE_BOUND_RL/ |
228 |
& MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE, |
229 |
& SEAICE_EPS, SEAICE_EPS_SQ |
230 |
|
231 |
C-- Constants used by sea-ice model |
232 |
_RL ZERO , ONE , TWO |
233 |
parameter ( ZERO = 0.0 _d 0, ONE = 1.0 _d 0, TWO = 2.0 _d 0 ) |
234 |
_RL QUART , HALF |
235 |
parameter ( QUART = 0.25 _d 0, HALF = 0.5 _d 0 ) |
236 |
|
237 |
C-- identifiers for advected properties |
238 |
INTEGER GAD_HEFF, GAD_AREA, GAD_QICE1, GAD_QICE2, GAD_SNOW |
239 |
PARAMETER ( GAD_HEFF = 101, |
240 |
& GAD_AREA = 102, |
241 |
& GAD_QICE1 = 103, |
242 |
& GAD_QICE2 = 104, |
243 |
& GAD_SNOW = 105 ) |
244 |
|
245 |
|
246 |
CEH3 ;;; Local Variables: *** |
247 |
CEH3 ;;; mode:fortran *** |
248 |
CEH3 ;;; End: *** |