1 |
C $Header: /u/gcmpack/MITgcm/pkg/thsice/THSICE_PARAMS.h,v 1.4 2004/12/17 04:29:07 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#ifdef ALLOW_THSICE |
5 |
C *==========================================================* |
6 |
C | THSICE_PARAMS.h |
7 |
C | o Header file for Therm_SeaIce package parameters: |
8 |
C | - basic parameter ( I/O frequency, etc ...) |
9 |
C | - physical constants (used in therm_SeaIce pkg) |
10 |
C *==========================================================* |
11 |
|
12 |
C---------------------------------------------------------------------------- |
13 |
C.. Common blocks for almost everything that the sea ice model passes around. |
14 |
C---------------------------------------------------------------------------- |
15 |
|
16 |
C-- COMMON / THSICE_PHYSPAR_R / physical (real) parameter |
17 |
C.. densities |
18 |
C rhos :: density of snow (kg/m^3) |
19 |
C rhoi :: density of ice (kg/m^3) |
20 |
C rhosw :: density of seawater (kg/m^3) |
21 |
C rhofw :: density of fresh water (kg/m^3) |
22 |
C rhoiw :: ocean-ice density difference (kg/m^3) |
23 |
C.. specific heats |
24 |
C cpice :: specific heat of fresh ice (J/kg/K) |
25 |
C cpwater :: specific heat of water (J/kg/K) |
26 |
C .. thermal conductivity. QQ check units |
27 |
C kice :: thermal conductivity of pure ice (W/m/K) |
28 |
C ksnow :: thermal conductivity of snow (W/m/K) |
29 |
C .. heat transfer coefficient |
30 |
C transcoef :: transfer coef between ice and water (unitless) |
31 |
C .. latent heat |
32 |
C Lfresh :: latent heat of melting of pure ice (J/kg) |
33 |
C .. Enthalpy |
34 |
C qsnow :: snow enthalpy (J/kg) |
35 |
C .. Albedo |
36 |
C albColdSnow :: albedo of cold (=dry) new snow (Tsfc < -10) |
37 |
C albWarmSnow :: albedo of warm (=wet) new snow (Tsfc = 0) |
38 |
C albOldSnow :: albedo of old snow (snowAge > 35.d) |
39 |
C albIceMax :: max albedo of bare ice (thick ice) |
40 |
C albIceMin :: minimum ice albedo (very thin ice) |
41 |
C hAlbIce :: ice thickness for albedo transition: thin/thick ice albedo |
42 |
C hAlbSnow :: snow thickness for albedo transition: snow/ice albedo |
43 |
C hNewSnowAge :: new snow thickness that refresh the snow-age (by 1/e) |
44 |
C .. Solar parameters |
45 |
C i0 :: fraction of penetrating solar rad |
46 |
C ksolar :: bulk solar abs coeff of sea ice (m-1) |
47 |
C .. Salinity |
48 |
C saltice :: salinity of ice (o/oo) |
49 |
C S_winton :: winton salinity of ice (o/oo) |
50 |
C mu_Tf :: Tf:brine salinity ratio (C/ppt) |
51 |
C .. melting |
52 |
C Tf0kel :: Freezing temp of fresh ice in Kelvin = 273.15 |
53 |
C Tmlt1 :: melting temp; depends on S (C) |
54 |
C .. Min/Max |
55 |
C himin :: minimum thickness for ice (m) |
56 |
C Terrmax :: temperature convergence precision (C) |
57 |
C hiMax :: Maximum thickness for ice (m) |
58 |
C hsMax :: Maximum thickness for snow (m) |
59 |
C .. for fractional ice |
60 |
C iceMaskmax :: maximum Ice fraction (=1 for no fractional ice) |
61 |
C iceMaskmin :: mimimum Ice fraction (=1 for no fractional ice) |
62 |
C himin0 :: minimum ice height (=himin for no fractional ice) |
63 |
C frac_energy:: fraction of energy going to melting (=0 for no fract. ice) |
64 |
C hihig :: ice height above which freezing only occurs over open ocean |
65 |
C (=large for no fractional ice) |
66 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
67 |
|
68 |
COMMON / THSICE_PHYSPAR_R / |
69 |
& rhos, rhoi, rhosw, rhofw, rhoiw, |
70 |
& cpice, cpwater, |
71 |
& kice, ksnow, |
72 |
& transcoef, Lfresh, qsnow, |
73 |
& albColdSnow, albWarmSnow, albOldSnow, hNewSnowAge, |
74 |
& albIceMax, albIceMin, hAlbIce, hAlbSnow, |
75 |
& i0, ksolar, |
76 |
& saltice, S_winton, mu_Tf, |
77 |
& Tf0kel, Tmlt1, |
78 |
& himin, Terrmax, hiMax, hsMax, |
79 |
& iceMaskmax, iceMaskmin, himin0, |
80 |
& frac_energy, hihig |
81 |
|
82 |
_RL rhos |
83 |
_RL rhoi |
84 |
_RL rhosw |
85 |
_RL rhofw |
86 |
_RL rhoiw |
87 |
_RL cpice |
88 |
_RL cpwater |
89 |
_RL kice |
90 |
_RL ksnow |
91 |
_RL transcoef |
92 |
_RL Lfresh |
93 |
_RL qsnow |
94 |
_RL albColdSnow |
95 |
_RL albWarmSnow |
96 |
_RL albOldSnow |
97 |
_RL hNewSnowAge |
98 |
_RL albIceMax |
99 |
_RL albIceMin |
100 |
_RL hAlbIce |
101 |
_RL hAlbSnow |
102 |
_RL i0 |
103 |
_RL ksolar |
104 |
_RL saltice |
105 |
_RL S_winton |
106 |
_RL mu_Tf |
107 |
_RL Tf0kel |
108 |
_RL Tmlt1 |
109 |
_RL himin |
110 |
_RL Terrmax |
111 |
_RL hiMax |
112 |
_RL hsMax |
113 |
_RL iceMaskmax |
114 |
_RL iceMaskmin |
115 |
_RL himin0 |
116 |
_RL frac_energy |
117 |
_RL hihig |
118 |
|
119 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
120 |
|
121 |
C-- COMMON / THSICE_PAR_L / ice model (logical) parameters |
122 |
C stepFwd_oceMxL :: step forward mixed-layer T & S (slab-ocean) |
123 |
C thSIce_tave_mdsio :: write TimeAverage output using MDSIO |
124 |
C thSIce_snapshot_mdsio :: write snap-shot output using MDSIO |
125 |
C thSIce_mon_stdio :: write monitor to std-outp |
126 |
C thSIce_tave_mnc :: write TimeAverage output using MNC |
127 |
C thSIce_snapshot_mnc :: write snap-shot output using MNC |
128 |
C thSIce_mon_mnc :: write monitor to netcdf file |
129 |
C thSIce_pickup_read_mnc :: pickup read w/ MNC |
130 |
C thSIce_pickup_write_mnc :: pickup write w/ MNC |
131 |
C thSIce_pickup_write_mdsio :: pickup write w/ MDSIO |
132 |
COMMON / THSICE_PAR_L / |
133 |
& stepFwd_oceMxL, |
134 |
& thSIce_tave_mdsio, thSIce_snapshot_mdsio, thSIce_mon_stdio, |
135 |
& thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc, |
136 |
& thSIce_pickup_read_mnc, |
137 |
& thSIce_pickup_write_mdsio, |
138 |
& thSIce_pickup_write_mnc |
139 |
|
140 |
LOGICAL stepFwd_oceMxL |
141 |
LOGICAL thSIce_tave_mdsio, thSIce_snapshot_mdsio, thSIce_mon_stdio |
142 |
LOGICAL thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc |
143 |
LOGICAL thSIce_pickup_read_mnc |
144 |
LOGICAL thSIce_pickup_write_mdsio |
145 |
LOGICAL thSIce_pickup_write_mnc |
146 |
|
147 |
C-- COMMON / THSICE_PAR_I / ice model (integer) parameters |
148 |
c startIceModel :: =1 : start ice model at nIter0 ; =0 : use pickup files |
149 |
c :: -1 : start from a small pickup (without Mix.Layer) |
150 |
c nitMaxTsf :: maximum Nb of iter to find Surface Temp (Trsf) |
151 |
COMMON / THSICE_PAR_I / |
152 |
& startIceModel, nitMaxTsf |
153 |
|
154 |
INTEGER startIceModel |
155 |
INTEGER nitMaxTsf |
156 |
|
157 |
C-- COMMON / THSICE_PAR_R / ice model (real) parameters |
158 |
C thSIce_deltaT :: ice model time-step |
159 |
C ocean_deltaT :: ocean mixed-layer time-step |
160 |
C tauRelax_MxL :: Relaxation time scale for MixLayer T & S [s] |
161 |
C hMxL_default :: default value for ocean MixLayer thickness [m] |
162 |
C sMxL_default :: default value for salinity in MixLayer [psu] |
163 |
C vMxL_default :: default value for ocean current velocity in MxL [m/s] |
164 |
C stressReduction :: reduction factor for wind-stress under sea-ice [0-1] |
165 |
C thSIce_taveFreq :: Frequency^-1 for time-Aver. output [s] |
166 |
C thSIce_diagFreq :: Frequency^-1 for diagnostic output [s] |
167 |
C thSIce_monFreq :: Frequency^-1 for monitor output [s] |
168 |
COMMON / THSICE_PAR_R / |
169 |
& thSIce_deltaT, ocean_deltaT, tauRelax_MxL, |
170 |
& hMxL_default, sMxL_default, vMxL_default, |
171 |
& stressReduction, |
172 |
& thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq |
173 |
|
174 |
_RL thSIce_deltaT, ocean_deltaT, tauRelax_MxL |
175 |
_RL hMxL_default, sMxL_default, vMxL_default |
176 |
_RL stressReduction |
177 |
_RL thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq |
178 |
|
179 |
C-- COMMON / THSICE_PAR_C / ice model (character) parameters |
180 |
C thSIceFract_InitFile :: File name for initial ice fraction |
181 |
C thSIceThick_InitFile :: File name for initial ice thickness |
182 |
C thSIceSnowH_InitFile :: File name for initial snow thickness |
183 |
C thSIceSnowA_InitFile :: File name for initial snow Age |
184 |
C thSIceEnthp_InitFile :: File name for initial ice enthalpy |
185 |
C thSIceTsurf_InitFile :: File name for initial surf. temp |
186 |
COMMON / THSICE_PAR_C / |
187 |
& thSIceFract_InitFile, |
188 |
& thSIceThick_InitFile, |
189 |
& thSIceSnowH_InitFile, |
190 |
& thSIceSnowA_InitFile, |
191 |
& thSIceEnthp_InitFile, |
192 |
& thSIceTsurf_InitFile |
193 |
CHARACTER*(MAX_LEN_FNAM) thSIceFract_InitFile |
194 |
CHARACTER*(MAX_LEN_FNAM) thSIceThick_InitFile |
195 |
CHARACTER*(MAX_LEN_FNAM) thSIceSnowH_InitFile |
196 |
CHARACTER*(MAX_LEN_FNAM) thSIceSnowA_InitFile |
197 |
CHARACTER*(MAX_LEN_FNAM) thSIceEnthp_InitFile |
198 |
CHARACTER*(MAX_LEN_FNAM) thSIceTsurf_InitFile |
199 |
|
200 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
201 |
|
202 |
#endif /* ALLOW_THSICE */ |
203 |
|
204 |
CEH3 ;;; Local Variables: *** |
205 |
CEH3 ;;; mode:fortran *** |
206 |
CEH3 ;;; End: *** |