*IF DEF,FLUXPROC                                                           FPOPENF1.2      
C ******************************COPYRIGHT******************************    FPOPENF1.3      
C (c) CROWN COPYRIGHT 1998, METEOROLOGICAL OFFICE, All Rights Reserved.    FPOPENF1.4      
C                                                                          FPOPENF1.5      
C Use, duplication or disclosure of this code is subject to the            FPOPENF1.6      
C restrictions as set forth in the contract.                               FPOPENF1.7      
C                                                                          FPOPENF1.8      
C                Meteorological Office                                     FPOPENF1.9      
C                London Road                                               FPOPENF1.10     
C                BRACKNELL                                                 FPOPENF1.11     
C                Berkshire UK                                              FPOPENF1.12     
C                RG12 2SZ                                                  FPOPENF1.13     
C                                                                          FPOPENF1.14     
C If no contract has been raised with this copy of the code, the use,      FPOPENF1.15     
C duplication or disclosure of it is strictly prohibited.  Permission      FPOPENF1.16     
C to do so must first be obtained in writing from the Head of Numerical    FPOPENF1.17     
C Modelling at the above address.                                          FPOPENF1.18     
C ******************************COPYRIGHT******************************    FPOPENF1.19     
C                                                                          FPOPENF1.20     
C Programming standard: Unified Model Documentation Paper No 3             FPOPENF1.21     
C                       Version No 1 15/1/90                               FPOPENF1.22     
C History:                                                                 FPOPENF1.23     
C version  date         change                                             FPOPENF1.24     
C 4.5      03/09/98     New code                                           FPOPENF1.25     
C                                                                          FPOPENF1.26     
! Author:     M. J. Bell                                                   FPOPENF1.27     
!----------------------------------------------------------------------    FPOPENF1.28     
! contains routines: Open_file                                             FPOPENF1.29     
!                                                                          FPOPENF1.30     
! Purpose: Flux processing routine.                                        FPOPENF1.31     
!          Opens an external file                                          FPOPENF1.32     
!----------------------------------------------------------------------    FPOPENF1.33     

      subroutine Open_file(Unit,Form,Stat,ICode)                            12FPOPENF1.34     
                                                                           FPOPENF1.35     
      implicit none                                                        FPOPENF1.36     
                                                                           FPOPENF1.37     
!  declaration of argument list                                            FPOPENF1.38     
      INTEGER      Unit      !IN      Unit Number on which to open file    FPOPENF1.39     
      CHARACTER*11 Form      !IN      Format with which to open file       FPOPENF1.40     
      CHARACTER*7  Stat      !IN      Status with which to open file       FPOPENF1.41     
      INTEGER      ICode     !IN/OUT  Return Code from file open           FPOPENF1.42     
                                                                           FPOPENF1.43     
! declaration of glbbals                                                   FPOPENF1.44     
*CALL CMESS                                                                FPOPENF1.45     
                                                                           FPOPENF1.46     
! declaration of local scalars                                             FPOPENF1.47     
      CHARACTER*1  CUn1D       ! Unit Number as Characters(1 digit)        FPOPENF1.48     
      CHARACTER*2  CUn2D       ! Unit Number as Characters(2 digits)       FPOPENF1.49     
      CHARACTER*5  FName       ! Filename for open statement               FPOPENF1.50     
!----------------------------------------------------------------------    FPOPENF1.51     
! 0. Preliminaries                                                         FPOPENF1.52     
      CSub = 'Open_file'  ! subroutine name for error messages             FPOPENF1.53     
                                                                           FPOPENF1.54     
                                                                           FPOPENF1.55     
! 2. Construct file name                                                   FPOPENF1.56     
                                                                           FPOPENF1.57     
      IF (Unit.LE.9) THEN                                                  FPOPENF1.58     
        CUn1D='0'                                                          FPOPENF1.59     
        WRITE(CUn1D,'(I1)') Unit                                           FPOPENF1.60     
        FName='ftn'//CUn1D                                                 FPOPENF1.61     
      ELSE                                                                 FPOPENF1.62     
        CUn2D='00'                                                         FPOPENF1.63     
        WRITE(CUn2D,'(I2)') Unit                                           FPOPENF1.64     
        FName='ftn'//CUn2D                                                 FPOPENF1.65     
      ENDIF                                                                FPOPENF1.66     
                                                                           FPOPENF1.67     
! 3. Open file                                                             FPOPENF1.68     
                                                                           FPOPENF1.69     
      OPEN(UNIT=Unit,FILE=FName,FORM=Form,STATUS=Stat,IOSTAT=ICode)        FPOPENF1.70     
                                                                           FPOPENF1.71     
9999  continue                                                             FPOPENF1.72     
      return                                                               FPOPENF1.73     
      end                                                                  FPOPENF1.74     
!----------------------------------------------------------------------    FPOPENF1.75     
*ENDIF                                                                     FPOPENF1.76