*IF DEF,CONTROL                                                            READSIZ1.2      
C ******************************COPYRIGHT******************************    GTS2F400.8119   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.8120   
C                                                                          GTS2F400.8121   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.8122   
C restrictions as set forth in the contract.                               GTS2F400.8123   
C                                                                          GTS2F400.8124   
C                Meteorological Office                                     GTS2F400.8125   
C                London Road                                               GTS2F400.8126   
C                BRACKNELL                                                 GTS2F400.8127   
C                Berkshire UK                                              GTS2F400.8128   
C                RG12 2SZ                                                  GTS2F400.8129   
C                                                                          GTS2F400.8130   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.8131   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.8132   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.8133   
C Modelling at the above address.                                          GTS2F400.8134   
C ******************************COPYRIGHT******************************    GTS2F400.8135   
C                                                                          GTS2F400.8136   
CLL  Subroutine READSIZE --------------------------------------------      READSIZ1.3      
CLL                                                                        READSIZ1.4      
CLL    Purpose:                                                            READSIZ1.5      
CLL  This routine reads the length required for the dimensioning           READSIZ1.6      
CLL  of all main data arrays that have dimensions set via questions        READSIZ1.7      
CLL  in the USER INTERFACE.                                                READSIZ1.8      
CLL  It is called by the shell program UM_SHELL and passes the             READSIZ1.9      
CLL  data via common block to that routine. Data is then passed by         READSIZ1.10     
CLL  argument lists to allow for proper dynamic allocation in the          READSIZ1.11     
CLL  portable model.                                                       READSIZ1.12     
CLL                                                                        READSIZ1.13     
CLL  Model            Modification history:                                READSIZ1.14     
CLL version  Date                                                          READSIZ1.15     
CLL  3.2   05/05/93   M.CARTER: DECK READSIZ1 on MOD SET MC050593          READSIZ1.16     
CLL                   creation: added for dynamic allocation               READSIZ1.17     
CLL  3.5   Apr. 95    Submodels project:                                   GSS1F305.734    
CLL                   Removed section which read the STSIZES namelist      GSS1F305.735    
CLL                   from the former STASHC file.                         GSS1F305.736    
CLL                   S.J.Swarbrick                                        GSS1F305.737    
CLL  4.0  18/10/95  Remove lines left from old GET_FILE call. RTHBarnes    GRB2F400.14     
!LL  4.4  26/09/97  Initialise SOIL_VARS & VEG_VARS. (Fix until 4.5)       GDR7F404.449    
!LL                 D. Robinson.                                           GDR7F404.450    
!LL  4.5  19/01/98  Remove interim fix from 4.4. D. Robinson.              GDR6F405.1      
CLL                                                                        READSIZ1.18     
CLL Programming standard:                                                  READSIZ1.19     
CLL                                                                        READSIZ1.20     
CLL Logical components covered:                                            READSIZ1.21     
CLL                                                                        READSIZ1.22     
CLL Project task:                                                          READSIZ1.23     
CLL                                                                        READSIZ1.24     
CLL External documentation:                                                READSIZ1.25     
CLL                                                                        READSIZ1.26     
CLL ------------------------------------------------------------------     READSIZ1.27     
C*L  Interface and arguments: ------------------------------------------   READSIZ1.28     
C                                                                          READSIZ1.29     

      SUBROUTINE READSIZE(ICODE,CMESSAGE)                                   1READSIZ1.30     
                                                                           READSIZ1.31     
      IMPLICIT NONE                                                        READSIZ1.32     
C                                                                          READSIZ1.33     
C  Subroutines called                                                      READSIZ1.34     
C                                                                          READSIZ1.35     
!     EXTERNAL NONE ! DERVSIZE moved into UM_SHELL                         GPB0F305.195    
C                                                                          READSIZ1.37     
C  Local variables                                                         READSIZ1.38     
C                                                                          READSIZ1.39     
      INTEGER ICODE             ! OUT - Return code                        READSIZ1.40     
      CHARACTER*256 CMESSAGE    ! OUT - Error message                      READSIZ1.41     
                                                                           READSIZ1.42     
*CALL CNLSIZES                                                             READSIZ1.43     
C                                                                          READSIZ1.48     
CL                                                                         READSIZ1.49     
CL 1.1 Read size information from namelists                                READSIZ1.50     
CL                                                                         READSIZ1.51     
C                                                                          READSIZ1.52     
C     FILE ON UNIT 5 DOES NOT NEED TO BE OPENED.                           READSIZ1.53     
C     READ THE UI PROVIDED NAMELIST OF ARRAY SIZES.                        READSIZ1.54     
      READ(5,NLSIZES)                                                      READSIZ1.55     
C                                                                          SF011193.11     
C      Copy OCEAN values from NAMELIST to COMMON                           SF011193.12     
C                                                                          SF011193.13     
      NT_UI=NT                                                             SF011193.14     
      IMT_UI=IMT                                                           SF011193.15     
      JMT_UI=JMT                                                           SF011193.16     
      KM_UI=KM                                                             SF011193.17     
!  -------------------------------------------------------------------     GSS1F305.738    
!  Namelist STSIZES used to be read here, from the former STASHC file.     GSS1F305.739    
!  The STSIZES common block is now set within STASH_PROC.                  GSS1F305.740    
!  -------------------------------------------------------------------     GSS1F305.741    
! Call to DERVSIZE is moved into UM_SHELL                                  GPB0F305.196    
C                                                                          READSIZ1.79     
      RETURN                                                               READSIZ1.80     
      END                                                                  READSIZ1.81     
*ENDIF                                                                     READSIZ1.82