/[MITgcm]/MITgcm/pkg/seaice/seaice_growth.F
ViewVC logotype

Diff of /MITgcm/pkg/seaice/seaice_growth.F

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

revision 1.9 by mlosch, Thu Dec 21 10:50:46 2006 UTC revision 1.10 by mlosch, Tue Jan 9 13:33:49 2007 UTC
# Line 41  C     i,j,bi,bj - Loop counters Line 41  C     i,j,bi,bj - Loop counters
41  C     number of surface interface layer  C     number of surface interface layer
42        INTEGER kSurface        INTEGER kSurface
43  C     constants  C     constants
44        _RL TBC, salinity_ice, SDF, ICE_DENS, ICE2SNOW        _RL TBC, salinity_ice, SDF, ICE2WATR, ICE2SNOW
45        _RL QI, recip_QI, QS, recip_QS        _RL QI, recip_QI, QS, recip_QS
46  C     auxillary variables  C     auxillary variables
47        _RL availHeat, hEffOld, snowEnergy, snowAsIce        _RL availHeat, hEffOld, snowEnergy, snowAsIce
# Line 106  C     FREEZING TEMP. OF SEA WATER (deg C Line 106  C     FREEZING TEMP. OF SEA WATER (deg C
106  C     RATIO OF WATER DESITY TO SNOW DENSITY  C     RATIO OF WATER DESITY TO SNOW DENSITY
107        SDF          = 1000.0 _d 0/330.0 _d 0        SDF          = 1000.0 _d 0/330.0 _d 0
108  C     RATIO OF SEA ICE DESITY TO WATER DENSITY  C     RATIO OF SEA ICE DESITY TO WATER DENSITY
109        ICE_DENS     = 0.920 _d 0        ICE2WATR     = 0.920 _d 0
110    C     this makes more sense, but changes the results
111    C      ICE2WATR     = SEAICE_rhoIce * 1. _d -03
112  C     RATIO OF SEA ICE DENSITY to SNOW DENSITY  C     RATIO OF SEA ICE DENSITY to SNOW DENSITY
113        ICE2SNOW     = SDF * ICE_DENS        ICE2SNOW     = SDF * ICE2WATR
114  C     HEAT OF FUSION OF ICE (m^3/J)  C     HEAT OF FUSION OF ICE (m^3/J)
115        QI           = 302.0 _d +06        QI           = 302.0 _d +06
116        recip_QI     = 1.0 _d 0 / QI        recip_QI     = 1.0 _d 0 / QI
# Line 476  C     freezing, add precip as snow Line 478  C     freezing, add precip as snow
478       &            PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*SDF       &            PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*SDF
479            ELSE            ELSE
480  C     add precip as rain, water converted into equivalent m of  C     add precip as rain, water converted into equivalent m of
481  C     ice by 1/ICE_DENS.  C     ice by 1/ICE2WATR.
482  C     Do not get confused by the sign:  C     Do not get confused by the sign:
483  C     precip   > 0 for downward flux of fresh water  C     precip   > 0 for downward flux of fresh water
484  C     frWtrIce > 0 for more ice (corresponds to an upward "fresh water flux"),  C     frWtrIce > 0 for more ice (corresponds to an upward "fresh water flux"),
# Line 485  C     true, but just a trick; physically Line 487  C     true, but just a trick; physically
487  C     through the ice into the ocean)  C     through the ice into the ocean)
488             frWtrIce(I,J) = frWtrIce(I,J)             frWtrIce(I,J) = frWtrIce(I,J)
489       &            -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*       &            -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*
490       &            SEAICE_deltaTtherm/ICE_DENS       &            SEAICE_deltaTtherm/ICE2WATR
491            ENDIF            ENDIF
492    
493  C     Now melt snow if there is residual heat left in surface level  C     Now melt snow if there is residual heat left in surface level
# Line 493  C     Note that units of YNEG and frWtrI Line 495  C     Note that units of YNEG and frWtrI
495  cph( very sensitive bit here by JZ  cph( very sensitive bit here by JZ
496            IF( RESID_HEAT(I,J) .GT. ZERO .AND.            IF( RESID_HEAT(I,J) .GT. ZERO .AND.
497       &       HSNOW(I,J,bi,bj) .GT. ZERO ) THEN       &       HSNOW(I,J,bi,bj) .GT. ZERO ) THEN
498             GHEFF(I,J)       = MIN( HSNOW(I,J,bi,bj)/SDF/ICE_DENS,             GHEFF(I,J)       = MIN( HSNOW(I,J,bi,bj)/SDF/ICE2WATR,
499       &                             RESID_HEAT(I,J) )       &                             RESID_HEAT(I,J) )
500             YNEG(I,J,bi,bj)  = YNEG(I,J,bi,bj) +GHEFF(I,J)             YNEG(I,J,bi,bj)  = YNEG(I,J,bi,bj) +GHEFF(I,J)
501             HSNOW(I,J,bi,bj) = HSNOW(I,J,bi,bj)-GHEFF(I,J)*SDF*ICE_DENS             HSNOW(I,J,bi,bj) = HSNOW(I,J,bi,bj)-GHEFF(I,J)*SDF*ICE2WATR
502             frWtrIce(I,J)    = frWtrIce(I,J)   -GHEFF(I,J)             frWtrIce(I,J)    = frWtrIce(I,J)   -GHEFF(I,J)
503            ENDIF            ENDIF
504  cph)  cph)
# Line 506  C NOW GET FRESH WATER FLUX Line 508  C NOW GET FRESH WATER FLUX
508       &         ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) )       &         ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) )
509       &         * ( ONE - AREA(I,J,2,bi,bj) )       &         * ( ONE - AREA(I,J,2,bi,bj) )
510       &         - RUNOFF(I,J,bi,bj)       &         - RUNOFF(I,J,bi,bj)
511       &         + frWtrIce(I,J)*ICE_DENS/SEAICE_deltaTtherm       &         + frWtrIce(I,J)*ICE2WATR/SEAICE_deltaTtherm
512       &         )       &         )
513    
514  C NOW GET TOTAL QNET AND QSW  C NOW GET TOTAL QNET AND QSW
# Line 616  C     convert snow to ice if submerged Line 618  C     convert snow to ice if submerged
618       &              +HEFF(I,J,1,bi,bj)*SEAICE_rhoIce)/1000. _d 0       &              +HEFF(I,J,1,bi,bj)*SEAICE_rhoIce)/1000. _d 0
619             hFlood = hDraft - MIN(hDraft,HEFF(I,J,1,bi,bj))             hFlood = hDraft - MIN(hDraft,HEFF(I,J,1,bi,bj))
620             HEFF(I,J,1,bi,bj) = HEFF(I,J,1,bi,bj) + hFlood             HEFF(I,J,1,bi,bj) = HEFF(I,J,1,bi,bj) + hFlood
621             HSNOW(I,J,bi,bj)  = MAX(0. _d 0,HSNOW(I,J,bi,bj)-hFlood/SDF)             HSNOW(I,J,bi,bj)  = MAX(0. _d 0,
622         &          HSNOW(I,J,bi,bj)-hFlood*ICE2SNOW)
623            ENDDO            ENDDO
624           ENDDO           ENDDO
625          ENDIF          ENDIF

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22