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

      Subroutine EXNER_CALC(points, nlevs, akh, bkh, pstar, exner)          2S_EXNER.21     
C                                                                          S_EXNER.22     
C     Calculates EXNER function for layer boundaries                       S_EXNER.23     
C                                                                          S_EXNER.24     
C     Modification History:                                                S_EXNER.25     
C Version  Date                                                            S_EXNER.26     
C  4.5     07/98     SCM integrated as a standard UM configuration         S_EXNER.27     
C                    JC Thil.                                              S_EXNER.28     
C                                                                          S_EXNER.29     
C---------------------------------------------------------------------     S_EXNER.30     
C     Arguments                                                            S_EXNER.31     
C---------------------------------------------------------------------     S_EXNER.32     
C                                                                          S_EXNER.33     
      Implicit none                                                        S_EXNER.34     
      Integer                                                              S_EXNER.35     
     &  points                  ! IN No of points                          S_EXNER.36     
     &  ,nlevs                  ! IN no of levels.                         S_EXNER.37     
*CALL C_R_CP                                                               S_EXNER.38     
      Real                                                                 S_EXNER.39     
     &  akh(nlevs+1)                                                       S_EXNER.40     
     &  ,bkh(nlevs+1)           ! IN ak,bk at lower level interfaces       S_EXNER.41     
     &  ,pstar(points)          ! IN surface pressure (pa)                 S_EXNER.42     
     &  ,exner(points,nlevs+1)  ! OUT EXNER function for lower             S_EXNER.43     
                                !     boundary of layer                    S_EXNER.44     
C                                                                          S_EXNER.45     
C---------------------------------------------------------------------     S_EXNER.46     
C     Local variables                                                      S_EXNER.47     
C---------------------------------------------------------------------     S_EXNER.48     
C                                                                          S_EXNER.49     
     &  ,press                  ! Pressure for lower boundary of           S_EXNER.50     
                                !  layer                                   S_EXNER.51     
      Integer i,k               ! Counters                                 S_EXNER.52     
                                                                           S_EXNER.53     
      Do k = 1, points                                                     S_EXNER.54     
        Do i = 1, nlevs+1                                                  S_EXNER.55     
          press = akh(i)+bkh(i) * pstar(k)                                 S_EXNER.56     
          exner(k,i) = (press/pref) ** kappa                               S_EXNER.57     
        enddo                                                              S_EXNER.58     
      enddo                                                                S_EXNER.59     
      Return                                                               S_EXNER.60     
      End                                                                  S_EXNER.61     
C                                                                          S_EXNER.62     
*ENDIF                                                                     S_EXNER.63