*IF DEF,S40_1A                                                             SLBCTL1A.2      
C ******************************COPYRIGHT******************************    GTS2F400.8965   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.8966   
C                                                                          GTS2F400.8967   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.8968   
C restrictions as set forth in the contract.                               GTS2F400.8969   
C                                                                          GTS2F400.8970   
C                Meteorological Office                                     GTS2F400.8971   
C                London Road                                               GTS2F400.8972   
C                BRACKNELL                                                 GTS2F400.8973   
C                Berkshire UK                                              GTS2F400.8974   
C                RG12 2SZ                                                  GTS2F400.8975   
C                                                                          GTS2F400.8976   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.8977   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.8978   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.8979   
C Modelling at the above address.                                          GTS2F400.8980   
C ******************************COPYRIGHT******************************    GTS2F400.8981   
C                                                                          GTS2F400.8982   
CLL                                                                        SJT1F304.1      
CLL   SUBROUTINE SLABCNTL                                                  SLBCTL1A.4      
CLL   -------------------                                                  SLBCTL1A.5      
CLL                                                                        SLBCTL1A.6      
CLL   THIS ROUTINE IS FOR USE WITH THE 'SLAB' OCEAN MODEL ONLY.            SLBCTL1A.7      
CLL                                                                        SLBCTL1A.8      
CLL   THE ROUTINE CALLS TRANSA2S TO CONVERT THE ATMOSPHERE                 SLBCTL1A.9      
CLL   VARIABLES TO THE FORMAT REQUIRED FOR THE SLAB MODEL,                 SLBCTL1A.10     
CLL   SLAB TO UPDATE THE SEA SURFACE TEMPERATURE, SLABICE TO               SLBCTL1A.13     
CLL   UPDATE THE ICE CONCENTRATION AND DEPTH, AND TRANSS2A TO              SLBCTL1A.14     
CLL   CONVERT THE SLAB VARIABLES BACK TO THE ATMOSPHERE FORMAT.            SLBCTL1A.15     
CLL                                                                        SLBCTL1A.16     
CLL   THIS ROUTINE FORMS PART OF SYSTEM COMPONENT P40.                     SLBCTL1A.17     
CLL   IT CAN BE COMPILED BY CFT77, BUT DOES NOT CONFORM TO ANSI            SLBCTL1A.18     
CLL   FORTRAN77 STANDARDS, BECAUSE OF THE INLINE COMMENTS.                 SLBCTL1A.19     
CLL   DYNAMIC ALLOCATION AND THE USE OF ENDDO.                             SJT1F304.2      
CLL   IT ADHERES TO THE STANDARDS OF DOCUMENTATION PAPER 3, VERSION 5.     SLBCTL1A.20     
CLL                                                                        SLBCTL1A.21     
CLL   ALL QUANTITIES IN THIS ROUTINE ARE IN S.I. UNITS UNLESS              SLBCTL1A.22     
CLL   OTHERWISE STATED.                                                    SLBCTL1A.23     
CLL                                                                        SLBCTL1A.24     
CLL   CALLED BY: SLABSTEP                                                  SLBCTL1A.25     
CLL   WRITTEN BY C.A.SENIOR (15/1/91)                                      SLBCTL1A.26     
CLL   MODIFIED BY A.B.KEEN (02/02/93)                                      SLBCTL1A.27     
CLL   MODIFIED BY C.A.SENIOR (22/03/93)                                    SJT1F304.3      
CLL   MODIFIED BY C.A.SENIOR (30/03/93)                                    SJT1F304.4      
CLL   MODIFIED BY A.B.KEEN (22/04/93)                                      SJT1F304.5      
CLL   MODIFIED BY A.B.KEEN (27/04/93)                                      SJT1F304.6      
CLL   MODIFIED BY C.A.SENIOR (08/07/93)                                    SJT1F304.7      
CLL   MODIFIED BY C.A.SENIOR (24/02/94)                                    SJT1F304.8      
CLL   Modified at version 3.4 by J.Thomson, C.Senior, R.E.Carnell          SJT1F304.9      
CLL   Changes to satisfy slab code review.                                 SJT1F304.10     
CLL   Addition of ice dynamics and alternative version of thermodyn.       SJT1F304.11     
CLL   Slabtemp advection added.                                            SJT1F304.12     
CLL   Version    Description of change                                     SJC1F400.1      
CLL     4.0      Vertical SST advection added (R.Carnell)                  SJC1F400.2      
CLL              Corrections made to ice model and new diagnostics         SJC1F400.3      
CLL              added. J.F.Crossley                                       SJC1F400.4      
!LL  4.4   04/08/97  Add missing ARGOINDX to various argument lists.       SDR1F404.13     
!LL                  D. Robinson.                                          SDR1F404.14     
!LL                                                                        SDR1F404.15     
CLL   VERSION NUMBER 1.1                                                   SLBCTL1A.28     
CLL   REVIEWER: W.INGRAM (02/03/93)                                        SLBCTL1A.29     
CLL   DOCUMENTATION: UM DOCUMENTATION PAPER 58; THE SLAB OCEAN MODEL       SLBCTL1A.30     
CLL                                                                        SLBCTL1A.31     
CLLEND---------------------------------------------------------------      SLBCTL1A.32     
C*L                                                                        SLBCTL1A.33     

      SUBROUTINE SLABCNTL(                                                  3,9SDR1F404.16     
*CALL ARGOINDX                                                             SDR1F404.17     
     & L1,U_FIELD,ICOLS,JROWS,LAND,DT,DZ1,                                 SDR1F404.18     
     + SOLARIN,BLUEIN,EVAP,LONGWAVE,SENSIBLE,HEATCONV,                     SJT1F304.14     
     + SNOWLS,SNOWCONV,TSTARATM,SLABTEMP,HICEATM,HSNOWATM,                 SJT1F304.15     
     + AICEATM,SUBLIMA,TOPMELTZ,BOTMELTZ,                                  SJT1F304.16     
     + UICE,VICE,                                                          SJT1F304.17     
     + UCURRENT,VCURRENT,WSX,WSY,                                          SJT1F304.18     
     + H0,AMXSOUTH,AMXNORTH,AICEMIN,HICEMIN,                               SJT1F304.19     
     + TCLIM,HCLIM,CALIB,HICESLB,                                          SJT1F304.20     
     + AINC_DYN,HINC_DYN,HSINC_DYN,HINC_DIFF,                              SJT1F304.21     
     + HINC_ADV,HSINC_ADV,AREAS,                                           SJC1F400.5      
     + AINC_THERM,HINC_THERM,HSINC_THERM,OIFLUX,                           SJT1F304.22     
     + PRESSURE,PMAX,LEADFLUX,ATMSFLUX,DTADV,DTDIFF,CARYHEAT,              SJC1F400.6      
     + SNOWSLAB,SNOWLEAD,DTICE,                                            SJC1F400.7      
     + EDDYDIFF,epsilon,Ah,HCLIMIT,Ah_ice,                                 SJT1F304.24     
     + Pstar_ice_strength,kappa_ice_strength,cdw,tol_icav,tol_ifree,       SJT1F304.25     
     + weight_ifree,nmax_icav,nmax_ifree,                                  SJT1F304.26     
     + L_THERM,L_IDYN,L_IDRIF,LGLOBAL,L_SLBADV,                            SJT1F304.27     
     + COS_P_LATITUDE,COS_U_LATITUDE,SEC_P_LATITUDE,                       SJT1F304.28     
     + SIN_U_LATITUDE,CORIOLIS,                                            SJT1F304.29     
     + ADJHCONV,wtsfc,wtbase,                                              SJC1F400.8      
     + DELTA_LONG,DELTA_LAT,BASE_LAT)                                      SJT1F304.31     
C                                                                          SLBCTL1A.39     
*CALL TYPOINDX                                                             SDR1F404.19     
C                                                                          SLBCTL1A.40     
      INTEGER L1,           ! IN SIZE OF DATA VECTORS (P GRID)             SJT1F304.32     
     + U_FIELD,             ! IN SIZE OF U FIELDS                          SJT1F304.33     
     + ICOLS,               ! IN NUMBER OF POINTS IN A ROW                 SLBCTL1A.44     
     + JROWS                ! IN NUMBER OF POINTS IN A COLUMN              SLBCTL1A.45     
C                                                                          SLBCTL1A.46     
      LOGICAL LAND(L1)      ! IN ATMOSPHERIC MODEL LAND-SEA MASK           SJT1F304.34     
     +                      !    FALSE AT OCEAN POINTS                     SLBCTL1A.48     
     +,CALIB                ! IN TRUE IF SLAB CALIBRATION EXPT             SJT1F304.35     
     +,LGLOBAL              ! IN TRUE if global model (hence cyclic)       SJT1F304.36     
     +,L_THERM              ! IN TRUE if coupled model ice thermo          SJT1F304.37     
     +,L_IDYN               ! IN TRUE if cav fluid ice dynamics            SJT1F304.38     
     +,L_IDRIF              ! IN TRUE if ice depth advection               SJT1F304.39     
     +,L_SLBADV             ! IN TRUE if slabtemp advection                SJT1F304.40     
C                                                                          SLBCTL1A.49     
      REAL DT            ! IN TIMESTEP FOR UPDATING THE SLAB OCEAN IN S    SJT1F304.41     
     +,DZ1               ! IN THICKNESS OF THE SLAB OCEAN IN METRES.       SJT1F304.42     
     +,DELTA_LONG        ! IN EW grid spacing (degrees)                    SJT1F304.43     
     +,DELTA_LAT         ! IN NS grid spacing (degrees)                    SJT1F304.44     
     +,BASE_LAT          ! IN latitude of first row (degrees)              SJT1F304.45     
     +,AH                ! IN Diffusion Coefficent for slab temperature    SJT1F304.46     
      REAL AH_ICE        ! IN Diffusion coeff. for ice depth.              SJT1F304.47     
     &,epsilon           ! IN Minimum depth of gbm ice (metres)            SJT1F304.48     
     &,cdw               ! IN quadratic water stress coefficient           SJT1F304.49     
     &,Pstar_ice_strength! IN Parameter in ice strength calculation        SJT1F304.50     
     &,kappa_ice_strength! IN Parameter in ice srength calculation         SJT1F304.51     
     &,Weight_ifree      ! IN Weighting for free drift relaxation.         SJT1F304.52     
C                                                                          SLBCTL1A.52     
      REAL                                                                 SLBCTL1A.53     
     + SOLARIN(L1)   ! IN NET DOWNWARD SHORTWAVE FLUX FROM THE             SJT1F304.53     
     +               !    ATMOSPHERE (ALL FREQUENCIES).                    SLBCTL1A.55     
     +,BLUEIN(L1)    ! IN NET DOWNWARD SHORTWAVE FLUX FROM THE             SJT1F304.54     
     +               !    ATMOSPHERE (BAND 1, SEA POINTS)                  SJT1F304.55     
     +,EVAP(L1)      ! IN SURFACE EVAPORATION FROM THE WATER               SJT1F304.56     
     +               !    FRACTION OF ALL OCEAN POINTS. AT SEA-ICE         SLBCTL1A.57     
     +               !    POINTS, THIS IS WEIGHTED BY THE                  SLBCTL1A.58     
     +               !    FRACTIONAL LEAD AREA. (KG M-2 S-1)               SJT1F304.57     
     +,LONGWAVE(L1)  ! IN NET DOWNWARD LONGWAVE HEAT FLUX.                 SJT1F304.58     
     +,SENSIBLE(L1)  ! IN SENSIBLE HEAT FLUX (+VE UPWARD) FOR              SJT1F304.59     
     +               !    THE WATER FRACTION OF ALL OCEAN POINTS.          SLBCTL1A.62     
     +               !    AREA-WEIGHTED AT SEA-ICE POINTS.                 SLBCTL1A.63     
     +,HEATCONV(L1)  ! IN HEAT CONVERGENCE RATE, IN W M-2.                 SJT1F304.60     
     +,SNOWLS(L1)    ! IN LARGE-SCALE SNOWFALL RATE (KG M-2 S-1)           SJT1F304.61     
     +,SNOWCONV(L1)  ! IN CONVECTIVE SNOWFALL RATE (KG M-2 S-1)            SJT1F304.62     
     +,TSTARATM(L1)  ! INOUT SEA SURFACE TEMP FROM ATMOS MODEL (K)         SJT1F304.63     
     +,SLABTEMP(L1)  ! INOUT TEMPERATURE OF THE SLAB OCEAN (C)             SJT1F304.64     
     +,HICEATM(L1)   ! INOUT EQUIVALENT ICE DEPTH FROM ATMOS MODEL (M)     SJT1F304.65     
     +,HSNOWATM(L1)  ! INOUT SNOW DEPTH FROM ATMOS MODEL(KG M-2)           SJT1F304.66     
     +,AICEATM(L1)   ! INOUT ICE CONCENTRATION FROM ATMOS MODEL            SJT1F304.67     
     +,UICE(U_FIELD) ! INOUT X COMPONENT OF ICE VELOCITY (m/s)             SJT1F304.68     
     +,VICE(U_FIELD) ! INOUT Y COMPONENT OF ICE VELOCITY (m/s)             SJT1F304.69     
     +,SUBLIMA(L1)   ! IN ACCUMULATED SUBLIMATION, IN KG M-2               SJT1F304.70     
     +,TOPMELTZ(L1)  ! IN RATE OF MELTING OF SNOW IN W M-2.                SJT1F304.71     
     +               !    (THIS CAN BE TRANSFERRED TO ICE.)                SLBCTL1A.73     
     +,BOTMELTZ(L1)  ! IN DIFFUSIVE HEAT FLUX THROUGH ICE. IN W M-2        SJT1F304.72     
     +               !    IF THIS IS +VE, ICE MELTS AT THE BASE.           SLBCTL1A.75     
     +               !    IF IT IS -VE, ICE ACCRETES THERE.                SLBCTL1A.76     
     +,HICESLB(L1)   ! OUT MEAN ICE DEPTH OVER WHOLE GRID BOX              SJT1F304.73     
     +               !     IN M.                                           SJT1F304.74     
     +,TCLIM(L1)     ! IN CLIMATOLOGICAL SEA SURFACE TEMPS K               SJT1F304.75     
     +,HCLIM(L1)     ! IN CLIMATOLOGICAL SEA-ICE DEPTHS M                  SJT1F304.76     
     +,ADJHCONV(L1)  ! OUT REDISTRIBUTED HEAT CONVERGENCES                 SJT1F304.77     
     +,wtsfc(l1)     ! OUT w x slab temp at surface                        SJC1F400.9      
     +,wtbase(l1)    ! OUT w x slab temp at base                           SJC1F400.10     
     +,COS_P_LATITUDE(L1)     ! IN COS LATITUDE ON P GRID                  SJT1F304.78     
     +,COS_U_LATITUDE(U_FIELD)! IN COS LATITUDE ON UV GRID                 SJT1F304.79     
     +,SEC_P_LATITUDE(L1)     ! IN 1.0/COS LATITUDE ON P GRID              SJT1F304.80     
     +,SIN_U_LATITUDE(U_FIELD)! IN SIN LATITUDE ON UV GRID                 SJT1F304.81     
     +,CORIOLIS(L1)           ! IN 2 * OMEGA * SIN(LAT) ON P GRID          SJT1F304.82     
                                                                           SJT1F304.83     
C                                                                          SLBCTL1A.78     
       REAL                                                                SLBCTL1A.79     
     + UCURRENT(U_FIELD)    ! IN X COMPONENT OF SURFACE CURRENT (M/S)      SJT1F304.84     
     +,VCURRENT(U_FIELD)    ! IN Y COMPONENT OF SURFACE CURRENT (M/S)      SJT1F304.85     
     +,WSX(U_FIELD)         ! IN X COMPONENT OF SURFACE STRESS (N/M2)      SJT1F304.86     
     +,WSY(U_FIELD)         ! IN Y COMPONENT OF SURFACE STRESS (N/M2)      SJT1F304.87     
C                                                                          SJT1F304.88     
       REAL                                                                SJT1F304.89     
     + AINC_THERM(L1)       ! OUT ice fraction inc (thermodynamics)        SJT1F304.90     
     +,HINC_THERM(L1)       ! OUT ice depth inc (thermodynamics)           SJT1F304.91     
     +,HSINC_THERM(L1)      ! OUT snow depth inc *ice fract (therm)        SJC1F400.11     
     +,AINC_DYN(L1)         ! OUT ice fraction inc (dynamics)              SJT1F304.93     
     +,HINC_DYN(L1)         ! OUT ice depth inc (dynamics)                 SJT1F304.94     
     +,HSINC_DYN(L1)        ! OUT snow depth inc *ice fract (dynamics)     SJC1F400.12     
     +,HINC_DIFF(L1)        ! OUT ice depth inc (diffusion)                SJT1F304.96     
     +,HINC_ADV(L1)         ! OUT ice depth inc (advection)                SJC1F400.13     
     +,HSINC_ADV(L1)        ! OUT snow depth inc *ice fract (advection)    SJC1F400.14     
     +,AREAS(L1)            ! OUT grid box areas                           SJC1F400.15     
     +,OIFLUX(L1)           ! OUT ocean to ice heat flux                   SJT1F304.97     
     +,PRESSURE(L1)         ! OUT internal ice pressure                    SJT1F304.98     
     +,PMAX(L1)             ! OUT ice strength                             SJT1F304.99     
     +,ATMSFLUX(L1)         ! OUT net heat into slab through leads         SJC1F400.16     
     +,LEADFLUX(L1)         ! OUT net heat into ice through leads          SJC1F400.17     
     +,DTADV(L1)            ! OUT slab heating rate due to advection       SJC1F400.18     
     +,DTDIFF(L1)           ! OUT slab heating rate due to diffusion       SJC1F400.19     
     +,CARYHEAT(L1)         ! OUT negative heat flux due to slab           SJC1F400.20     
     +                      ! temperatures falling below freezing.         SJC1F400.21     
     +                      ! W M-2                                        SJC1F400.22     
     +,SNOWSLAB(L1)         ! OUT snowfall rate melting in slab.           SJC1F400.23     
     +,SNOWLEAD(L1)         ! OUT snowfall rate melting in leads.          SJC1F400.24     
     +,DTICE(L1)            ! OUT slab heating rate due to ice melt etc.   SJC1F400.25     
C                                                                          SJT1F304.100    
       REAL                                                                SJT1F304.101    
     + H0            ! IN MINIMUM LOCAL ICE DEPTH (M)                      SJT1F304.102    
     +,AMXSOUTH      ! IN MAX ICE CONC - SOUTHERN HEMISPHERE               SJT1F304.103    
     +,AMXNORTH      ! IN MAX ICE CONC - NORTHEN HEMISPHERE                SJT1F304.104    
     +,AICEMIN       ! IN MIN ICE CONC - GLOBAL                            SJT1F304.105    
     +,HICEMIN       ! IN MIN GRIDBOX MEAN ICE DEPTH (M)                   SJT1F304.106    
     +,HCLIMIT       ! IN LIMIT FOR REDISTRIBUTING HEAT CONVERGENCES       SJT1F304.107    
C                                                                          SLBCTL1A.85     
C                                                                          SLBCTL1A.86     
C     Include COMDECKS                                                     SLBCTL1A.87     
C                                                                          SLBCTL1A.88     
*CALL C_LHEAT                                                              SLBCTL1A.89     
*CALL C_MDI                                                                SJT1F304.108    
C                                                                          SLBCTL1A.90     
C     VARIABLES LOCAL TO THIS ROUTINE                                      SLBCTL1A.91     
C                                                                          SLBCTL1A.92     
      INTEGER J           ! LOOP COUNTER                                   SJT1F304.109    
     +,L2                 ! NUMBER OF DATA POINTS TO BE PROCESSED          SJT1F304.110    
     +,JROWSM1            ! NUMBER OF P ROWS MINUS ONE                     SJT1F304.111    
     +,HALFROWS           ! HALF THE NUMBER OF ROWS                        SJT1F304.112    
     +,NPOINTS            ! NUMBER OF POINTS IN EACH HEMISPHERE            SJT1F304.113    
     +,SPOINTS            ! TOTAL NO OF POINTS - NPOINTS                   SJT1F304.114    
     +,SPTS1              ! FIRST POINT IN SOUTHERN HEMISPHERE             SJT1F304.115    
     +,NPTSP1             ! NPOINTS PLUS 1                                 SJT1F304.116    
C                                                                          SLBCTL1A.95     
      REAL                                                                 SLBCTL1A.96     
     + SNOWRATE(L1)       ! RATE OF SNOWFALL, IN KG M-2 S-1.               SJT1F304.117    
     +,SUBLIMZ(L1)        ! SUBLIMATION RATE (KG M_2 S_1)                  SJT1F304.123    
     +,HSNOWSLB(L1)       ! SNOW DEPTH, NOT AVERAGED OVER GRID             SJT1F304.124    
     +                    !    BOX, JUST OVER THE ICE PORTION IN M.        SLBCTL1A.109    
     +,TCLIMC(L1)         ! CLIMATOLOGICAL SEA SURFACE TEMPS C             SJT1F304.125    
     +,AICESLB(L1)        ! ICE CONCENTRATION.                             SJT1F304.126    
      REAL ONEEM6         ! SMALL VALUE FOR ICE FRACTION INEQUALITY.       SJC1F400.26     
      PARAMETER (ONEEM6 = 1.0E-06)                                         SJC1F400.27     
C                                                                          SLBCTL1A.111    
      LOGICAL ICY(L1)     ! TRUE IF BOX CONTAINS ICE.                      SLBCTL1A.112    
     +                    ! THIS IS RESET IN SLABICE                       SJT1F304.127    
     +,OPENSEA(L1)        ! TRUE IF BOX IS ICE_FREE OCEAN POINT.           SJT1F304.128    
     +,NEWICE(L1)         ! TRUE IF ICE IS FORMING.                        SJT1F304.129    
C                                                                          SLBCTL1A.113    
C                                                                          SLBCTL1A.114    
C    1. INITIALISE VARIABLES                                               SJT1F304.130    
C                                                                          SJT1F304.131    
C       INITIALISE THE AMOUNT OF DATA TO PROCESS                           SJT1F304.132    
C                                                                          SLBCTL1A.119    
      L2 = L1                                                              SLBCTL1A.120    
      JROWSM1 = JROWS-1                                                    SJT1F304.133    
C                                                                          SLBCTL1A.121    
C       CONVERT SUBLIMATION TO A RATE (USE LOCAL ARRAY FOR SAFETY)         SJT1F304.134    
C       AND INITIALISE ADJUSTED HEAT CONVERGENCE ARRAY                     SJT1F304.135    
C                                                                          SLBCTL1A.125    
      DO J=1,L2                                                            SLBCTL1A.126    
          SUBLIMZ(J)  = SUBLIMA(J)/DT                                      SJT1F304.136    
          ADJHCONV(J) = HEATCONV(J)                                        SJT1F304.137    
      END DO                                                               SJT1F304.138    
C                                                                          SJT1F304.139    
C       INITIALISE THE ARRAY ICY AND THE ARRAY OPENSEA                     SJT1F304.140    
C       AND THE ARRAYS NEWICE AND OIFLUX                                   SJT1F304.141    
C                                                                          SJT1F304.142    
      DO J=1,L2                                                            SJT1F304.143    
        IF ( .NOT. LAND(J)) THEN                                           SJT1F304.144    
          IF ( (AICEATM(J) .GE. (AICEMIN-oneem6))) THEN                    SJC1F400.28     
            ICY(J)     = .TRUE.                                            SJT1F304.146    
            OPENSEA(J) = .FALSE.                                           SJT1F304.147    
          ELSE                                                             SJT1F304.148    
            ICY(J)     = .FALSE.                                           SJT1F304.149    
            OPENSEA(J) = .TRUE.                                            SJT1F304.150    
          ENDIF                                                            SJT1F304.151    
          newice(j)     = .false.                                          SJT1F304.152    
          oiflux(j)     = 0.0                                              SJT1F304.153    
          ainc_therm(j) = 0.0                                              SJT1F304.154    
          hinc_therm(j) = 0.0                                              SJT1F304.155    
          hsinc_therm(j)= 0.0                                              SJT1F304.156    
          ainc_dyn(j)   = 0.0                                              SJT1F304.157    
          hinc_dyn(j)   = 0.0                                              SJT1F304.158    
          hsinc_dyn(j)  = 0.0                                              SJT1F304.159    
          hinc_diff(j)  = 0.0                                              SJT1F304.160    
          hinc_adv(j)   = 0.0                                              SJC1F400.29     
          hsinc_adv(j)  = 0.0                                              SJC1F400.30     
          areas(j)      = 0.0                                              SJC1F400.31     
          leadflux(j)   = 0.0                                              SJC1F400.32     
          atmsflux(j)   = 0.0                                              SJC1F400.33     
          dtadv(j)      = 0.0                                              SJC1F400.34     
          dtdiff(j)     = 0.0                                              SJC1F400.35     
          caryheat(j)   = 0.0                                              SJC1F400.36     
          snowslab(j)   = 0.0                                              SJC1F400.37     
          snowlead(j)   = 0.0                                              SJC1F400.38     
          dtice(j)      = 0.0                                              SJC1F400.39     
        ELSE                                                               SJT1F304.161    
          ICY(J)     = .FALSE.                                             SJT1F304.162    
          OPENSEA(J) = .FALSE.                                             SJT1F304.163    
          newice(j)  = .false.                                             SJT1F304.164    
          oiflux(j)     = rmdi                                             SJT1F304.165    
          ainc_therm(j) = rmdi                                             SJT1F304.166    
          hinc_therm(j) = rmdi                                             SJT1F304.167    
          hsinc_therm(j)= rmdi                                             SJT1F304.168    
          ainc_dyn(j)   = rmdi                                             SJT1F304.169    
          hinc_dyn(j)   = rmdi                                             SJT1F304.170    
          hsinc_dyn(j)  = rmdi                                             SJT1F304.171    
          hinc_diff(j)  = rmdi                                             SJT1F304.172    
          hinc_adv(j)   = rmdi                                             SJC1F400.40     
          hsinc_adv(j)  = rmdi                                             SJC1F400.41     
          areas(j)      = rmdi                                             SJC1F400.42     
          leadflux(j)   = rmdi                                             SJC1F400.43     
          atmsflux(j)   = rmdi                                             SJC1F400.44     
          dtadv(j)      = rmdi                                             SJC1F400.45     
          dtdiff(j)     = rmdi                                             SJC1F400.46     
          caryheat(j)   = rmdi                                             SJC1F400.47     
          snowslab(j)   = rmdi                                             SJC1F400.48     
          snowlead(j)   = rmdi                                             SJC1F400.49     
          dtice(j)      = rmdi                                             SJC1F400.50     
        ENDIF                                                              SJC1F400.51     
      END DO                                                               SJC1F400.52     
      DO J=1,L2                                                            SJC1F400.53     
        IF ( opensea(j) ) THEN                                             SJC1F400.54     
          wtsfc(j)      = 0.0                                              SJC1F400.55     
          wtbase(j)     = 0.0                                              SJC1F400.56     
        ELSE                                                               SJC1F400.57     
          wtsfc(j)      = rmdi                                             SJC1F400.58     
          wtbase(j)     = rmdi                                             SJC1F400.59     
        ENDIF                                                              SJT1F304.173    
      END DO                                                               SLBCTL1A.128    
C                                                                          SLBCTL1A.129    
C-----------------------------------------------------------------------   SLBCTL1A.130    
C                                                                          SLBCTL1A.131    
C     2. CALL SLBHCADJ TO ADJUST HEAT CONVERGENCES                         SJT1F304.174    
C        IN NON-CALIBRATION EXPERIMENT                                     SJT1F304.175    
C                                                                          SLBCTL1A.133    
C                                                                          SLBCTL1A.141    
      HALFROWS = JROWS/2                                                   SJT1F304.176    
      NPOINTS  = ICOLS*HALFROWS                                            SJT1F304.177    
      SPOINTS  = L1 - NPOINTS                                              SJT1F304.178    
      NPTSP1   = NPOINTS+1                                                 SJT1F304.179    
      SPTS1    = NPTSP1+ICOLS                                              SJT1F304.180    
C                                                                          SLBCTL1A.143    
      IF (.NOT.CALIB) THEN                                                 SJT1F304.181    
C                                                                          SLBCTL1A.146    
C     ** NORTHERN HEMISPHERE                                               SJT1F304.182    
        CALL SLBHCADJ(L1,NPOINTS,                                          SJT1F304.183    
     +                ADJHCONV(1),                                         SJT1F304.184    
     +                COS_P_LATITUDE(1),                                   SJT1F304.185    
     +                ICY(1),                                              SJT1F304.186    
     +                HCLIMIT,                                             SJT1F304.187    
     +                OPENSEA(1))                                          SJT1F304.188    
C                                                                          SJT1F304.189    
C     ** SOUTHERN HEMISPHERE                                               SJT1F304.190    
        CALL SLBHCADJ(L1,NPOINTS,                                          SJT1F304.191    
     +                ADJHCONV(SPTS1),                                     SJT1F304.192    
     +                COS_P_LATITUDE(SPTS1),                               SJT1F304.193    
     +                ICY(SPTS1),                                          SJT1F304.194    
     +                HCLIMIT,                                             SJT1F304.195    
     +                OPENSEA(SPTS1))                                      SJT1F304.196    
C                                                                          SJT1F304.197    
      ENDIF                                                                SJT1F304.198    
C                                                                          SLBCTL1A.148    
C-----------------------------------------------------------------------   SLBCTL1A.149    
C                                                                          SLBCTL1A.150    
C                                                                          SLBCTL1A.151    
C     3. COMPUTE ATMSFLUX AND SNOWOUT FROM ATMOSPHERE FLUXES AND           SLBCTL1A.152    
C        SNOWRATES.                                                        SLBCTL1A.153    
C     IT SHOULD BE POINTED OUT THAT AT SEA-ICE POINTS, THE                 SLBCTL1A.154    
C     RADIATIVE FLUXES, THE SENSIBLE                                       SLBCTL1A.155    
C     HEAT FLUX AND THE EVAPORATION WERE ALREADY WEIGHTED BY THE           SLBCTL1A.156    
C     FRACTIONAL AREA OF LEADS WHEN THEY WERE DIAGNOSED, SO NO             SLBCTL1A.157    
C     SPECIAL CODE IS NECESSARY HERE.                                      SLBCTL1A.158    
C                                                                          SLBCTL1A.159    
      IF (l_therm.or.l_idyn.or.l_idrif) then                               SJT1F304.199    
        DO J=1,L2                                                          SJT1F304.200    
          IF (.NOT.LAND(J)) THEN                                           SJT1F304.201    
            ATMSFLUX(J) = (SOLARIN(J)-BLUEIN(J)) + LONGWAVE(J)             SJT1F304.202    
     +                  - ( SENSIBLE(J) + LC*EVAP(J) )                     SJT1F304.203    
            LEADFLUX(J) = ATMSFLUX(J) * AICEATM(J)                         SJT1F304.204    
            ATMSFLUX(J) = ATMSFLUX(J) * ( 1.0 - AICEATM(J) )               SJT1F304.205    
     +                  + BLUEIN(J)                                        SJT1F304.206    
          ENDIF                                                            SJT1F304.210    
        END DO                                                             SJT1F304.211    
      ELSE                                                                 SJT1F304.212    
        DO J=1,L2                                                          SJT1F304.213    
          ATMSFLUX(J) = SOLARIN(J) + LONGWAVE(J)                           SLBCTL1A.161    
     +                 - ( SENSIBLE(J) + LC*EVAP(J) )                      SLBCTL1A.162    
          LEADFLUX(J) = ATMSFLUX(J)                                        SJT1F304.214    
        END DO                                                             SJT1F304.215    
      ENDIF                                                                SJT1F304.216    
C                                                                          SLBCTL1A.164    
      DO J=1,L2                                                            SLBCTL1A.165    
          SNOWRATE(J) = SNOWLS(J) + SNOWCONV(J)                            SLBCTL1A.166    
          SNOWSLAB(J) = SNOWRATE(J)                                        SJC1F400.60     
          IF (ICY(J)) THEN                                                 SJC1F400.61     
            SNOWSLAB(J) = 0.0                                              SJC1F400.62     
            SNOWLEAD(J) = SNOWRATE(J)                                      SJC1F400.63     
          ENDIF                                                            SJC1F400.64     
      END DO                                                               SLBCTL1A.167    
C                                                                          SLBCTL1A.168    
C                                                                          SLBCTL1A.169    
C                                                                          SLBCTL1A.170    
C-----------------------------------------------------------------------   SLBCTL1A.171    
C                                                                          SLBCTL1A.172    
C    4. CALL TRANSA2S TO CONVERT ATMOSPHERE VARIABLES TO FORMAT            SLBCTL1A.173    
C       REQUIRED FOR SLAB MODEL                                            SLBCTL1A.174    
C                                                                          SLBCTL1A.175    
        CALL TRANSA2S(L1,                                                  SJT1F304.217    
     +                L1,                                                  SJT1F304.218    
     +                L_THERM,                                             SJT1F304.219    
     +                LAND,                                                SJT1F304.220    
     +                TSTARATM,                                            SJT1F304.221    
     +                SLABTEMP,                                            SJT1F304.222    
     +                HICEATM,                                             SJT1F304.223    
     +                HICESLB,                                             SJT1F304.224    
     +                HICEMIN,                                             SJT1F304.225    
     +                HSNOWATM,                                            SJT1F304.226    
     +                HSNOWSLB,                                            SJT1F304.227    
     +                AICEATM,                                             SJT1F304.228    
     +                AICESLB,                                             SJT1F304.229    
     +                AICEMIN,                                             SJT1F304.230    
     +                TCLIM,                                               SJT1F304.231    
     +                TCLIMC,                                              SJT1F304.232    
     +                HCLIM)                                               SJT1F304.233    
C                                                                          SLBCTL1A.178    
C-----------------------------------------------------------------------   SLBCTL1A.179    
C                                                                          SLBCTL1A.180    
C     5. CALL UMSLAB TO UPDATE SLAB OCEAN TEMPERATURE                      SJT1F304.234    
C                                                                          SLBCTL1A.183    
C                                                                          SLBCTL1A.184    
        CALL UMSLAB(                                                       SDR1F404.20     
*CALL ARGOINDX                                                             SDR1F404.21     
     &              ICY,                                                   SDR1F404.22     
     +              ATMSFLUX,                                              SJT1F304.236    
     +              ADJHCONV,                                              SJT1F304.237    
     +              SNOWSLAB,                                              SJC1F400.65     
     +              CARYHEAT,                                              SJT1F304.239    
     +              SLABTEMP,                                              SJT1F304.240    
     +              wtsfc,                                                 SJC1F400.66     
     +              wtbase,                                                SJC1F400.67     
     +              LAND,                                                  SJT1F304.241    
     +              AICESLB,                                               SJT1F304.242    
     +              NEWICE,                                                SJT1F304.243    
     +              OIFLUX,                                                SJT1F304.244    
     +              DTADV,DTDIFF,                                          SJC1F400.68     
     +              L1,L1,DT,DZ1,u_field,                                  SJC1F400.69     
     +              JROWS,                                                 SJT1F304.246    
     +              JROWSM1,                                               SJT1F304.247    
     +              ICOLS,                                                 SJT1F304.248    
     +              TCLIMC,                                                SJT1F304.249    
     +              HCLIM,                                                 SJT1F304.250    
     +              CALIB,                                                 SJT1F304.251    
     +              L_THERM,L_IDYN,L_IDRIF,                                SJT1F304.252    
     +              L_SLBADV,LGLOBAL,                                      SJT1F304.253    
     +              EDDYDIFF,                                              SJT1F304.254    
     +              DELTA_LONG,DELTA_LAT,BASE_LAT,                         SJT1F304.255    
     +              AH,                                                    SJT1F304.256    
     +              OPENSEA,                                               SJT1F304.257    
     +              ucurrent,                                              SJT1F304.258    
     +              vcurrent,                                              SJT1F304.259    
     +              COS_P_LATITUDE,COS_U_LATITUDE,                         SJT1F304.260    
     +              SEC_P_LATITUDE,SIN_U_LATITUDE)                         SJT1F304.261    
C                                                                          SLBCTL1A.188    
C-----------------------------------------------------------------------   SJT1F304.262    
C                                                                          SJT1F304.263    
C     6. CALL SLAB_ICEDRIFT OR SLAB_ICEDYN TO UPDATE SEA_ICE VARIABLES     SJT1F304.264    
C        (DYNAMIC INCREMENTS)                                              SJT1F304.265    
C                                                                          SJT1F304.266    
      IF (L_IDRIF.OR.L_IDYN) THEN                                          SJT1F304.267    
C Initialise diagnostic arrays to hold increments                          SJT1F304.268    
        DO J=1,L2                                                          SJT1F304.269    
          IF (.NOT. LAND(J)) THEN                                          SJT1F304.270    
            AINC_DYN(J)  = AICESLB(J)                                      SJT1F304.271    
            HINC_DYN(J)  = HICESLB(J)                                      SJT1F304.272    
            HSINC_DYN(J) = HSNOWSLB(J)*AICESLB(J)                          SJC1F400.70     
          ENDIF                                                            SJT1F304.274    
        END DO                                                             SJT1F304.275    
      ENDIF                                                                SJT1F304.276    
      IF (L_IDRIF) THEN                                                    SJT1F304.277    
C                                                                          SJT1F304.278    
        call slab_icedrift(                                                SDR1F404.23     
*CALL ARGOINDX                                                             SDR1F404.24     
     &   l1,l2,icols,jrows,jrowsm1,land                                    SDR1F404.25     
     &  ,LGLOBAL,aicemin,amxnorth,amxsouth,Ah_ice                          SDR1F404.26     
     &  ,delta_lat,delta_long,base_lat,dt,cos_u_latitude                   SJT1F304.282    
     &  ,cos_p_latitude,sec_p_latitude,sin_u_latitude                      SJT1F304.283    
     &  ,wsx,wsy,ucurrent,vcurrent,aiceslb,hiceslb,hsnowslb,icy,newice     SJT1F304.284    
     &  ,hinc_diff,hinc_adv,hsinc_adv,areas                                SJC1F400.71     
     &  )                                                                  SJT1F304.286    
      ELSEIF (L_IDYN) THEN                                                 SJT1F304.287    
        call slab_icedyn(                                                  SJT1F304.288    
*CALL ARGOINDX                                                             SDR1F404.27     
     &   icols,jrows,jrowsm1,LGLOBAL,delta_lat,delta_long,dt               SJT1F304.289    
     &  ,amxsouth,amxnorth,aicemin,Pstar_ice_strength                      SJT1F304.290    
     &  ,kappa_ice_strength,cdw,tol_ifree                                  SJT1F304.291    
     &  ,nmax_ifree,weight_ifree,tol_icav,nmax_icav                        SJT1F304.292    
     &  ,land,cos_u_latitude,cos_p_latitude,sec_p_latitude                 SJT1F304.293    
     &  ,sin_u_latitude,coriolis,wsx,wsy,ucurrent,vcurrent                 SJT1F304.294    
     &  ,aiceslb,hiceslb,hsnowslb,icy,newice,opensea,uice,vice             SJT1F304.295    
     &  ,pmax,pressure                                                     SJT1F304.296    
     &  )                                                                  SJT1F304.297    
      ENDIF                                                                SJT1F304.298    
C                                                                          SJT1F304.299    
C Copy increments into diagnostic arrays                                   SJT1F304.300    
C                                                                          SJT1F304.301    
      IF (L_IDRIF.OR.L_IDYN) THEN                                          SJT1F304.302    
        area  = 0.0                                                        SJC1F400.72     
        DO J=1,L2                                                          SJT1F304.304    
          IF (.NOT. LAND(J)) THEN                                          SJT1F304.305    
            AINC_DYN(J)  = AICESLB(J)  - AINC_DYN(J)                       SJT1F304.306    
            HINC_DYN(J)  = HICESLB(J)  - HINC_DYN(J)                       SJT1F304.307    
            HSINC_DYN(J) = HSNOWSLB(J)*AICESLB(J) - HSINC_DYN(J)           SJC1F400.73     
            area=area+areas(j)                                             SJC1F400.74     
          ENDIF                                                            SJT1F304.309    
        END DO                                                             SJT1F304.310    
      ENDIF                                                                SJT1F304.311    
C                                                                          SJT1F304.312    
C-----------------------------------------------------------------------   SJT1F304.313    
C                                                                          SJT1F304.314    
C     7. CALL SLABICE TO UPDATE SEA_ICE VARIABLES                          SJT1F304.315    
C        NEED SEPARATE CALLS FOR NORTHERN AND SOUTHERN HEMISPHERES         SJT1F304.316    
C                                                                          SJT1F304.317    
C Initialise diagnostic arrays to hold increments                          SJT1F304.318    
C                                                                          SJT1F304.319    
      DO J=1,L2                                                            SJT1F304.320    
        IF (.NOT. LAND(J)) THEN                                            SJT1F304.321    
          AINC_THERM(J)  = AICESLB(J)                                      SJT1F304.322    
          HINC_THERM(J)  = HICESLB(J)                                      SJT1F304.323    
          HSINC_THERM(J) = HSNOWSLB(J)*AICESLB(J)                          SJC1F400.75     
          DTICE(J)       = SLABTEMP(J)                                     SJC1F400.76     
        ENDIF                                                              SJT1F304.325    
      END DO                                                               SJT1F304.326    
C     ** NORTHERN HEMISPHERE                                               SJT1F304.327    
        CALL SLABICE(ICY(1),                                               SJT1F304.328    
     +               LEADFLUX(1),                                          SJT1F304.329    
     +               NEWICE(1),                                            SJT1F304.330    
     +               OIFLUX(1),                                            SJT1F304.331    
     +               ATMSFLUX(1),                                          SJT1F304.332    
     +               ADJHCONV(1),                                          SJT1F304.333    
     +               HICESLB(1),                                           SJT1F304.334    
     +               HSNOWSLB(1),                                          SJT1F304.335    
     +               SNOWLEAD(1),                                          SJC1F400.77     
     +               SUBLIMZ(1),                                           SJT1F304.337    
     +               AICESLB(1),                                           SJT1F304.338    
     +               CARYHEAT(1),                                          SJT1F304.339    
     +               TOPMELTZ(1),                                          SJT1F304.340    
     +               BOTMELTZ(1),                                          SJT1F304.341    
     +               SLABTEMP(1),                                          SJT1F304.342    
     +               L1,NPOINTS,DT,DZ1,H0,                                 SJT1F304.343    
     +               L_THERM,L_IDYN,L_IDRIF,                               SJT1F304.344    
     +               AMXNORTH,AICEMIN,                                     SJT1F304.345    
     +               TCLIMC(1),HCLIM(1),CALIB)                             SJT1F304.346    
C                                                                          SJT1F304.347    
C     ** SOUTHERN HEMISPHERE                                               SJT1F304.348    
        CALL SLABICE(ICY(NPTSP1),                                          SJT1F304.349    
     +               LEADFLUX(NPTSP1),                                     SJT1F304.350    
     +               NEWICE(NPTSP1),                                       SJT1F304.351    
     +               OIFLUX(NPTSP1),                                       SJT1F304.352    
     +               ATMSFLUX(NPTSP1),                                     SJT1F304.353    
     +               ADJHCONV(NPTSP1),                                     SJT1F304.354    
     +               HICESLB(NPTSP1),                                      SJT1F304.355    
     +               HSNOWSLB(NPTSP1),                                     SJT1F304.356    
     +               SNOWLEAD(NPTSP1),                                     SJC1F400.78     
     +               SUBLIMZ(NPTSP1),                                      SJT1F304.358    
     +               AICESLB(NPTSP1),                                      SJT1F304.359    
     +               CARYHEAT(NPTSP1),                                     SJT1F304.360    
     +               TOPMELTZ(NPTSP1),                                     SJT1F304.361    
     +               BOTMELTZ(NPTSP1),                                     SJT1F304.362    
     +               SLABTEMP(NPTSP1),                                     SJT1F304.363    
     +               L1,SPOINTS,DT,DZ1,H0,                                 SJT1F304.364    
     +               L_THERM,L_IDYN,L_IDRIF,                               SJT1F304.365    
     +               AMXSOUTH,AICEMIN,                                     SJT1F304.366    
     +               TCLIMC(NPTSP1),HCLIM(NPTSP1),CALIB)                   SJT1F304.367    
C                                                                          SJT1F304.368    
C Copy increments into diagnostic arrays                                   SJT1F304.369    
C                                                                          SJT1F304.370    
      DO J=1,L2                                                            SJT1F304.371    
        IF (.NOT. LAND(J)) THEN                                            SJT1F304.372    
          AINC_THERM(J)  = AICESLB(J)  - AINC_THERM(J)                     SJT1F304.373    
          HINC_THERM(J)  = HICESLB(J)  - HINC_THERM(J)                     SJT1F304.374    
          HSINC_THERM(J) = HSNOWSLB(J)*AICESLB(J) - HSINC_THERM(J)         SJC1F400.79     
          DTICE(J)       = ( SLABTEMP(J) - DTICE(J) ) / DT                 SJC1F400.80     
        ENDIF                                                              SJT1F304.376    
      END DO                                                               SJT1F304.377    
C                                                                          SLBCTL1A.194    
C                                                                          SLBCTL1A.195    
C-----------------------------------------------------------------------   SLBCTL1A.196    
C                                                                          SLBCTL1A.197    
C    8. CALL TRANSS2A TO CONVERT SLAB VARIABLES TO FORMAT                  SJT1F304.378    
C       REQUIRED FOR ATMOSPHERE                                            SLBCTL1A.199    
C                                                                          SLBCTL1A.200    
        CALL TRANSS2A(L1,L1,                                               SJT1F304.379    
     +                LAND,                                                SJT1F304.380    
     +                SLABTEMP,                                            SJT1F304.381    
     +                TSTARATM,                                            SJT1F304.382    
     +                AICESLB,                                             SJT1F304.383    
     +                AICEATM,                                             SJT1F304.384    
     +                HICESLB,                                             SJT1F304.385    
     +                HICEATM,                                             SJT1F304.386    
     +                HICEMIN,                                             SJT1F304.387    
     +                HSNOWSLB,                                            SJT1F304.388    
     +                HSNOWATM,                                            SJT1F304.389    
     +                AICEMIN)                                             SJT1F304.390    
C                                                                          SLBCTL1A.203    
C-----------------------------------------------------------------------   SLBCTL1A.204    
C                                                                          SJT1F304.391    
C    9. FOR CALIBRATION EXPERIMENT INITIALISE HEATCONV                     SJT1F304.392    
C                                                                          SJT1F304.393    
      IF (CALIB) THEN                                                      SJT1F304.394    
      DO J=1,L2                                                            SJT1F304.395    
          HEATCONV(J) = ADJHCONV(J)                                        SJT1F304.396    
      END DO                                                               SJT1F304.397    
      ENDIF                                                                SJT1F304.398    
C                                                                          SLBCTL1A.205    
      RETURN                                                               SLBCTL1A.206    
      END                                                                  SLBCTL1A.207    
*ENDIF                                                                     SLBCTL1A.208