153 |
_RL qleft |
_RL qleft |
154 |
_RL fresh |
_RL fresh |
155 |
c _RL fsalt |
c _RL fsalt |
156 |
|
|
157 |
C == Local Variables == |
C == Local Variables == |
158 |
INTEGER i,j,k ! loop indices |
C i,j,k :: loop indices |
159 |
_RL rec_nlyr ! reciprocal of number of ice layers (real value) |
C rec_nlyr :: reciprocal of number of ice layers (real value) |
160 |
C evap :: evaporation over snow/ice [kg/m2/s] (>0 if evaporate) |
C evap :: evaporation over snow/ice [kg/m2/s] (>0 if evaporate) |
161 |
C Fbot :: oceanic heat flux used to melt/form ice [W/m2] |
C Fbot :: oceanic heat flux used to melt/form ice [W/m2] |
162 |
|
C etop :: energy for top melting (J m-2) |
163 |
|
C ebot :: energy for bottom melting (J m-2) |
164 |
|
C etope :: energy (from top) for lateral melting (J m-2) |
165 |
|
C ebote :: energy (from bottom) for lateral melting (J m-2) |
166 |
|
C extend :: total energy for lateral melting (J m-2) |
167 |
|
C hnew(nlyr) :: new ice layer thickness (m) |
168 |
|
C hlyr :: individual ice layer thickness (m) |
169 |
|
C dhi :: change in ice thickness |
170 |
|
C dhs :: change in snow thickness |
171 |
|
C rq :: rho * q for a layer |
172 |
|
C rqh :: rho * q * h for a layer |
173 |
|
C qbot :: enthalpy for new ice at bottom surf (J/kg) |
174 |
|
C dt :: timestep |
175 |
|
C esurp :: surplus energy from melting (J m-2) |
176 |
|
C mwater0 :: fresh water mass gained/lost (kg/m^2) |
177 |
|
C msalt0 :: salt gained/lost (kg/m^2) |
178 |
|
C freshe :: fresh water gain from extension melting |
179 |
|
C salte :: salt gained from extension melting |
180 |
|
C lowIcFrac1 :: ice-fraction lower limit above which partial (lowIcFrac1) |
181 |
|
C lowIcFrac2 :: or full (lowIcFrac2) lateral melting is allowed. |
182 |
|
INTEGER i,j,k |
183 |
|
_RL rec_nlyr |
184 |
_RL evap |
_RL evap |
185 |
_RL Fbot |
_RL Fbot |
186 |
_RL etop ! energy for top melting (J m-2) |
_RL etop |
187 |
_RL ebot ! energy for bottom melting (J m-2) |
_RL ebot |
188 |
_RL etope ! energy (from top) for lateral melting (J m-2) |
_RL etope |
189 |
_RL ebote ! energy (from bottom) for lateral melting (J m-2) |
_RL ebote |
190 |
_RL extend ! total energy for lateral melting (J m-2) |
_RL extend |
191 |
_RL hnew(nlyr) ! new ice layer thickness (m) |
_RL hnew(nlyr) |
192 |
_RL hlyr ! individual ice layer thickness (m) |
_RL hlyr |
193 |
_RL dhi ! change in ice thickness |
_RL dhi |
194 |
_RL dhs ! change in snow thickness |
_RL dhs |
195 |
_RL rq ! rho * q for a layer |
_RL rq |
196 |
_RL rqh ! rho * q * h for a layer |
_RL rqh |
197 |
_RL qbot ! enthalpy for new ice at bottom surf (J/kg) |
_RL qbot |
198 |
_RL dt ! timestep |
_RL dt |
199 |
_RL esurp ! surplus energy from melting (J m-2) |
_RL esurp |
200 |
_RL mwater0 ! fresh water mass gained/lost (kg/m^2) |
_RL mwater0 |
201 |
_RL msalt0 ! salt gained/lost (kg/m^2) |
_RL msalt0 |
202 |
_RL freshe ! fresh water gain from extension melting |
_RL freshe |
203 |
_RL salte ! salt gained from extension melting |
_RL salte |
204 |
|
_RL lowIcFrac1, lowIcFrac2 |
205 |
|
|
206 |
_RL ustar, cpchr |
_RL ustar, cpchr |
207 |
_RL chi, chs |
_RL chi |
208 |
_RL frace, rs, hq |
_RL frace, rs, hq |
|
C lowIcFrac1 :: ice-fraction lower limit above which partial (lowIcFrac1) |
|
|
C lowIcFrac2 :: or full (lowIcFrac2) lateral melting is allowed. |
|
|
_RL lowIcFrac1, lowIcFrac2 |
|
209 |
#ifdef THSICE_FRACEN_POWERLAW |
#ifdef THSICE_FRACEN_POWERLAW |
210 |
INTEGER powerLaw |
INTEGER powerLaw |
211 |
_RL rec_pLaw |
_RL rec_pLaw |
362 |
C !----------------------------------------------------------------- |
C !----------------------------------------------------------------- |
363 |
C ! melting conditions |
C ! melting conditions |
364 |
C !----------------------------------------------------------------- |
C !----------------------------------------------------------------- |
365 |
ustar = 5. _d -2 !for no currents |
C for no currents: |
366 |
|
ustar = 5. _d -2 |
367 |
C frictional velocity between ice and water |
C frictional velocity between ice and water |
368 |
ustar = SQRT(0.00536 _d 0*oceV2s) |
ustar = SQRT(0.00536 _d 0*oceV2s) |
369 |
ustar=max(5. _d -3,ustar) |
ustar=max(5. _d -3,ustar) |
370 |
cpchr =cpWater*rhosw*bMeltCoef |
cpchr =cpWater*rhosw*bMeltCoef |
371 |
Fbot = cpchr*(Tf-oceTs)*ustar ! < 0 |
Fbot = cpchr*(Tf-oceTs)*ustar |
372 |
Fbot = max(Fbot,frzmlt) ! frzmlt < Fbot < 0 |
C frzmlt < Fbot < 0 |
373 |
|
Fbot = max(Fbot,frzmlt) |
374 |
Fbot = min(Fbot,0. _d 0) |
Fbot = min(Fbot,0. _d 0) |
375 |
ENDIF |
ENDIF |
376 |
|
|