85 |
_RL oldVol (1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL oldVol (1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
86 |
_RL minIcHeff, minIcArea, r_minArea |
_RL minIcHeff, minIcArea, r_minArea |
87 |
_RL meanCellArea, areaEpsil, vol_Epsil |
_RL meanCellArea, areaEpsil, vol_Epsil |
|
#ifdef ALLOW_DBUG_THSICE |
|
|
_RL tmpVar, sumVar1, sumVar2 |
|
|
#endif |
|
|
LOGICAL dBugFlag |
|
|
#include "THSICE_DEBUG.h" |
|
88 |
#ifdef ALLOW_DIAGNOSTICS |
#ifdef ALLOW_DIAGNOSTICS |
89 |
CHARACTER*8 diagName |
CHARACTER*8 diagName |
90 |
CHARACTER*4 THSICE_DIAG_SUFX, diagSufx |
CHARACTER*4 THSICE_DIAG_SUFX, diagSufx |
91 |
EXTERNAL THSICE_DIAG_SUFX |
EXTERNAL THSICE_DIAG_SUFX |
92 |
#endif |
#endif |
93 |
|
#ifdef ALLOW_DBUG_THSICE |
94 |
|
_RL tmpVar, sumVar1, sumVar2 |
95 |
|
#endif |
96 |
|
LOGICAL dBugFlag |
97 |
|
#include "THSICE_DEBUG.h" |
98 |
CEOP |
CEOP |
99 |
|
|
100 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
380 |
iceMask(i,j,bi,bj) = iceFrc(i,j) |
iceMask(i,j,bi,bj) = iceFrc(i,j) |
381 |
ENDIF |
ENDIF |
382 |
ELSE |
ELSE |
383 |
C- not enough ice, melt the tiny amount of snow & ice: |
C- Not enough ice, melt the tiny amount of snow & ice: |
384 |
C and return frsh-water, salt & energy to the ocean (flx > 0 = into ocean) |
C and return frsh-water, salt & energy to the ocean (flx > 0 = into ocean) |
385 |
|
C- - Note: using 1rst.Order Upwind, I can get the same results as when |
386 |
|
C using seaice_advdiff (with SEAICEadvScheme=1) providing I comment |
387 |
|
C out the following lines (and then loose conservation). |
388 |
|
C- - |
389 |
oceFWfx(i,j,bi,bj) = ( rhos*snowHeight(i,j,bi,bj) |
oceFWfx(i,j,bi,bj) = ( rhos*snowHeight(i,j,bi,bj) |
390 |
& +rhoi*iceHeight(i,j,bi,bj) ) |
& +rhoi*iceHeight(i,j,bi,bj) ) |
391 |
& *iceFrc(i,j)/thSIce_deltaT |
& *iceFrc(i,j)/thSIce_deltaT |
395 |
& -( Qice1(i,j,bi,bj) |
& -( Qice1(i,j,bi,bj) |
396 |
& +Qice2(i,j,bi,bj) )*0.5 _d 0 |
& +Qice2(i,j,bi,bj) )*0.5 _d 0 |
397 |
& *rhoi*iceFld(i,j)/thSIce_deltaT |
& *rhoi*iceFld(i,j)/thSIce_deltaT |
398 |
|
C- - |
399 |
c flx2oc (i,j) = flx2oc (i,j) + |
c flx2oc (i,j) = flx2oc (i,j) + |
400 |
c frw2oc (i,j) = frw2oc (i,j) + |
c frw2oc (i,j) = frw2oc (i,j) + |
401 |
c fsalt (i,j) = fsalt (i,j) + |
c fsalt (i,j) = fsalt (i,j) + |