103 |
IF ( buoyancyRelation(1:7) .EQ. 'OCEANIC' ) THEN |
IF ( buoyancyRelation(1:7) .EQ. 'OCEANIC' ) THEN |
104 |
DO j = jMin, jMax |
DO j = jMin, jMax |
105 |
DO i = iMin, iMax |
DO i = iMin, iMax |
106 |
c dBug = ( bi.EQ.3 .AND. i.EQ.15 .AND. j.EQ.15 ) |
c dBug = ( bi.EQ.3 .AND. i.EQ.15 .AND. j.EQ.11 ) |
107 |
|
|
108 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
109 |
C part.1 : ice-covered fraction ; |
C part.1 : ice-covered fraction ; |
117 |
Tsf = Tsrf(i,j,bi,bj) |
Tsf = Tsrf(i,j,bi,bj) |
118 |
qicen(1)= Qice1(i,j,bi,bj) |
qicen(1)= Qice1(i,j,bi,bj) |
119 |
qicen(2)= Qice2(i,j,bi,bj) |
qicen(2)= Qice2(i,j,bi,bj) |
120 |
|
IF ( dBug ) THEN |
121 |
|
WRITE(6,'(A,2I4,2I2)') 'ThSI_FWD: i,j=',i,j,bi,bj |
122 |
|
WRITE(6,1010) 'ThSI_FWD:-0- iceMask, hIc, hSn, Tsf =', |
123 |
|
& icFrac, hIce,hSnow,Tsf |
124 |
|
ENDIF |
125 |
|
|
126 |
CALL THSICE_ALBEDO( |
CALL THSICE_ALBEDO( |
127 |
I hIce, hSnow, Tsf, snowAge(i,j,bi,bj), |
I hIce, hSnow, Tsf, snowAge(i,j,bi,bj), |
151 |
ice_albedo_Ave(i,j,bi,bj) = ice_albedo_Ave(i,j,bi,bj) |
ice_albedo_Ave(i,j,bi,bj) = ice_albedo_Ave(i,j,bi,bj) |
152 |
& + icFrac*albedo*thSIce_deltaT |
& + icFrac*albedo*thSIce_deltaT |
153 |
#endif /*ALLOW_TIMEAVE*/ |
#endif /*ALLOW_TIMEAVE*/ |
154 |
|
IF ( dBug ) THEN |
155 |
|
WRITE(6,1010) 'ThSI_FWD: Tsf, Tice(1,2), frzmltMxL =', |
156 |
|
& Tsf, Tice, frzmltMxL |
157 |
|
WRITE(6,1010) 'ThSI_FWD: sHeat,fxCndBt, fxAtm,evAtm=', |
158 |
|
& sHeating(i,j,bi,bj), flxCndBt(i,j,bi,bj), |
159 |
|
& flxAtm(i,j), evpAtm(i,j) |
160 |
|
ENDIF |
161 |
ENDIF |
ENDIF |
162 |
ENDDO |
ENDDO |
163 |
ENDDO |
ENDDO |
173 |
ageFac = 1. _d 0 - thSIce_deltaT/agingTime |
ageFac = 1. _d 0 - thSIce_deltaT/agingTime |
174 |
DO j = jMin, jMax |
DO j = jMin, jMax |
175 |
DO i = iMin, iMax |
DO i = iMin, iMax |
176 |
c dBug = ( bi.EQ.3 .AND. i.EQ.15 .AND. j.EQ.15 ) |
c dBug = ( bi.EQ.3 .AND. i.EQ.15 .AND. j.EQ.11 ) |
177 |
|
|
178 |
TFrzOce = -mu_Tf*sOceMxL(i,j,bi,bj) |
TFrzOce = -mu_Tf*sOceMxL(i,j,bi,bj) |
179 |
oceTs = tOceMxL(i,j,bi,bj) |
oceTs = tOceMxL(i,j,bi,bj) |
185 |
compact= iceMask(i,j,bi,bj) |
compact= iceMask(i,j,bi,bj) |
186 |
C------- |
C------- |
187 |
IF (dBug .AND. (frzmltMxL.GT.0. .OR. compact.GT.0.) ) THEN |
IF (dBug .AND. (frzmltMxL.GT.0. .OR. compact.GT.0.) ) THEN |
188 |
WRITE(6,1010) 'ThSI_FWD:-1- iceMask,hIc,hSn,Qnet=', |
WRITE(6,'(A,2I4,2I2)') 'ThSI_FWD: i,j=',i,j,bi,bj |
189 |
& compact, hIce, hSnow, Qnet(i,j,bi,bj) |
WRITE(6,1010) 'ThSI_FWD:-1- iceMask, hIc, hSn, Tsf =', |
190 |
WRITE(6,1010) 'ThSI_FWD: ocTs,TFrzOce,frzmltMxL=', |
& compact, iceHeight(i,j,bi,bj), |
191 |
& oceTs,TFrzOce,frzmltMxL |
& snowHeight(i,j,bi,bj), Qnet(i,j,bi,bj) |
192 |
|
WRITE(6,1010) 'ThSI_FWD: ocTs, TFrzOce, frzmltMxL =', |
193 |
|
& oceTs, TFrzOce, frzmltMxL |
194 |
ENDIF |
ENDIF |
195 |
C------- |
C------- |
196 |
IF (iceMask(i,j,bi,bj).GT.0. _d 0) THEN |
IF (iceMask(i,j,bi,bj).GT.0. _d 0) THEN |
245 |
|
|
246 |
C-- Update Sea-Ice state : |
C-- Update Sea-Ice state : |
247 |
c iceMask(i,j,bi,bj)=compact |
c iceMask(i,j,bi,bj)=compact |
248 |
iceheight(i,j,bi,bj) = hIce |
iceHeight(i,j,bi,bj) = hIce |
249 |
snowheight(i,j,bi,bj)= hSnow |
snowHeight(i,j,bi,bj)= hSnow |
250 |
Tsrf(i,j,bi,bj) =Tsf |
Tsrf(i,j,bi,bj) =Tsf |
251 |
Qice1(i,j,bi,bj)=qicen(1) |
Qice1(i,j,bi,bj)=qicen(1) |
252 |
Qice2(i,j,bi,bj)=qicen(2) |
Qice2(i,j,bi,bj)=qicen(2) |
262 |
EmPmR(i,j,bi,bj)=-icFrac*frw2oc/rhofw+opFrac*EmPmR(i,j,bi,bj) |
EmPmR(i,j,bi,bj)=-icFrac*frw2oc/rhofw+opFrac*EmPmR(i,j,bi,bj) |
263 |
saltFlux(i,j,bi,bj)=-icFrac*fsalt |
saltFlux(i,j,bi,bj)=-icFrac*fsalt |
264 |
|
|
265 |
IF (dBug) WRITE(6,1010)'ThSI_FWD:-3- compact,hIc,hSn,Qnet=', |
IF (dBug) WRITE(6,1010) |
266 |
& compact,hIce,hSnow,Qnet(i,j,bi,bj) |
& 'ThSI_FWD:-3- compact, hIc, hSn, Qnet =', |
267 |
|
& compact,hIce,hSnow,Qnet(i,j,bi,bj) |
268 |
|
|
269 |
ELSEIF (hOceMxL(i,j,bi,bj).gt.0. _d 0) THEN |
ELSEIF (hOceMxL(i,j,bi,bj).gt.0. _d 0) THEN |
270 |
flxAtm(i,j) = -Qnet(i,j,bi,bj) |
flxAtm(i,j) = -Qnet(i,j,bi,bj) |
312 |
Qice1(i,j,bi,bj) = qicen(1) |
Qice1(i,j,bi,bj) = qicen(1) |
313 |
Qice2(i,j,bi,bj) = qicen(2) |
Qice2(i,j,bi,bj) = qicen(2) |
314 |
ENDIF |
ENDIF |
315 |
iceheight(i,j,bi,bj) = hIce |
iceHeight(i,j,bi,bj) = hIce |
316 |
snowheight(i,j,bi,bj)= hSnow |
snowHeight(i,j,bi,bj)= hSnow |
317 |
C-- Net fluxes : |
C-- Net fluxes : |
318 |
Qnet(i,j,bi,bj) = Qnet(i,j,bi,bj) - flx2oc |
Qnet(i,j,bi,bj) = Qnet(i,j,bi,bj) - flx2oc |
319 |
EmPmR(i,j,bi,bj)= EmPmR(i,j,bi,bj)- frw2oc/rhofw |
EmPmR(i,j,bi,bj)= EmPmR(i,j,bi,bj)- frw2oc/rhofw |
320 |
saltFlux(i,j,bi,bj)=saltFlux(i,j,bi,bj) - fsalt |
saltFlux(i,j,bi,bj)=saltFlux(i,j,bi,bj) - fsalt |
321 |
|
|
322 |
IF (dBug) WRITE(6,1010)'ThSI_FWD:-4- compact,hIc,hSn,Qnet=', |
IF (dBug) WRITE(6,1010) |
323 |
|
& 'ThSI_FWD:-4- compact, hIc, hSn, Qnet =', |
324 |
& compact,hIce,hSnow,Qnet(i,j,bi,bj) |
& compact,hIce,hSnow,Qnet(i,j,bi,bj) |
325 |
C-- - if esurp > 0 : end |
C-- - if esurp > 0 : end |
326 |
ENDIF |
ENDIF |