*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.20Subroutine 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