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

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

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

revision 1.2 by jmc, Sun Apr 18 22:19:37 2004 UTC revision 1.3 by jmc, Fri May 7 21:33:34 2004 UTC
# Line 89  C     == Local Variables == Line 89  C     == Local Variables ==
89        INTEGER  k        INTEGER  k
90    
91        _RL  rnlyr         ! maximum number of ice layers (real value)        _RL  rnlyr         ! maximum number of ice layers (real value)
       _RL  fswocn        ! SW passed through ice to ocean (W m-2)  
92  C     evap           ::  evaporation over snow/ice [kg/m2/s] (>0 if evaporate)  C     evap           ::  evaporation over snow/ice [kg/m2/s] (>0 if evaporate)
93        _RL  evap        _RL  evap
94        _RL  etop          ! energy for top melting    (J m-2)        _RL  etop          ! energy for top melting    (J m-2)
# Line 162  C  mass of fresh water and salt initiall Line 161  C  mass of fresh water and salt initiall
161        mwater0 = rhos*hs + rhoi*hi        mwater0 = rhos*hs + rhoi*hi
162        msalt0  = rhoi*hi*saltice        msalt0  = rhoi*hi*saltice
163    
164        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH: evpAtm,frzmlt,Fbot=',        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH: evpAtm, frzmlt, Fbot =',
165       &     evpAtm,frzmlt,Fbot       &                                       evpAtm, frzmlt, Fbot
166    
167  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
168    
# Line 315  C Compute new total ice thickness. Line 314  C Compute new total ice thickness.
314        do k = 1, nlyr        do k = 1, nlyr
315           hi = hi + hnew(k)           hi = hi + hnew(k)
316        enddo        enddo
317        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH: top,bot: etop,ebot,hs,hi=',        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH:   etop, ebot, hi, hs =',
318       &    etop,ebot,hs,hi           &                                         etop, ebot, hi, hs    
319    
320  C If hi < himin, melt the ice.  C If hi < himin, melt the ice.
321        if ( hi.lt.himin .AND. (hi+hs).gt.0. _d 0 ) then        if ( hi.lt.himin .AND. (hi+hs).gt.0. _d 0 ) then
# Line 465  C Compute new total ice thickness. Line 464  C Compute new total ice thickness.
464           hi = hi + hnew(k)           hi = hi + hnew(k)
465        enddo        enddo
466    
467        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH: b-Winton: hnew,qice=',        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH: b-Winton: hnew, qice =',
468       &    hnew,qicen       &                                                 hnew, qicen
469    
470         hlyr = hi/rnlyr         hlyr = hi/rnlyr
471         CALL THSICE_RESHAPE_LAYERS(         CALL THSICE_RESHAPE_LAYERS(
472       U                            qicen,       U                            qicen,
473       I                            hlyr, hnew, myThid )       I                            hlyr, hnew, myThid )
474    
475        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH: compact,hi,qtot,hs=',        IF (dBug) WRITE(6,1020) 'ThSI_CALC_TH: compact,hi, qtot, hs =',
476       &                  compact,hi,(qicen(1)+qicen(2))*0.5, hs       &                  compact,hi,(qicen(1)+qicen(2))*0.5, hs
477    
478  200   continue  200   continue
# Line 483  C-  Compute surplus energy left over fro Line 482  C-  Compute surplus energy left over fro
482        if (hi.le.0. _d 0) compact=0. _d 0        if (hi.le.0. _d 0) compact=0. _d 0
483    
484  C.. heat fluxes left over for ocean  C.. heat fluxes left over for ocean
 c      qleft = fswocn  
485         qleft = qleft + (Fbot+(esurp+etop+ebot)/dt)         qleft = qleft + (Fbot+(esurp+etop+ebot)/dt)
486         IF(dBug) WRITE(6,1020)'ThSI_CALC_TH: fswOc,[esurp,etop+ebot]/dt='         IF(dBug) WRITE(6,1020)'ThSI_CALC_TH: [esurp,etop+ebot]/dt ='
487       &                        ,fswocn,esurp/dt,etop/dt,ebot/dt       &                        ,esurp/dt,etop/dt,ebot/dt
488    
489  C-- Evaporation left to the ocean :  C-- Evaporation left to the ocean :
490         fresh = fresh - evap         fresh = fresh - evap
# Line 506  c     fresh = (mwater0 - (rhos*(hs) + rh Line 504  c     fresh = (mwater0 - (rhos*(hs) + rh
504  c    &      + snow(i,j,bi,bj)*rhos - evpAtm  c    &      + snow(i,j,bi,bj)*rhos - evpAtm
505        fsalt = (msalt0 - rhoi*hi*saltice)/dt        fsalt = (msalt0 - rhoi*hi*saltice)/dt
506    
507        IF (dBug) WRITE(6,1020)'ThSI_CALC_TH: dH2O,Evap[kg],fresh,fsalt',        IF (dBug) WRITE(6,1020)'ThSI_CALC_TH:dH2O,Ev[kg],fresh,fsalt',
508       &   (mwater0-(rhos*hs+rhoi*hi))/dt,evap,fresh,fsalt       &   (mwater0-(rhos*hs+rhoi*hi))/dt,evap,fresh,fsalt
509        IF (dBug) WRITE(6,1020)'ThSI_CALC_TH: Qleft,Fbot,extend/dt=',        IF (dBug) WRITE(6,1020)'ThSI_CALC_TH: Qleft,Fbot,extend/dt =',
510       &            Qleft,Fbot,(etope+ebote)/dt       &            Qleft,Fbot,(etope+ebote)/dt
511    
512  C-- note: at this point, compact has not been changed (unless reset to zero)  C-- note: at this point, compact has not been changed (unless reset to zero)

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22