*IF DEF,S40_1A                                                             SLBICE1A.2      
C ******************************COPYRIGHT******************************    GTS2F400.9073   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.9074   
C                                                                          GTS2F400.9075   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.9076   
C restrictions as set forth in the contract.                               GTS2F400.9077   
C                                                                          GTS2F400.9078   
C                Meteorological Office                                     GTS2F400.9079   
C                London Road                                               GTS2F400.9080   
C                BRACKNELL                                                 GTS2F400.9081   
C                Berkshire UK                                              GTS2F400.9082   
C                RG12 2SZ                                                  GTS2F400.9083   
C                                                                          GTS2F400.9084   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.9085   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.9086   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.9087   
C Modelling at the above address.                                          GTS2F400.9088   
C ******************************COPYRIGHT******************************    GTS2F400.9089   
C                                                                          GTS2F400.9090   
C*LL                                                                       SLBICE1A.3      
CLL   SUBROUTINE SLABICE                                                   SLBICE1A.4      
CLL   ------------------                                                   SLBICE1A.5      
CLL                                                                        SLBICE1A.6      
CLL   THIS ROUTINE IS FOR USE WITH THE 'SLAB' OCEAN MODEL ONLY.            SLBICE1A.7      
CLL   FOR COUPLED OCEAN-ATMOSPHERE RUNS THE ROUTINE ICEFLOE SHOULD         SLBICE1A.8      
CLL   BE USED. (OBVIOUSLY MUCH OF THE BASIC PHYSICS IS THE SAME.)          SLBICE1A.9      
CLL                                                                        SLBICE1A.10     
CLL   THERMODYNAMIC SEA-ICE MODEL, BASED ON THE ZERO-LAYER MODEL OF        SLBICE1A.11     
CLL   SEMTNER, A.J. (1976) : J.PHYS.OCEANOGR., 6, 379-389,                 SLBICE1A.12     
CLL   MODIFIED ALONG THE LINES SUGGESTED BY                                SLBICE1A.13     
CLL   GORDON, C., AND BOTTOMLEY, M. (1984) : DCTN 1.                       SLBICE1A.14     
CLL   INCLUDES A REPRESENTATION OF LEADS (WITHOUT DYNAMICS) DUE TO         SLBICE1A.15     
CLL   HIBLER, W.D. (1979) : J.PHYS.OCEANOGR., 9, 815-846.                  SLBICE1A.16     
CLL                                                                        SLBICE1A.17     
CLL   THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P40.                     SLBICE1A.18     
CLL   IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI            SLBICE1A.19     
CLL   FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS                  SJT1F304.399    
CLL   AND USE OF ENDDO.                                                    SJT1F304.400    
CLL   IT ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 3, VERSION 5.     SLBICE1A.21     
CLL                                                                        SLBICE1A.24     
CLL   ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS              SLBICE1A.25     
CLL   OTHERWISE STATED.                                                    SLBICE1A.26     
CLL                                                                        SLBICE1A.27     
CLL   CALLED BY: SLABCNTL                                                  SLBICE1A.28     
CLL                                                                        SLBICE1A.29     
CLL   WRITTEN BY D.L.ROBERTS (12/11/90)                                    SLBICE1A.30     
CLL   MODIFIED BY A.B.KEEN (02/02/93)                                      SLBICE1A.31     
CLL   MODIFIED BY C.A.SENIOR (22/03/93)                                    SJT1F304.401    
CLL   MODIFIED BY A.B.KEEN (05/08/93) (WHITE ICE CODE CORRECTED)           SJT1F304.402    
CLL   MODIFIED BY C.A.SENIOR (25/02/94)                                    SJT1F304.403    
CLL   MODIFIED BY J.F.THOMSON (26/05/94)                                   SJT1F304.404    
CLL   Version  Description of change                                       SJC1F400.81     
CLL     4.0    Increased small value used as minimum ice depth to          SJC1F400.82     
CLL            prevent rounding errors to match that used in the           SJC1F400.83     
CLL            coupled model and correct code for dynamic sea ice.         SJC1F400.84     
CLL            J.F.Crossley                                                SJC1F400.85     
CLL   VERSION NUMBER 1.1                                                   SLBICE1A.32     
CLL   REVIEWER: W.INGRAM (01/03/93)                                        SLBICE1A.33     
CLL   DOCUMENTATION: UM DOCUMENTATION PAPER 58; THE SLAB OCEAN MODEL       SLBICE1A.34     
CLL                                                                        SLBICE1A.35     
CLLEND---------------------------------------------------------------      SLBICE1A.36     
C*L                                                                        SLBICE1A.37     

      SUBROUTINE SLABICE(ICY,                                               2SJT1F304.405    
     +                   LDSFLUX,                                          SJT1F304.406    
     +                   NEWICE,                                           SJT1F304.407    
     +                   OIFLUX,                                           SJT1F304.408    
     +                   ATMSFLUX,                                         SJT1F304.409    
     +                   ADJHCONV,                                         SJT1F304.410    
     +                   HICE,                                             SJT1F304.411    
     +                   HSNOW,                                            SJT1F304.412    
     +                   SNOWRATE,                                         SJT1F304.413    
     +                   SUBLIMZ,                                          SJT1F304.414    
     +                   AICE,                                             SJT1F304.415    
     +                   CARYHEAT,                                         SJT1F304.416    
     +                   TOPMELTZ,                                         SJT1F304.417    
     +                   BOTMELTZ,                                         SJT1F304.418    
     +                   SLABTEMP,                                         SJT1F304.419    
     +                   L1,L2,DT,DZ1,H0,                                  SJT1F304.420    
     +                   L_THERM,L_IDYN,L_IDRIF,                           SJT1F304.421    
     +                   AICEMAX,                                          SJT1F304.422    
     +                   AICEMIN,                                          SJT1F304.423    
     +                   TCLIMC,                                           SJT1F304.424    
     +                   HCLIM,                                            SJT1F304.425    
     +                   CALIB)                                            SJT1F304.426    
C                                                                          SLBICE1A.44     
      INTEGER L1,        ! IN SIZE OF DATA VECTORS                         SLBICE1A.45     
     + L2                ! IN AMOUNT OF DATA TO BE PROCESSED               SLBICE1A.46     
C                                                                          SLBICE1A.47     
      REAL ATMSFLUX(L1)  ! IN NET HEAT FLUX OVER LEADS (W M-2)             SJT1F304.427    
     +                   !    (FLUX INTO SLAB IN NEW THERMODYNAMICS)       SJT1F304.428    
     +,ADJHCONV(L1)      ! IN ADJUSTED HEAT CONVERGENCE W M-2              SJT1F304.429    
     +                   ! INOUT IF CALIBRATION                            SJT1F304.430    
     +,LDSFLUX(L1)       ! IN NET HEAT FLUX OVER LEADS INTO ICE            SJT1F304.431    
     +                   !    (NEW THERMODYNAMICS)                         SJT1F304.432    
     +,OIFLUX(L1)        ! IN OCEAN TO ICE HEAT FLUX                       SJT1F304.433    
     +                   !    (NEW THERMODYNAMICS)                         SJT1F304.434    
     +,SNOWRATE(L1)      ! IN RATE OF SNOWFALL, IN KG M-2 S-1.             SJT1F304.435    
     +,SUBLIMZ(L1)       ! IN RATE OF SUBLIMATION, IN KG M-2 S-1.          SJT1F304.436    
     +,TOPMELTZ(L1)      ! IN RATE OF MELTING OF SNOW IN W M-2.            SJT1F304.437    
     +                   !    (THIS CAN BE TRANSFERRED TO ICE.)            SLBICE1A.53     
     +,BOTMELTZ(L1)      ! IN DIFFUSIVE HEAT FLUX THROUGH ICE. IF          SJT1F304.438    
     +                   !    THIS IS +VE, ICE MELTS AT THE BASE.          SLBICE1A.55     
     +                   !    IF IT IS -VE, ICE ACCRETES THERE.            SLBICE1A.56     
     +,CARYHEAT(L1)      ! IN ZERO EXCEPT AT POINTS WHERE ICE IS           SJT1F304.439    
     +                   !   ABOUT TO FORM, WHERE IT SHOULD BE THE         SLBICE1A.58     
     +                   !   NEGATIVE HEAT FLUX USED TO CREATE THE ICE.    SLBICE1A.59     
     +,TCLIMC(L1)        ! IN CLIMATOLOGICAL SEA SURFACE TEMPS K           SJT1F304.440    
     +,HCLIM(L1)         ! IN CLIMATOLOGICAL SEA-ICE EXTENTS M             SJT1F304.441    
      REAL DT            ! IN TIMESTEP FOR UPDATING THE SLAB OCEAN.        SJT1F304.442    
     +,DZ1               ! IN THICKNESS OF THE SLAB OCEAN IN METRES.       SJT1F304.443    
C                                                                          SJT1F304.444    
      REAL                                                                 SLBICE1A.63     
     + H0        ! IN MINIMUM LOCAL DEPTH OF NEWLY-FORMED ICE, IN M.       SJT1F304.445    
     +,AICEMAX   ! IN MAX ICE CONCENTRATION ALLOWED IN AN ICY GRID BOX.    SJT1F304.446    
     +,AICEMIN   ! IN MIN ICE CONCENTRATION ALLOWED IN AN ICY GRID BOX.    SJT1F304.447    
C                                                                          SLBICE1A.70     
      LOGICAL ICY(L1)    ! INOUT TRUE IF BOX CONTAINS ICE.                 SLBICE1A.71     
     +                   ! RESET FOR NEW ICE POINTS + MELTED POINTS        SJT1F304.448    
     +,NEWICE(L1)        ! IN TRUE IF ICE IS FORMING.                      SJT1F304.449    
     +,CALIB             ! IN TRUE IF CALIBRATION EXPT.                    SJT1F304.450    
     +,L_THERM           ! IN TRUE FOR NEW THERMODYNAMICS.                 SJT1F304.451    
     +,L_IDYN            ! IN TRUE FOR CAV FLUID ICE DYNAMICS.             SJT1F304.452    
     +,L_IDRIF           ! IN TRUE FOR ICE DEPTH ADVECTION.                SJT1F304.453    
C                                                                          SJT1F304.454    
      REAL AICE(L1)      ! INOUT ICE CONCENTRATION.                        SJT1F304.455    
     +,HICE(L1)          ! INOUT MEAN ICE DEPTH OVER WHOLE GRID BOX.       SJT1F304.456    
     +,HSNOW(L1)         ! INOUT SNOW DEPTH, NOT AVERAGED OVER GRID        SJT1F304.457    
     +                   !       BOX, JUST OVER THE ICE PORTION.           SLBICE1A.75     
     +,SLABTEMP(L1)      ! INOUT TEMPERATURE OF THE SLAB OCEAN.            SJT1F304.458    
C*                                                                         SLBICE1A.77     
C     Include COMDECKS                                                     SLBICE1A.78     
C                                                                          SLBICE1A.79     
*CALL C_DENSTY                                                             SLBICE1A.80     
*CALL C_SLAB                                                               SLBICE1A.81     
*CALL C_0_DG_C                                                             SLBICE1A.82     
*CALL C_LHEAT                                                              SLBICE1A.83     
C                                                                          SLBICE1A.84     
C     VARIABLES LOCAL TO THIS ROUTINE ARE NOW DEFINED.                     SLBICE1A.85     
C                                                                          SLBICE1A.86     
      INTEGER J           ! LOOP COUNTERS                                  SLBICE1A.87     
      REAL XSENERGY       ! TEMPORARY SCALAR VARIABLE FOR HOLDING          SJT1F304.459    
     +                    ! AMOUNTS OF SURPLUS ENERGY.                     SLBICE1A.89     
     +,TEST               ! ANOTHER TEMPORARY SCALAR VARIABLE.             SJT1F304.460    
     +,DELA               ! CHANGE IN AICE OVER ONE TIME STEP.             SJT1F304.461    
     +,DELH               ! CHANGE IN HICE OVER ONE TIME STEP.             SJT1F304.462    
     +,XSSUBLIM           ! REMAINING SUBLIMATION AFTER ALL                SJT1F304.463    
     +                    ! SNOW HAS BEEN MELTED                           SJT1F304.464    
     +,LEADFLUX           ! FLUX OVER LEADS TO CHANGE ICE DEPTH            SJT1F304.465    
     +,WORKC              ! TEMPORARY STORE                                SJT1F304.466    
     +,AICEREF            ! ORIGINAL VALUES OF AICE                        SJT1F304.467    
C                                                                          SLBICE1A.99     
C                                                                          SLBICE1A.100    
      INTEGER L2BY2    ! HALF THE NUMBER OF DATA POINTS                    SLBICE1A.101    
      INTEGER L2BY2P1  ! HALF THE NUMBER OF DATA POINTS, PLUS ONE          SLBICE1A.102    
      REAL H0R         ! THE RECIPROCAL OF H0.                             SJT1F304.468    
     +,TFREEZE   ! THE FREEZING POINT OF SEAWATER                          SJT1F304.469    
     +,DTBYRHOS  ! THE RATIO OF THE TIMESTEP TO THE DENSITY OF SNOW.       SJT1F304.470    
     +,DENRATIO  ! THE RATIO OF THE DENSITY OF ICE TO THAT OF WATER.       SJT1F304.471    
     +,DENRAT2   ! THE RATIO OF THE DENSITY OF SNOW TO THAT OF WATER.      SJT1F304.472    
     +,DENRAT3   ! THE RATIO OF THE DENSITY OF SNOW TO THAT OF ICE.        SJT1F304.473    
     +,DENRATM1  ! DENRATIO MINUS ONE.                                     SJT1F304.474    
C                                                                          SLBICE1A.112    
      REAL QI    ! THE VOLUMETRIC HEAT OF FUSION OF ICE, IN J/M**3.        SJT1F304.475    
     +,QS        ! THE VOLUMETRIC HEAT OF FUSION OF SNOW, IN J/M**3.       SJT1F304.476    
     +,QIR       ! THE RECIPROCAL OF QI.                                   SJT1F304.477    
     +,QSR       ! THE RECIPROCAL OF QS.                                   SJT1F304.478    
     +,QIRDT     ! THE RATIO OF THE TIMESTEP TO THE VOLUMETRIC HEAT        SJT1F304.479    
     +           !   OF FUSION OF ICE.                                     SLBICE1A.118    
     +,QIBYDT    ! THE RATIO OF THE VOLUMETRIC HEAT OF FUSION OF ICE       SJT1F304.480    
     +           !   TO THE TIMESTEP.                                      SJT1F304.481    
     +,DTTOFLUX   ! CONVERSION FACTOR FOR K TO WM-2                        SJT1F304.482    
     +,FLUXTODT   ! CONVERSION FACTOR FOR WM-2 TO K                        SJT1F304.483    
     +,HEATCON    ! TEMPORARY STORE FOR HEAT CONVERGENCE                   SJT1F304.484    
     +,ONEEM4     ! SMALL +VE VALUE TO ELIMINATE ROUNDING PROBLEMS         SJC1F400.86     
C                                                                          SLBICE1A.119    
C     SET VARIOUS CONSTANTS,CONVERTING TO S.I. UNITS WHERE NECESSARY.      SLBICE1A.120    
C                                                                          SLBICE1A.121    
      PARAMETER ( TFREEZE  = TFS - ZERODEGC)                               SJT1F304.486    
      PARAMETER ( DENRATIO = RHOICE / RHOSEA)                              SJT1F304.487    
      PARAMETER ( DENRAT2  = RHOSNOW / RHOSEA)                             SJT1F304.488    
      PARAMETER ( DENRAT3  = RHOSNOW / RHOICE)                             SJT1F304.489    
      PARAMETER ( DENRATM1 = DENRATIO - 1.0)                               SJT1F304.490    
      PARAMETER      ( QI  = LF * RHOICE)                                  SJT1F304.491    
      PARAMETER      ( QS  = LF * RHOSNOW)                                 SJT1F304.492    
      PARAMETER      ( QIR = 1.0 / QI)                                     SJT1F304.493    
      PARAMETER      ( QSR = 1.0 / QS)                                     SJT1F304.494    
      PARAMETER   ( oneem4 = 1.0E-4 )                                      SJC1F400.87     
C                                                                          SLBICE1A.131    
      L2BY2    = L2 / 2                                                    SJT1F304.496    
      L2BY2P1  = L2BY2 + 1                                                 SJT1F304.497    
      H0R      = 1.0 / H0                                                  SJT1F304.498    
      QIRDT    = QIR * DT                                                  SJT1F304.499    
      QIBYDT   = QI / DT                                                   SJT1F304.500    
      DTTOFLUX = RHOCP * DZ1 / DT                                          SJT1F304.501    
      FLUXTODT = 1.0 / DTTOFLUX                                            SJT1F304.502    
      DTBYRHOS = DT / RHOSNOW                                              SJT1F304.503    
C                                                                          SLBICE1A.139    
C                                                                          SLBICE1A.141    
      DO J = 1,L2     ! Loop over all points                               SJT1F304.504    
C                                                                          SLBICE1A.147    
C     TRAP AREAL FRACTIONS GREATER THAN THE SPECIFIED MAXIMUM              SJT1F304.505    
C     THIS IS DONE NOW RATHER THAN IN TRANSA2S AS NORTHERN AND             SJT1F304.506    
C     SOUTHERN HEMISPHERE MAX ARE REQUIRED SEPERATELY                      SJT1F304.507    
C                                                                          SLBICE1A.153    
        IF ( AICE(J) .GT. AICEMAX ) AICE(J) = AICEMAX                      SJT1F304.508    
C                                                                          SLBICE1A.155    
C     ZERO SOME VARIABLES                                                  SJT1F304.509    
C                                                                          SLBICE1A.158    
        DELH = 0.0                                                         SLBICE1A.160    
        DELA = 0.0                                                         SLBICE1A.161    
        WORKC = 0.0                                                        SLBICE1A.162    
C                                                                          SLBICE1A.163    
C       NOTE THAT ATMSFLUX,TOPMELT,BOTMELT AND SUBLIMZ ARE GRID_BOX        SJT1F304.510    
C       MEAN VALUES AND MUST BE ADJUSTED APPROPRIATELY                     SJT1F304.511    
C                                                                          SLBICE1A.176    
C       ATMSFLUX IS THE TOTAL DOWNWARD HEAT FLUX FROM ATMOSPHERE OVER      SJT1F304.512    
C       THE LEADS AND IS DIVIDED BY THE LEAD FRACTION TO                   SJT1F304.513    
C       CONCENTRATE THE FLUX OVER THE LEAD AREA                            SJT1F304.514    
C                                                                          SLBICE1A.189    
C       TOPMELT,BOTMELT AND SUBLIMATION ARE DIVIDED BY ICE FRACTION        SJT1F304.515    
C       TO CONCENTRATE FLUX OVER ICE AREA                                  SJT1F304.516    
C                                                                          SLBICE1A.206    
        IF ( ICY(J) ) THEN                                                 SLBICE1A.207    
C                                                                          SLBICE1A.208    
C     UPDATE THE SNOW DEPTH. (NOTE THAT ANY NEGATIVE SUBLIMATION,          SLBICE1A.209    
C     I.E. FROST, GETS USED HERE TO INCREASE SNOW DEPTH. IT DOES NOT       SLBICE1A.210    
C     PENETRATE TO THE ICE SECTION OF THE CODE.)                           SLBICE1A.211    
C                                                                          SLBICE1A.212    
          HSNOW(J) = HSNOW(J) + DTBYRHOS *                                 SJT1F304.517    
     +               ( SNOWRATE(J) - ( SUBLIMZ(J) / AICE(J) ) )            SJT1F304.518    
          IF ( HSNOW(J) .GE. 0.0 ) THEN                                    SLBICE1A.214    
            XSSUBLIM = 0.0                                                 SJT1F304.519    
          ELSE                                                             SLBICE1A.216    
            XSSUBLIM = - ( RHOSNOW / RHOICE ) * HSNOW(J)                   SJT1F304.520    
            HSNOW(J) = 0.0                                                 SLBICE1A.218    
          ENDIF                                                            SLBICE1A.219    
C                                                                          SLBICE1A.220    
C     XSSUBLIM NOW CONTAINS ANY SUBLIMATION UNUSED DUE TO LACK OF SNOW.    SJT1F304.521    
C     CONVERTED TO M OF ICE                                                SJT1F304.522    
C                                                                          SLBICE1A.222    
          HSNOW(J) = HSNOW(J) - DT * QSR * TOPMELTZ(J) / AICE(J)           SJT1F304.523    
C                                                                          SLBICE1A.224    
C     IF SNOW GOES -VE,USE EXCESS HEAT TO MELT ICE INSTEAD.                SLBICE1A.225    
C                                                                          SLBICE1A.226    
          IF ( HSNOW(J) .LT. 0.0 ) THEN                                    SLBICE1A.227    
            XSENERGY = - ( QS / QI ) * HSNOW(J)                            SJT1F304.524    
            HSNOW(J) = 0.0                                                 SLBICE1A.229    
          ELSE                                                             SLBICE1A.230    
            XSENERGY = 0.0                                                 SLBICE1A.231    
          ENDIF                                                            SLBICE1A.232    
C                                                                          SLBICE1A.233    
C     CALCULATE CHANGE IN ICE DEPTH OVER THE ICE FRACTION.                 SLBICE1A.234    
C                                                                          SLBICE1A.235    
          DELH = - XSENERGY - XSSUBLIM                                     SJT1F304.525    
     +           - QIRDT * ( BOTMELTZ(J) / AICE(J) )                       SJT1F304.526    
          IF (l_therm) delh = delh - qirdt*(oiflux(j)+caryheat(j))         SJT1F304.527    
C                                                                          SLBICE1A.237    
C     FORM WEIGHTED MEAN OF DEPTH CHANGES OVER ICE AND OVER LEADS.         SLBICE1A.238    
C                                                                          SLBICE1A.239    
          LEADFLUX = DT*( LF * SNOWRATE(J) -                               SJT1F304.528    
     +            ( ATMSFLUX(J) / (1.0 - AICE(J) ) ) )                     SJT1F304.529    
          if (l_therm) leadflux = dt * ( lf * snowrate(j)                  SJC1F400.88     
     &      - ( ldsflux(j) / (1.0 - aice(j) ) ) )                          SJC1F400.89     
     &      - dt * ( oiflux(j) + caryheat(j) )                             SJC1F400.90     
          DELH = QIR * LEADFLUX * ( 1.0 - AICE(J) )                        SJT1F304.531    
     +           + DELH * AICE(J)                                          SJT1F304.532    
C                                                                          SJT1F304.533    
C     IF CALIBRATION EXPERIMENT, CALCULATE THE HEAT CONVERGENCE            SJT1F304.534    
C     NEEDED TO FORCE THE ICE DEPTH TO BE THE CLIMATOLOGICAL VALUE         SJT1F304.535    
C     (only done here if no ice dynamics)                                  SJT1F304.536    
          if (.not.(l_idyn.or.l_idrif)) then                               SJT1F304.537    
            IF ( CALIB ) THEN                                              SJT1F304.538    
              ADJHCONV(J) = QIBYDT * ( HICE(J) + DELH - HCLIM(J) )         SJT1F304.539    
            END IF                                                         SJT1F304.540    
C                                                                          SLBICE1A.242    
C     SUBTRACT HEAT CONVERGENCE TERM, WHICH OPERATES OVER THE ENTIRE       SLBICE1A.243    
C     GRID BOX.                                                            SLBICE1A.244    
C                                                                          SLBICE1A.245    
C     IN CALIBRATION EXPERIMENT THIS GIVES DELH = HCLIM - HICE             SJT1F304.541    
C                                                                          SLBICE1A.247    
            DELH = DELH - QIRDT * ADJHCONV(J)                              SJT1F304.542    
          ENDIF                                                            SJT1F304.543    
C                                                                          SLBICE1A.250    
C     TEST WHETHER ALL ICE IS GOING TO MELT.                               SJT1F304.544    
C                                                                          SJT1F304.545    
          IF ( (HICE(J) + DELH) .LE. oneem4 ) THEN                         SJC1F400.91     
C                                                                          SLBICE1A.252    
C     NOW SEE WHETHER THERE IS SUFFICIENT SNOW TO MAINTAIN ICE COVER       SLBICE1A.253    
C     BY CONVERSION OF SNOW INTO ICE. IF SO, ALL THE SNOW IS CONVERTED.    SLBICE1A.254    
C     IT COULD BE ARGUED THAT ONLY ENOUGH SNOW TO MAINTAIN ICE COVER       SJT1F304.547    
C     SHOULD BE CONVERTED. HOWEVER, THE WHITE ICE CODE WOULD               SJT1F304.548    
C     THEN CONVERT ALL BUT A THIN DUSTING OF SNOW TO ICE IN ANY CASE.      SLBICE1A.257    
C                                                                          SLBICE1A.258    
            TEST = HICE(J) + DELH                                          SJT1F304.549    
     +                     + DENRAT3 * AICE(J) * HSNOW(J)                  SJT1F304.550    
C                                                                          SJT1F304.551    
            IF ( TEST .GT. oneem4 ) THEN                                   SJC1F400.92     
C                                                                          SJT1F304.553    
              DELH = DELH + DENRAT3 * AICE(J) * HSNOW(J)                   SJT1F304.554    
              HSNOW(J) = 0.0                                               SLBICE1A.263    
C                                                                          SJT1F304.555    
            ELSE                                                           SLBICE1A.264    
C                                                                          SJT1F304.556    
              ICY(J)      = .FALSE.                                        SJT1F304.557    
              HICE(J)     = 0.0                                            SJT1F304.558    
              AICE(J)     = 0.0                                            SJT1F304.559    
              HSNOW(J)    = 0.0                                            SJT1F304.560    
              SLABTEMP(J) = SLABTEMP(J) - (TEST*QI)/(RHOCP*DZ1)            SJT1F304.561    
C                                                                          SJT1F304.562    
C      IN CALIBRATION MODE CATER FOR THE CASE WHERE THE MODEL HAS          SJT1F304.563    
C      SIMULATED ICE BUT THE CLIMATOLOGY INDICATES OPEN WATER              SJT1F304.564    
C      THIS OCCURS IN PRACTICE WHERE THE CLIMATOLOGY HAS JUST              SJT1F304.565    
C      CHANGED FROM ICE TO WATER BUT THE MODEL KEEPS ICE                   SJT1F304.566    
C      Only if no ice dynamics included.                                   SJT1F304.567    
C                                                                          SJT1F304.568    
              IF ( CALIB ) THEN                                            SJC1F400.93     
                HEATCON     = ( TCLIMC(J) - SLABTEMP(J) ) * DTTOFLUX       SJC1F400.94     
                ADJHCONV(J) = ADJHCONV(J) + HEATCON                        SJC1F400.95     
                SLABTEMP(J) = SLABTEMP(J) + HEATCON * FLUXTODT             SJC1F400.96     
              END IF                                                       SJT1F304.575    
            ENDIF                                                          SLBICE1A.270    
C                                                                          SLBICE1A.271    
C     IF ICE WILL REMAIN,CALCULATE THE CHANGE IN THE AREAL FRACTION.       SLBICE1A.272    
C                                                                          SLBICE1A.273    
          ELSE  ! For points where HICE > 0.0                              SJT1F304.576    
            IF (LEADFLUX .GT. 0.0) THEN                                    SJT1F304.577    
              DELA = ( 1.0 - AICE(J) )* H0R * QIR * LEADFLUX               SJT1F304.578    
            ENDIF                                                          SLBICE1A.277    
            IF (DELH .LT. 0.0) THEN                                        SLBICE1A.278    
              DELA = DELA + ( AICE(J) * DELH ) / ( 2.0 * HICE(J) )         SJT1F304.579    
            ENDIF                                                          SLBICE1A.280    
C                                                                          SJT1F304.580    
C         END OF BLOCK CHECKING IF ALL ICE MELTS                           SJT1F304.581    
C                                                                          SJT1F304.582    
          ENDIF                                                            SLBICE1A.281    
C                                                                          SJT1F304.583    
C       END OF IF(ICY) BLOCK                                               SJT1F304.584    
C                                                                          SJT1F304.585    
        ENDIF                                                              SLBICE1A.282    
C                                                                          SJT1F304.586    
C                                                                          SJT1F304.587    
C     SPECIAL CODE FOR GRID BOXES WHERE ICE FORMATION IS JUST STARTING.    SJT1F304.588    
C                                                                          SJT1F304.589    
        IF ( NEWICE(J) ) THEN                                              SJT1F304.590    
          DELH = -QIRDT * CARYHEAT(J)                                      SJT1F304.591    
          DELA = H0R * DELH                                                SJT1F304.592    
        ENDIF                                                              SJT1F304.593    
C                                                                          SJT1F304.594    
C     END OF SPECIAL CODE FOR NEWLY-ICED GRID BOXES.                       SJT1F304.595    
C                                                                          SLBICE1A.283    
C     RESET ICY TO INCLUDE NEWLY-ICED POINTS. THEN UPDATE ICE DEPTHS       SLBICE1A.284    
C     AND AREAL FRACTIONS. (NEWLY-MELTED POINTS WON'T BE UPDATED.)         SLBICE1A.285    
C                                                                          SLBICE1A.286    
C     IN CALIBRATION EXPERIMENT HICE = HICE + ( HCLIM - HICE)              SJT1F304.596    
C                                    = HCLIM                               SJT1F304.597    
C                                                                          SJT1F304.598    
        ICY(J) = ICY(J) .OR. ( NEWICE(J) )                                 SJT1F304.599    
C                                                                          SJT1F304.600    
        IF ( ICY(J) ) THEN                                                 SLBICE1A.288    
C                                                                          SJT1F304.601    
C     STORE THE INITIAL AREAL FRACTIONS FOR USE IN UPDATING                SJT1F304.602    
C     SNOW DEPTHS.                                                         SJT1F304.603    
C                                                                          SJT1F304.604    
        AICEREF = AICE(J)                                                  SJT1F304.605    
C                                                                          SJT1F304.606    
          HICE(J) = HICE(J) + DELH                                         SLBICE1A.289    
          AICE(J) = AICE(J) + DELA                                         SLBICE1A.290    
C                                                                          SLBICE1A.292    
C     TRAP AREAL FRACTIONS GREATER THAN THE SPECIFIED MAXIMUM              SJT1F304.607    
C     OR LESS THAN THE SPECIFIED MINIMUM.                                  SLBICE1A.296    
C                                                                          SLBICE1A.297    
          IF ( AICE(J) .GT. AICEMAX ) AICE(J)=AICEMAX                      SJT1F304.608    
C                                                                          SLBICE1A.301    
          IF ( AICE(J) .LT. AICEMIN ) AICE(J)=AICEMIN                      SJT1F304.609    
C                                                                          SLBICE1A.309    
C     REDISTRIBUTE SNOW OVER THE ALTERED ICE AREA,USING THE INITIAL        SLBICE1A.310    
C     AREAL FRACTIONS HELD IN AICEREF.                                     SLBICE1A.311    
C                                                                          SLBICE1A.312    
          HSNOW(J) = ( HSNOW(J) * AICEREF ) / AICE(J)                      SJT1F304.610    
C                                                                          SLBICE1A.316    
C     THE NEXT SECTION OF CODE DEALS WITH THE FORMATION OF 'WHITE'         SLBICE1A.317    
C     ICE, WHICH OCCURS WHEN SNOW ACCUMULATES TO SUCH AN EXTENT THAT       SLBICE1A.318    
C     THE SNOW/ICE INTERFACE SINKS BELOW THE WATERLINE. IT BEGINS BY       SLBICE1A.319    
C     FINDING THE HEIGHT OF THE WATERLINE ABOVE THE TOP OF THE ICE.        SLBICE1A.320    
C                                                                          SLBICE1A.321    
          WORKC = ( ( HICE(J) / AICE(J) ) * DENRATM1                       SJT1F304.611    
     +                        + DENRAT2 * HSNOW(J) ) / DENRAT3             SJT1F304.612    
C                                                                          SLBICE1A.325    
C     IF THIS HEIGHT IS POSITIVE, IT INDICATES THE DEPTH OF SNOW           SLBICE1A.326    
C     THAT WILL BE CONVERTED TO ICE.                                       SLBICE1A.327    
C                                                                          SLBICE1A.328    
          IF ( WORKC .GT. 0.0 ) THEN                                       SLBICE1A.329    
            HSNOW(J) = HSNOW(J) - WORKC                                    SLBICE1A.330    
            WORKC    = WORKC * AICE(J)                                     SJT1F304.613    
            HICE(J)  = HICE(J) + DENRAT3 * WORKC                           SJT1F304.614    
          ENDIF                                                            SLBICE1A.333    
        ENDIF                                                              SLBICE1A.334    
C                                                                          SLBICE1A.335    
      END DO    ! End of loop over all points                              SJT1F304.615    
C                                                                          SLBICE1A.337    
      RETURN                                                               SLBICE1A.338    
      END                                                                  SLBICE1A.339    
*ENDIF                                                                     SLBICE1A.340