1 |
C $Header: /u/gcmpack/MITgcm/pkg/thsice/THSICE_PARAMS.h,v 1.11 2007/04/29 23:48:44 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 floodFac :: flooding factor = (rhosw-rhoi)/rhos [dimensionless] |
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 bMeltCoef :: base-melting heat transfer coefficient |
31 |
C (between ice & water) [no unit] |
32 |
C .. latent heat |
33 |
C Lfresh :: latent heat of melting of pure ice [J/kg] |
34 |
C .. Enthalpy |
35 |
C qsnow :: snow enthalpy [J/kg] |
36 |
C .. Albedo |
37 |
C albColdSnow :: albedo of cold (=dry) new snow (Tsfc < tempSnowAlb) |
38 |
C albWarmSnow :: albedo of warm (=wet) new snow (Tsfc = 0) |
39 |
C tempSnowAlb :: temperature transition from ColdSnow to WarmSnow Alb. [oC] |
40 |
C albOldSnow :: albedo of old snow (snowAge > 35.d) |
41 |
C albIceMax :: max albedo of bare ice (thick ice) |
42 |
C albIceMin :: minimum ice albedo (very thin ice) |
43 |
C hAlbIce :: ice thickness for albedo transition: thin/thick ice albedo |
44 |
C hAlbSnow :: snow thickness for albedo transition: snow/ice albedo |
45 |
C hNewSnowAge :: new snow thickness that refresh the snow-age (by 1/e) |
46 |
C snowAgTime :: snow aging time scale [s] |
47 |
C .. Solar parameters |
48 |
C i0swFrac :: fraction of penetrating solar rad |
49 |
C ksolar :: bulk solar abs coeff of sea ice [m^-1] |
50 |
C dhSnowLin :: half slope of linear distribution of snow thickness within |
51 |
C the grid-cell (from hSnow-dhSnow to hSnow+dhSnow, if full |
52 |
C ice & snow cover) [m] ; (only used for SW radiation). |
53 |
C .. Salinity |
54 |
C saltIce :: salinity of ice [g/kg] |
55 |
C S_winton :: Winton salinity of ice [g/kg] |
56 |
C .. melting |
57 |
C Tf0kel :: Freezing temp of fresh water in Kelvin = 273.15 |
58 |
C mu_Tf :: linear dependance of melting temperature on Salinity [oC/psu] |
59 |
C Tf(sea-water) = -mu_Tf * S |
60 |
C Tmlt1 :: Winton melting temperature: Tmlt1 = -mu_Tf * S_winton |
61 |
C Terrmax :: Temperature convergence criteria [oC] |
62 |
C .. Min/Max |
63 |
C hIceMin :: Minimum ice thickness [m] |
64 |
C hiMax :: Maximum ice thickness [m] |
65 |
C hsMax :: Maximum snow thickness [m] |
66 |
C .. for fractional ice |
67 |
C iceMaskMax :: maximum Ice fraction (=1 for no fractional ice) |
68 |
C iceMaskMin :: mimimum Ice fraction (=1 for no fractional ice) |
69 |
C fracEnFreez :: fraction of energy going to lateral freezing (vs height increase) |
70 |
C fracEnMelt :: fraction of energy going to lateral melting (vs height decrease) |
71 |
C (=0 for no fract. ice) |
72 |
C hThinIce :: ice height above which fracEnMelt/Freez are applied [m] |
73 |
C (=hIceMin for no fractional ice) |
74 |
C hThickIce :: ice height below which fracEnMelt/Freez are applied [m] |
75 |
C (=large for no fractional ice) |
76 |
C hNewIceMax :: new ice maximum thickness [m] |
77 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
78 |
|
79 |
COMMON / THSICE_PHYSPAR_R / |
80 |
& rhos, rhoi, rhosw, rhofw, floodFac, |
81 |
& cpIce, cpWater, |
82 |
& kIce, kSnow, |
83 |
& bMeltCoef, Lfresh, qsnow, |
84 |
& albColdSnow, albWarmSnow, tempSnowAlb, |
85 |
& albOldSnow, hNewSnowAge, snowAgTime, |
86 |
& albIceMax, albIceMin, hAlbIce, hAlbSnow, |
87 |
& i0swFrac, ksolar, dhSnowLin, |
88 |
& saltIce, S_winton, mu_Tf, |
89 |
& Tf0kel, Tmlt1, Terrmax, |
90 |
& hIceMin, hiMax, hsMax, |
91 |
& iceMaskMax, iceMaskMin, |
92 |
& fracEnMelt, fracEnFreez, |
93 |
& hThinIce, hThickIce, hNewIceMax |
94 |
|
95 |
_RL rhos |
96 |
_RL rhoi |
97 |
_RL rhosw |
98 |
_RL rhofw |
99 |
_RL floodFac |
100 |
_RL cpIce |
101 |
_RL cpWater |
102 |
_RL kIce |
103 |
_RL kSnow |
104 |
_RL bMeltCoef |
105 |
_RL Lfresh |
106 |
_RL qsnow |
107 |
_RL albColdSnow |
108 |
_RL albWarmSnow |
109 |
_RL tempSnowAlb |
110 |
_RL albOldSnow |
111 |
_RL hNewSnowAge |
112 |
_RL snowAgTime |
113 |
_RL albIceMax |
114 |
_RL albIceMin |
115 |
_RL hAlbIce |
116 |
_RL hAlbSnow |
117 |
_RL i0swFrac |
118 |
_RL ksolar |
119 |
_RL dhSnowLin |
120 |
_RL saltIce |
121 |
_RL S_winton |
122 |
_RL mu_Tf |
123 |
_RL Tf0kel |
124 |
_RL Tmlt1 |
125 |
_RL Terrmax |
126 |
_RL hIceMin |
127 |
_RL hiMax |
128 |
_RL hsMax |
129 |
_RL iceMaskMax |
130 |
_RL iceMaskMin |
131 |
_RL fracEnMelt |
132 |
_RL fracEnFreez |
133 |
_RL hThinIce |
134 |
_RL hThickIce |
135 |
_RL hNewIceMax |
136 |
|
137 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
138 |
|
139 |
C-- COMMON / THSICE_PAR_L / ice model (logical) parameters |
140 |
C stepFwd_oceMxL :: step forward mixed-layer T & S (slab-ocean) |
141 |
C thSIce_tave_mdsio :: write TimeAverage output using MDSIO |
142 |
C thSIce_snapshot_mdsio :: write snap-shot output using MDSIO |
143 |
C thSIce_mon_stdio :: write monitor to std-outp |
144 |
C thSIce_tave_mnc :: write TimeAverage output using MNC |
145 |
C thSIce_snapshot_mnc :: write snap-shot output using MNC |
146 |
C thSIce_mon_mnc :: write monitor to netcdf file |
147 |
C thSIce_pickup_read_mnc :: pickup read w/ MNC |
148 |
C thSIce_pickup_write_mnc :: pickup write w/ MNC |
149 |
C thSIce_pickup_write_mdsio :: pickup write w/ MDSIO |
150 |
COMMON / THSICE_PAR_L / |
151 |
& stepFwd_oceMxL, |
152 |
& thSIce_tave_mdsio, thSIce_snapshot_mdsio, thSIce_mon_stdio, |
153 |
& thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc, |
154 |
& thSIce_pickup_read_mnc, |
155 |
& thSIce_pickup_write_mdsio, |
156 |
& thSIce_pickup_write_mnc |
157 |
|
158 |
LOGICAL stepFwd_oceMxL |
159 |
LOGICAL thSIce_tave_mdsio, thSIce_snapshot_mdsio, thSIce_mon_stdio |
160 |
LOGICAL thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc |
161 |
LOGICAL thSIce_pickup_read_mnc |
162 |
LOGICAL thSIce_pickup_write_mdsio |
163 |
LOGICAL thSIce_pickup_write_mnc |
164 |
|
165 |
C-- COMMON / THSICE_PAR_I / ice model (integer) parameters |
166 |
C startIceModel :: =1 : start ice model at nIter0 ; =0 : use pickup files |
167 |
C :: -1 : start from a small pickup (without Mix.Layer) |
168 |
C nitMaxTsf :: maximum Nb of iter to find Surface Temp (Trsf) |
169 |
C thSIceAdvScheme :: thSIce Advection scheme selector |
170 |
COMMON / THSICE_PAR_I / |
171 |
& startIceModel, nitMaxTsf, thSIceAdvScheme |
172 |
|
173 |
INTEGER startIceModel |
174 |
INTEGER nitMaxTsf |
175 |
INTEGER thSIceAdvScheme |
176 |
|
177 |
C-- COMMON / THSICE_PAR_R / ice model (real) parameters |
178 |
C thSIce_deltaT :: ice model time-step, seaice thicken/extend [s] |
179 |
C thSIce_dtTemp :: ice model time-step, solve4temp [s] |
180 |
C ocean_deltaT :: ocean mixed-layer time-step [s] |
181 |
C tauRelax_MxL :: Relaxation time scale for MixLayer T & S [s] |
182 |
C hMxL_default :: default value for ocean MixLayer thickness [m] |
183 |
C sMxL_default :: default value for salinity in MixLayer [psu] |
184 |
C vMxL_default :: default value for ocean current velocity in MxL [m/s] |
185 |
C thSIce_diffK :: thickness (horizontal) diffusivity [m^2/s] |
186 |
C stressReduction :: reduction factor for wind-stress under sea-ice [0-1] |
187 |
C thSIce_taveFreq :: Frequency^-1 for time-Aver. output [s] |
188 |
C thSIce_diagFreq :: Frequency^-1 for diagnostic output [s] |
189 |
C thSIce_monFreq :: Frequency^-1 for monitor output [s] |
190 |
COMMON / THSICE_PAR_R / |
191 |
& thSIce_deltaT, thSIce_dtTemp, ocean_deltaT, tauRelax_MxL, |
192 |
& hMxL_default, sMxL_default, vMxL_default, |
193 |
& thSIce_diffK, stressReduction, |
194 |
& thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq |
195 |
|
196 |
_RL thSIce_deltaT, thSIce_dtTemp, ocean_deltaT, tauRelax_MxL |
197 |
_RL hMxL_default, sMxL_default, vMxL_default |
198 |
_RL thSIce_diffK, stressReduction |
199 |
_RL thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq |
200 |
|
201 |
C-- COMMON / THSICE_PAR_C / ice model (character) parameters |
202 |
C thSIceFract_InitFile :: File name for initial ice fraction |
203 |
C thSIceThick_InitFile :: File name for initial ice thickness |
204 |
C thSIceSnowH_InitFile :: File name for initial snow thickness |
205 |
C thSIceSnowA_InitFile :: File name for initial snow Age |
206 |
C thSIceEnthp_InitFile :: File name for initial ice enthalpy |
207 |
C thSIceTsurf_InitFile :: File name for initial surf. temp |
208 |
COMMON / THSICE_PAR_C / |
209 |
& thSIceFract_InitFile, |
210 |
& thSIceThick_InitFile, |
211 |
& thSIceSnowH_InitFile, |
212 |
& thSIceSnowA_InitFile, |
213 |
& thSIceEnthp_InitFile, |
214 |
& thSIceTsurf_InitFile |
215 |
CHARACTER*(MAX_LEN_FNAM) thSIceFract_InitFile |
216 |
CHARACTER*(MAX_LEN_FNAM) thSIceThick_InitFile |
217 |
CHARACTER*(MAX_LEN_FNAM) thSIceSnowH_InitFile |
218 |
CHARACTER*(MAX_LEN_FNAM) thSIceSnowA_InitFile |
219 |
CHARACTER*(MAX_LEN_FNAM) thSIceEnthp_InitFile |
220 |
CHARACTER*(MAX_LEN_FNAM) thSIceTsurf_InitFile |
221 |
|
222 |
#ifdef ALLOW_AUTODIFF_TAMC |
223 |
INTEGER iicekey |
224 |
INTEGER ikey_1, ikey_2, ikey_3, ikey_4 |
225 |
INTEGER MaxTsf |
226 |
PARAMETER ( MaxTsf = 20 ) |
227 |
#endif |
228 |
|
229 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
230 |
|
231 |
#endif /* ALLOW_THSICE */ |
232 |
|
233 |
CEH3 ;;; Local Variables: *** |
234 |
CEH3 ;;; mode:fortran *** |
235 |
CEH3 ;;; End: *** |