191 |
D1I=SEAICE_dalton*lhSublim*SEAICE_rhoAir |
D1I=SEAICE_dalton*lhSublim*SEAICE_rhoAir |
192 |
|
|
193 |
C MELTING TEMPERATURE OF ICE |
C MELTING TEMPERATURE OF ICE |
|
#ifdef SEAICE_SOLVE4TEMP_LEGACY |
|
|
TMELT = 273.16 _d +00 |
|
|
SurfMeltTemp = 273.159 _d +00 |
|
|
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
|
194 |
TMELT = celsius2K |
TMELT = celsius2K |
195 |
SurfMeltTemp = TMELT |
SurfMeltTemp = TMELT |
196 |
|
#ifdef SEAICE_SOLVE4TEMP_LEGACY |
197 |
|
C old SOLVE4TEMP_LEGACY setting, consistent with former celsius2K value: |
198 |
|
c TMELT = 273.16 _d +00 |
199 |
|
c SurfMeltTemp = 273.159 _d +00 |
200 |
|
SurfMeltTemp = TMELT - 1. _d -3 |
201 |
#endif /* SEAICE_SOLVE4TEMP_LEGACY */ |
#endif /* SEAICE_SOLVE4TEMP_LEGACY */ |
202 |
|
|
203 |
C ICE CONDUCTIVITY |
C ICE CONDUCTIVITY |
238 |
A1(I,J) = 0.0 _d 0 |
A1(I,J) = 0.0 _d 0 |
239 |
A2(I,J) = 0.0 _d 0 |
A2(I,J) = 0.0 _d 0 |
240 |
A3(I,J) = 0.0 _d 0 |
A3(I,J) = 0.0 _d 0 |
241 |
tsurfLoc (I,J) = MIN(273.16 _d 0 + MAX_TICE, TSURF(I,J,bi,bj)) |
tsurfLoc (I,J) = MIN( celsius2K+MAX_TICE, TSURF(I,J,bi,bj) ) |
242 |
atempLoc (I,J) = MAX(273.16 _d 0 + MIN_ATEMP,ATEMP(I,J,bi,bj)) |
atempLoc (I,J) = MAX( celsius2K+MIN_ATEMP, ATEMP(I,J,bi,bj) ) |
243 |
lwdownLoc(I,J) = MAX( MIN_LWDOWN, LWDOWN(I,J,bi,bj) ) |
lwdownLoc(I,J) = MAX( MIN_LWDOWN, LWDOWN(I,J,bi,bj) ) |
244 |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
245 |
F_lwu (I,J) = 0. _d 0 |
F_lwu (I,J) = 0. _d 0 |
256 |
& + celsius2K |
& + celsius2K |
257 |
#else |
#else |
258 |
C Use a constant freezing temperature (SEAICE_VARIABLE_FREEZING_POINT undef) |
C Use a constant freezing temperature (SEAICE_VARIABLE_FREEZING_POINT undef) |
259 |
#ifdef SEAICE_SOLVE4TEMP_LEGACY |
C old SOLVE4TEMP_LEGACY setting (not consistent with seaice_growth value) |
260 |
TB(I,J) = 271.2 _d 0 |
c TB(I,J) = 271.2 _d 0 |
|
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
|
261 |
TB(I,J) = celsius2K + SEAICE_freeze |
TB(I,J) = celsius2K + SEAICE_freeze |
|
#endif /* SEAICE_SOLVE4TEMP_LEGACY */ |
|
262 |
#endif /* SEAICE_VARIABLE_FREEZING_POINT */ |
#endif /* SEAICE_VARIABLE_FREEZING_POINT */ |
263 |
IF(HSNOW_ACTUAL(I,J).GT.0.0) THEN |
IF(HSNOW_ACTUAL(I,J).GT.0.0) THEN |
264 |
C Stefan-Boltzmann constant times emissivity |
C Stefan-Boltzmann constant times emissivity |
471 |
C update tsurf as solution of : Fc = A2 - A1 + A3 *delta.tsurf |
C update tsurf as solution of : Fc = A2 - A1 + A3 *delta.tsurf |
472 |
tsurfLoc(I,J)=tsurfLoc(I,J) |
tsurfLoc(I,J)=tsurfLoc(I,J) |
473 |
& +(A1(I,J)-A2(I,J)+F_c(I,J))/A3(I,J) |
& +(A1(I,J)-A2(I,J)+F_c(I,J))/A3(I,J) |
474 |
tsurfLoc(I,J) = MAX( 273.16 _d 0+MIN_TICE, tsurfLoc(I,J) ) |
tsurfLoc(I,J) = MAX( celsius2K+MIN_TICE, tsurfLoc(I,J) ) |
475 |
|
|
476 |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
#else /* SEAICE_SOLVE4TEMP_LEGACY */ |
477 |
tsurfLoc(I,J) = tsurfLoc(I,J) - F_ia(I,J) / dFiDTs1 |
tsurfLoc(I,J) = tsurfLoc(I,J) - F_ia(I,J) / dFiDTs1 |