*IF DEF,OCEAN,OR,DEF,RECON,OR,DEF,CAMDUMP,OR,DEF,FIELDOP                   OLBCSZ1.2      
C *****************************COPYRIGHT******************************     OLBCSZ1.3      
C (c) CROWN COPYRIGHT 1998, METEOROLOGICAL OFFICE, All Rights Reserved.    OLBCSZ1.4      
C                                                                          OLBCSZ1.5      
C Use, duplication or disclosure of this code is subject to the            OLBCSZ1.6      
C restrictions as set forth in the contract.                               OLBCSZ1.7      
C                                                                          OLBCSZ1.8      
C                Meteorological Office                                     OLBCSZ1.9      
C                London Road                                               OLBCSZ1.10     
C                BRACKNELL                                                 OLBCSZ1.11     
C                Berkshire UK                                              OLBCSZ1.12     
C                RG12 2SZ                                                  OLBCSZ1.13     
C                                                                          OLBCSZ1.14     
C If no contract has been raised with this copy of the code, the use,      OLBCSZ1.15     
C duplication or disclosure of it is strictly prohibited.  Permission      OLBCSZ1.16     
C to do so must first be obtained in writing from the Head of Numerical    OLBCSZ1.17     
C Modelling at the above address.                                          OLBCSZ1.18     
C ******************************COPYRIGHT******************************    OLBCSZ1.19     
!+ code to dimension arrays to read interface data                         OLBCSZ1.20     
!                                                                          OLBCSZ1.21     

      subroutine o_lbc_sizes( km ,nt, rimwidtho,                            2OLBCSZ1.22     
     #       numside_rowso, numside_colso,                                 OLBCSZ1.23     
     #       RIM_LOOKUPSO, n_obdy_t_grd, n_obdy_u_grd )                    OLBCSZ1.24     
      implicit none                                                        OLBCSZ1.25     
!                                                                          OLBCSZ1.26     
! Description:                                                             OLBCSZ1.27     
! Sets some variables used to dimension ocean LAM arrays.                  OLBCSZ1.28     
! Called from DERVSIZE and ADDRLN                                          OLBCSZ1.29     
!                                                                          OLBCSZ1.30     
! History:                                                                 OLBCSZ1.31     
!  Model    Date       Modification history from model version 4.5         OLBCSZ1.32     
!  version                                                                 OLBCSZ1.33     
!   4.5   17/6/98    New subroutine/deck     M.J.Bell/S.Ineson             OLBCSZ1.34     
!                                                                          OLBCSZ1.35     
CL Input Arguments  - all INTENT OUT                                       OLBCSZ1.36     
      integer km        ! # of vertical levels for tracers, u and v        OLBCSZ1.37     
      integer nt        ! # of tracers (including T & S)                   OLBCSZ1.38     
      integer rimwidtho ! rim width of boundary data to be read            OLBCSZ1.39     
                                                                           OLBCSZ1.40     
CL Output arguments  - all INTENT IN                                       OLBCSZ1.41     
      integer numside_rowso ! # of active boundary rows                    OLBCSZ1.42     
      integer numside_colso ! # of active boundary columns                 OLBCSZ1.43     
      integer RIM_LOOKUPSO  ! # of ocean bdy lookup tables                 OLBCSZ1.44     
      integer n_obdy_t_grd  ! # of ocean tracer grid bdy fields            OLBCSZ1.45     
      integer n_obdy_u_grd  ! # of ocean velocity grid bdy fields          OLBCSZ1.46     
                                                                           OLBCSZ1.47     
CL Global variables (only used for input)                                  OLBCSZ1.48     
*CALL CNTLOCN                                                              OLBCSZ1.49     
                                                                           OLBCSZ1.50     
!--------------------------------------------------------                  OLBCSZ1.51     
! 1. calculate numside_rowso and numside_colso                             OLBCSZ1.52     
      numside_rowso = 0                                                    OLBCSZ1.53     
      if ( l_obdy_north ) then                                             OLBCSZ1.54     
        numside_rowso = numside_rowso + rimwidtho                          OLBCSZ1.55     
      end if                                                               OLBCSZ1.56     
      if ( l_obdy_south ) then                                             OLBCSZ1.57     
        numside_rowso = numside_rowso + rimwidtho                          OLBCSZ1.58     
      end if                                                               OLBCSZ1.59     
      numside_colso = 0                                                    OLBCSZ1.60     
      if ( l_obdy_east) then                                               OLBCSZ1.61     
        numside_colso = numside_colso + rimwidtho                          OLBCSZ1.62     
      end if                                                               OLBCSZ1.63     
      if ( l_obdy_west) then                                               OLBCSZ1.64     
        numside_colso = numside_colso + rimwidtho                          OLBCSZ1.65     
      end if                                                               OLBCSZ1.66     
                                                                           OLBCSZ1.67     
! 2. find the number of tracer grid and velocity grid boundary             OLBCSZ1.68     
!    fields and the number of lookup tables                                OLBCSZ1.69     
                                                                           OLBCSZ1.70     
      RIM_LOOKUPSO = 0                                                     OLBCSZ1.71     
      n_obdy_t_grd = 0                                                     OLBCSZ1.72     
      n_obdy_u_grd = 0                                                     OLBCSZ1.73     
                                                                           OLBCSZ1.74     
      if ( l_obdy_tracer ) then                                            OLBCSZ1.75     
        n_obdy_t_grd = n_obdy_t_grd + nt * km                              OLBCSZ1.76     
        RIM_LOOKUPSO = RIM_LOOKUPSO + nt                                   OLBCSZ1.77     
      end if                                                               OLBCSZ1.78     
                                                                           OLBCSZ1.79     
      if ( l_obdy_uv ) then                                                OLBCSZ1.80     
        n_obdy_u_grd = n_obdy_u_grd + 2 * km                               OLBCSZ1.81     
        RIM_LOOKUPSO = RIM_LOOKUPSO + 2                                    OLBCSZ1.82     
      end if                                                               OLBCSZ1.83     
                                                                           OLBCSZ1.84     
      if ( l_obdy_STREAM ) then                                            OLBCSZ1.85     
        n_obdy_t_grd = n_obdy_t_grd + 2                                    OLBCSZ1.86     
        RIM_LOOKUPSO = RIM_LOOKUPSO + 2                                    OLBCSZ1.87     
      end if                                                               OLBCSZ1.88     
                                                                           OLBCSZ1.89     
      if ( l_obdy_ice ) then                                               OLBCSZ1.90     
        n_obdy_t_grd = n_obdy_t_grd + 3                                    OLBCSZ1.91     
        RIM_LOOKUPSO = RIM_LOOKUPSO + 3                                    OLBCSZ1.92     
      end if                                                               OLBCSZ1.93     
                                                                           OLBCSZ1.94     
      return                                                               OLBCSZ1.95     
      end                                                                  OLBCSZ1.96     
*ENDIF                                                                     OLBCSZ1.97