120 |
C TB :: temperature in boundary layer (=freezing point temperature) (K) |
C TB :: temperature in boundary layer (=freezing point temperature) (K) |
121 |
_RL TB (1:sNx,1:sNy) |
_RL TB (1:sNx,1:sNy) |
122 |
C |
C |
123 |
_RL D1, D1I, D3 |
_RL D1, D1I |
124 |
|
_RL D3(1:sNx,1:sNy) |
125 |
_RL TMELT, XKI, XKS, HCUT, XIO |
_RL TMELT, XKI, XKS, HCUT, XIO |
126 |
_RL SurfMeltTemp |
_RL SurfMeltTemp |
127 |
C effective conductivity of combined ice and snow |
C effective conductivity of combined ice and snow |
188 |
lhSublim = SEAICE_lhEvap + SEAICE_lhFusion |
lhSublim = SEAICE_lhEvap + SEAICE_lhFusion |
189 |
D1I=SEAICE_dalton*lhSublim*SEAICE_rhoAir |
D1I=SEAICE_dalton*lhSublim*SEAICE_rhoAir |
190 |
|
|
|
C STEFAN BOLTZMAN CONSTANT TIMES EMISSIVITY |
|
|
D3=SEAICE_emissivity*SEAICE_boltzmann |
|
|
|
|
191 |
C MELTING TEMPERATURE OF ICE |
C MELTING TEMPERATURE OF ICE |
192 |
#ifdef SEAICE_SOLVE4TEMP_LEGACY |
#ifdef SEAICE_SOLVE4TEMP_LEGACY |
193 |
TMELT = 273.16 _d +00 |
TMELT = 273.16 _d +00 |
263 |
TB(I,J) = celsius2K + SEAICE_freeze |
TB(I,J) = celsius2K + SEAICE_freeze |
264 |
#endif /* SEAICE_SOLVE4TEMP_LEGACY */ |
#endif /* SEAICE_SOLVE4TEMP_LEGACY */ |
265 |
#endif /* SEAICE_VARIABLE_FREEZING_POINT */ |
#endif /* SEAICE_VARIABLE_FREEZING_POINT */ |
266 |
|
IF(HSNOW_ACTUAL(I,J).GT.0.0) THEN |
267 |
|
C Stefan-Boltzman constant times emissivity |
268 |
|
D3(I,J)=SEAICE_snow_emiss*SEAICE_boltzmann |
269 |
|
#ifdef EXF_LWDOWN_WITH_EMISSIVITY |
270 |
|
C This is now [(1-emiss)*lwdown - lwdown] |
271 |
|
lwdownloc(I,J) = SEAICE_snow_emiss*lwdownloc(I,J) |
272 |
|
#else /* use the old hard wired inconsistent value */ |
273 |
|
lwdownloc(I,J) = 0.97 _d 0*lwdownloc(I,J) |
274 |
|
#endif /* EXF_LWDOWN_WITH_EMISSIVITY */ |
275 |
|
ELSE |
276 |
|
C Stefan-Boltzman constant times emissivity |
277 |
|
D3(I,J)=SEAICE_ice_emiss*SEAICE_boltzmann |
278 |
|
#ifdef EXF_LWDOWN_WITH_EMISSIVITY |
279 |
|
C This is now [(1-emiss)*lwdown - lwdown] |
280 |
|
lwdownloc(I,J) = SEAICE_ice_emiss*lwdownloc(I,J) |
281 |
|
#else /* use the old hard wired inconsistent value */ |
282 |
|
lwdownloc(I,J) = 0.97 _d 0*lwdownloc(I,J) |
283 |
|
#endif /* EXF_LWDOWN_WITH_EMISSIVITY */ |
284 |
|
ENDIF |
285 |
ENDDO |
ENDDO |
286 |
ENDDO |
ENDDO |
287 |
|
|
314 |
C snow albedo |
C snow albedo |
315 |
IF (HSNOW_ACTUAL(I,J) .GT. HCUT) THEN |
IF (HSNOW_ACTUAL(I,J) .GT. HCUT) THEN |
316 |
ALB(I,J) = ALB_SNOW(I,J) |
ALB(I,J) = ALB_SNOW(I,J) |
|
|
|
317 |
C otherwise, use some combination of ice and snow albedo |
C otherwise, use some combination of ice and snow albedo |
318 |
C (What is the source of this formulation ?) |
C (What is the source of this formulation ?) |
319 |
ELSE |
ELSE |
337 |
IF(HSNOW_ACTUAL(I,J).GT.0.0) THEN |
IF(HSNOW_ACTUAL(I,J).GT.0.0) THEN |
338 |
C NO SW PENETRATION WITH SNOW |
C NO SW PENETRATION WITH SNOW |
339 |
A1(I,J)=(1.0 _d 0 - ALB(I,J))*SWDOWN(I,J,bi,bj) |
A1(I,J)=(1.0 _d 0 - ALB(I,J))*SWDOWN(I,J,bi,bj) |
340 |
& +lwdownLoc(I,J)*0.97 _d 0 |
& +lwdownLoc(I,J) |
341 |
& +D1*UG(I,J)*atempLoc(I,J)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
& +D1*UG(I,J)*atempLoc(I,J)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
342 |
ELSE |
ELSE |
343 |
C SW PENETRATION UNDER ICE |
C SW PENETRATION UNDER ICE |
344 |
A1(I,J)=(1.0 _d 0 - ALB(I,J))*SWDOWN(I,J,bi,bj) |
A1(I,J)=(1.0 _d 0 - ALB(I,J))*SWDOWN(I,J,bi,bj) |
345 |
& *(1.0 _d 0 - XIO*EXP(-1.5 _d 0*HICE_ACTUAL(I,J))) |
& *(1.0 _d 0 - XIO*EXP(-1.5 _d 0*HICE_ACTUAL(I,J))) |
346 |
& +lwdownLoc(I,J)*0.97 _d 0 |
& +lwdownLoc(I,J) |
347 |
& +D1*UG(I,J)*atempLoc(I,J)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
& +D1*UG(I,J)*atempLoc(I,J)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
348 |
ENDIF |
ENDIF |
349 |
#endif /* ALLOW_DOWNWARD_RADIATION */ |
#endif /* ALLOW_DOWNWARD_RADIATION */ |
351 |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
352 |
|
|
353 |
C The longwave radiative flux convergence |
C The longwave radiative flux convergence |
354 |
F_lwd(I,J) = - 0.97 _d 0 * lwdownLoc(I,J) |
F_lwd(I,J) = - lwdownLoc(I,J) |
355 |
|
|
356 |
C Determine the fraction of shortwave radiative flux |
C Determine the fraction of shortwave radiative flux |
357 |
C remaining after scattering through the snow and ice at |
C remaining after scattering through the snow and ice at |
469 |
F_c(I,J) = -effConduct(I,J)*(TB(I,J)-tsurfLoc(I,J)) |
F_c(I,J) = -effConduct(I,J)*(TB(I,J)-tsurfLoc(I,J)) |
470 |
F_lh(I,J) = D1I*UG(I,J)*(qhice(I,J)-AQH(I,J,bi,bj)) |
F_lh(I,J) = D1I*UG(I,J)*(qhice(I,J)-AQH(I,J,bi,bj)) |
471 |
#ifdef SEAICE_SOLVE4TEMP_LEGACY |
#ifdef SEAICE_SOLVE4TEMP_LEGACY |
472 |
A2(I,J)=-D1*UG(I,J)*t1-D1I*UG(I,J)*qhice(I,J)-D3*t4 |
A2(I,J)=-D1*UG(I,J)*t1-D1I*UG(I,J)*qhice(I,J)-D3(I,J)*t4 |
473 |
A3(I,J) = 4.0 _d 0 * D3 * t3 + effConduct(I,J) + D1*UG(I,J) |
A3(I,J) = 4.0 _d 0*D3(I,J)*t3 + effConduct(I,J)+D1*UG(I,J) |
474 |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
475 |
C A constant for SVP derivative w.r.t TICE |
C A constant for SVP derivative w.r.t TICE |
476 |
C cc3t = TEN **(aa1 / t1) |
C cc3t = TEN **(aa1 / t1) |
491 |
|
|
492 |
|
|
493 |
c d(F_ia)/d(TICE) |
c d(F_ia)/d(TICE) |
494 |
dFiDTs1 = 4.0 _d 0 * D3*t3 + effConduct(I,J) + D1*UG(I,J) |
dFiDTs1 = 4.0 _d 0*D3(I,J)*t3 + effConduct(I,J) + D1*UG(I,J) |
495 |
& + D1I*UG(I,J)*dqhice_dTice |
& + D1I*UG(I,J)*dqhice_dTice |
496 |
|
|
497 |
F_lwu(I,J)= t4 * D3 |
F_lwu(I,J)= t4 * D3(I,J) |
498 |
|
|
499 |
F_sens(I,J)= D1 * UG(I,J) * (t1 - atempLoc(I,J)) |
F_sens(I,J)= D1 * UG(I,J) * (t1 - atempLoc(I,J)) |
500 |
|
|
616 |
#endif |
#endif |
617 |
|
|
618 |
F_c(I,J) = -effConduct(I,J) * (TB(I,J) - t1) |
F_c(I,J) = -effConduct(I,J) * (TB(I,J) - t1) |
619 |
F_lwu(I,J) = t4 * D3 |
F_lwu(I,J) = t4 * D3(I,J) |
620 |
F_sens(I,J) = D1 * UG(I,J) * (t1 - atempLoc(I,J)) |
F_sens(I,J) = D1 * UG(I,J) * (t1 - atempLoc(I,J)) |
621 |
|
|
622 |
C The flux between the ice/snow surface and the atmosphere. |
C The flux between the ice/snow surface and the atmosphere. |
635 |
t4 = t2*t2 |
t4 = t2*t2 |
636 |
qhice(I,J)=QS1*(C1*t4+C2*t3 +C3*t2+C4*t1+C5) |
qhice(I,J)=QS1*(C1*t4+C2*t3 +C3*t2+C4*t1+C5) |
637 |
|
|
638 |
A1(I,J)=0.3 _d 0 *SWDOWN(I,J,bi,bj)+lwdownLoc(I,J)*0.97 _d 0 |
A1(I,J)=0.3 _d 0 *SWDOWN(I,J,bi,bj)+lwdownLoc(I,J) |
639 |
& +D1*UG(I,J)*atempLoc(I,J)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
& +D1*UG(I,J)*atempLoc(I,J)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
640 |
A2(I,J)=-D1*UG(I,J)*t1-D1I*UG(I,J)*qhice(I,J)-D3*t4 |
A2(I,J)=-D1*UG(I,J)*t1-D1I*UG(I,J)*qhice(I,J)-D3(I,J)*t4 |
641 |
|
|
642 |
F_ia(I,J)=-A1(I,J)-A2(I,J) |
F_ia(I,J)=-A1(I,J)-A2(I,J) |
643 |
IcePenetSWFlux(I,J)= 0. _d 0 |
IcePenetSWFlux(I,J)= 0. _d 0 |