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

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

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

revision 1.5 by heimbach, Mon Apr 16 22:38:24 2007 UTC revision 1.6 by jmc, Sun Apr 29 23:48:44 2007 UTC
# Line 165  C--   start ice Line 165  C--   start ice
165    
166  C-    enthalpy of new ice to form :  C-    enthalpy of new ice to form :
167          IF ( iceFrac.LE.0. _d 0 ) THEN          IF ( iceFrac.LE.0. _d 0 ) THEN
168            qicen(1)= -cpwater*Tmlt1            qicen(1)= -cpWater*Tmlt1
169       &             + cpice *(Tmlt1-Tf) + Lfresh*(1. _d 0-Tmlt1/Tf)       &             + cpIce *(Tmlt1-Tf) + Lfresh*(1. _d 0-Tmlt1/Tf)
170            qicen(2)= -cpice *Tf + Lfresh            qicen(2)= -cpIce *Tf + Lfresh
171          ENDIF          ENDIF
172          qicAv = rhoi*(qicen(1)+qicen(2))*0.5 _d 0          qicAv = rhoi*(qicen(1)+qicen(2))*0.5 _d 0
173          newIce = esurp*deltaTice/qicAv          newIce = esurp*deltaTice/qicAv
174    
175          IF (icFrac(i,j).EQ.0. _d 0) THEN          IF (icFrac(i,j).EQ.0. _d 0) THEN
176  c         IF (newIce.GE.himin*iceMaskmax) THEN  c         IF (newIce.GE.hIceMin*iceMaskMax) THEN
177  C- jmc: above is the original version, but below seems more logical:  C- jmc: above is the original version, but below seems more logical:
178            IF (newIce.GE.himin0*iceMaskmin) THEN            IF (newIce.GE.hThinIce*iceMaskMin) THEN
179  C-    if there is no ice in grid and enough ice to form:  C-    if there is no ice in grid and enough ice to form:
180              iceThick   = MAX(himin0,newIce/iceMaskmax)              iceThick   = MAX(hThinIce,newIce/iceMaskMax)
181              newIceFrac = MIN(newIce/himin0,iceMaskmax)              newIceFrac = MIN(newIce/hThinIce,iceMaskMax)
182              iceFrac = newIceFrac              iceFrac = newIceFrac
183              sst=Tf              sst=Tf
184            ENDIF            ENDIF
185          ELSE          ELSE
186  C-    if there is already some ice  C-    if there is already some ice
187              newIceFrac=MIN(newIce/iceThick,iceMaskmax-icFrac(i,j))              newIceFrac=MIN(newIce/iceThick,iceMaskMax-icFrac(i,j))
188              iceFrac = icFrac(i,j) + newIceFrac              iceFrac = icFrac(i,j) + newIceFrac
189  C-    spread snow out over ice  C-    spread snow out over ice
190              snowThick = snowThick*icFrac(i,j)/iceFrac              snowThick = snowThick*icFrac(i,j)/iceFrac
# Line 193  C-    spread snow out over ice Line 193  C-    spread snow out over ice
193  C-    oceanic fluxes:  C-    oceanic fluxes:
194          flx2oc(i,j)= iceThick*newIceFrac*qicAv/deltaTice          flx2oc(i,j)= iceThick*newIceFrac*qicAv/deltaTice
195          frw2oc(i,j)=-(rhoi*iceThick)*newIceFrac/deltaTice          frw2oc(i,j)=-(rhoi*iceThick)*newIceFrac/deltaTice
196          fsalt(i,j)= -(rhoi*iceThick*saltice)*newIceFrac/deltaTice          fsalt(i,j)= -(rhoi*iceThick*saltIce)*newIceFrac/deltaTice
197    
198  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
199  #ifdef ALLOW_DBUG_THSICE  #ifdef ALLOW_DBUG_THSICE

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

  ViewVC Help
Powered by ViewVC 1.1.22