/[MITgcm]/MITgcm/pkg/thsice/thsice_step_fwd.F
ViewVC logotype

Diff of /MITgcm/pkg/thsice/thsice_step_fwd.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.4 by jmc, Thu Apr 8 18:54:26 2004 UTC revision 1.5 by jmc, Fri May 7 21:33:34 2004 UTC
# Line 103  C-    Initialise flxAtm Line 103  C-    Initialise flxAtm
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 ;
# Line 117  C------- Line 117  C-------
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),
# Line 146  C--    Update Sea-Ice state : Line 151  C--    Update Sea-Ice state :
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
# Line 161  C------- Line 173  C-------
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)
# Line 173  c       dBug = ( bi.EQ.3 .AND. i.EQ.15 . Line 185  c       dBug = ( bi.EQ.3 .AND. i.EQ.15 .
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
# Line 231  C---+----1----+----2----+----3----+----4 Line 245  C---+----1----+----2----+----3----+----4
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)
# Line 248  C-     weighted average net fluxes: Line 262  C-     weighted average net fluxes:
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)
# Line 297  C--    Update Sea-Ice state : Line 312  C--    Update Sea-Ice state :
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

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22