88 |
_RL oceV2s, oceTs |
_RL oceV2s, oceTs |
89 |
_RL compact, hIce, hSnow, Tsf, Tice(nlyr), qicen(nlyr) |
_RL compact, hIce, hSnow, Tsf, Tice(nlyr), qicen(nlyr) |
90 |
_RL tmpflx(0:2), tmpdTs |
_RL tmpflx(0:2), tmpdTs |
91 |
|
#ifdef ALLOW_DIAGNOSTICS |
92 |
|
_RL tmpFac |
93 |
|
#endif |
94 |
|
|
95 |
LOGICAL dBug |
LOGICAL dBug |
96 |
|
|
103 |
ENDDO |
ENDDO |
104 |
ENDDO |
ENDDO |
105 |
|
|
106 |
IF ( buoyancyRelation(1:7) .EQ. 'OCEANIC' ) THEN |
IF ( fluidIsWater ) THEN |
107 |
DO j = jMin, jMax |
DO j = jMin, jMax |
108 |
DO i = iMin, iMax |
DO i = iMin, iMax |
109 |
c dBug = ( bi.EQ.3 .AND. i.EQ.15 .AND. j.EQ.11 ) |
c dBug = ( bi.EQ.3 .AND. i.EQ.15 .AND. j.EQ.11 ) |
131 |
O albedo, |
O albedo, |
132 |
I myThid ) |
I myThid ) |
133 |
flxSW(i,j) = flxSW(i,j)*(1. _d 0 - albedo) |
flxSW(i,j) = flxSW(i,j)*(1. _d 0 - albedo) |
134 |
|
siceAlb(i,j,bi,bj) = albedo |
135 |
|
|
136 |
CALL THSICE_SOLVE4TEMP( |
CALL THSICE_SOLVE4TEMP( |
137 |
I useBulkforce, tmpflx, TFrzOce, hIce, hSnow, |
I useBulkforce, tmpflx, TFrzOce, hIce, hSnow, |
151 |
Tice2(i,j,bi,bj)=Tice(2) |
Tice2(i,j,bi,bj)=Tice(2) |
152 |
Qice1(i,j,bi,bj)=qicen(1) |
Qice1(i,j,bi,bj)=qicen(1) |
153 |
Qice2(i,j,bi,bj)=qicen(2) |
Qice2(i,j,bi,bj)=qicen(2) |
|
#ifdef ALLOW_TIMEAVE |
|
|
ice_albedo_Ave(i,j,bi,bj) = ice_albedo_Ave(i,j,bi,bj) |
|
|
& + icFrac*albedo*thSIce_deltaT |
|
|
#endif /*ALLOW_TIMEAVE*/ |
|
154 |
IF ( dBug ) THEN |
IF ( dBug ) THEN |
155 |
WRITE(6,1010) 'ThSI_FWD: Tsf, Tice(1,2), frzmltMxL =', |
WRITE(6,1010) 'ThSI_FWD: Tsf, Tice(1,2), frzmltMxL =', |
156 |
& Tsf, Tice, frzmltMxL |
& Tsf, Tice, frzmltMxL |
164 |
ENDIF |
ENDIF |
165 |
dBug = .FALSE. |
dBug = .FALSE. |
166 |
|
|
167 |
|
#ifdef ALLOW_DIAGNOSTICS |
168 |
|
IF ( useDiagnostics ) THEN |
169 |
|
tmpFac = 1. _d 0 |
170 |
|
CALL DIAGNOSTICS_FRACT_FILL( |
171 |
|
I snowPrc, iceMask,tmpFac,1,'SIsnwPrc', |
172 |
|
I 0,1,1,bi,bj,myThid) |
173 |
|
CALL DIAGNOSTICS_FRACT_FILL( |
174 |
|
I siceAlb, iceMask,tmpFac,1,'SIalbedo', |
175 |
|
I 0,1,1,bi,bj,myThid) |
176 |
|
ENDIF |
177 |
|
#endif /* ALLOW_DIAGNOSTICS */ |
178 |
|
DO j = jMin, jMax |
179 |
|
DO i = iMin, iMax |
180 |
|
siceAlb(i,j,bi,bj) = iceMask(i,j,bi,bj)*siceAlb(i,j,bi,bj) |
181 |
|
ENDDO |
182 |
|
ENDDO |
183 |
|
|
184 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
185 |
C part.2 : ice-covered fraction ; |
C part.2 : ice-covered fraction ; |
186 |
C change in ice/snow thickness and ice-fraction |
C change in ice/snow thickness and ice-fraction |