*IF DEF,C90_1A,OR,DEF,C90_2A,OR,DEF,C90_2B                                 AAD2F404.296    
C ******************************COPYRIGHT******************************    GTS2F400.7795   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.7796   
C                                                                          GTS2F400.7797   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.7798   
C restrictions as set forth in the contract.                               GTS2F400.7799   
C                                                                          GTS2F400.7800   
C                Meteorological Office                                     GTS2F400.7801   
C                London Road                                               GTS2F400.7802   
C                BRACKNELL                                                 GTS2F400.7803   
C                Berkshire UK                                              GTS2F400.7804   
C                RG12 2SZ                                                  GTS2F400.7805   
C                                                                          GTS2F400.7806   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.7807   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.7808   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.7809   
C Modelling at the above address.                                          GTS2F400.7810   
C ******************************COPYRIGHT******************************    GTS2F400.7811   
C                                                                          GTS2F400.7812   
CLL  SUBROUTINE P_TO_CV---------------------------------------------       PTOCV1A.3      
CLL                                                                        PTOCV1A.4      
CLL  Purpose:  Interpolates a horizontal field from pressure to wind       PTOCV1A.5      
CLL            points on an Arakawa C grid. This routine carries out       PTOCV1A.6      
CLL            N-S interpolation to v-point. The output array              PTOCV1A.7      
CLL            contains one less row than the input array.                 PTOCV1A.8      
CLL  Not suitable for single column use.                                   PTOCV1A.9      
CLL                                                                        PTOCV1A.10     
CLL  Written 12/9/91 by A. Dickinson                                       PTOCV1A.11     
CLL                                                                        PTOCV1A.12     
CLL  Model            Modification history from model version 3.0:         PTOCV1A.13     
CLL version  date                                                          PTOCV1A.14     
CLL                                                                        PTOCV1A.15     
CLL  Programming standard:                                                 PTOCV1A.16     
CLL           Unified Model Documentation Paper No 3                       PTOCV1A.17     
CLL           Version No 3 18/12/90                                        PTOCV1A.18     
CLL                                                                        PTOCV1A.19     
CLL  System component: S101                                                PTOCV1A.20     
CLL                                                                        PTOCV1A.21     
CLL  System task: S1                                                       PTOCV1A.22     
CLL                                                                        PTOCV1A.23     
CLL  Documentation:  The equation used is (2.1)                            PTOCV1A.24     
CLL                  in unified model documentation paper No. S1           PTOCV1A.25     
CLL                                                                        PTOCV1A.26     
CLLEND-------------------------------------------------------------        PTOCV1A.27     
                                                                           PTOCV1A.28     
C                                                                          PTOCV1A.29     
C*L  Arguments:---------------------------------------------------         PTOCV1A.30     

      SUBROUTINE P_TO_CV                                                    1PTOCV1A.31     
     1  (P_DATA,U_DATA,P_FIELD,U_FIELD,ROW_LENGTH,ROWS)                    PTOCV1A.32     
                                                                           PTOCV1A.33     
      IMPLICIT NONE                                                        PTOCV1A.34     
                                                                           PTOCV1A.35     
      INTEGER                                                              PTOCV1A.36     
     *  ROWS               !IN    Number of rows to be updated.            PTOCV1A.37     
     *, ROW_LENGTH         !IN    Number of points per row                 PTOCV1A.38     
     *, P_FIELD            !IN    Number of points in input field          PTOCV1A.39     
     *, U_FIELD            !IN    Number of points in output field         PTOCV1A.40     
                                                                           PTOCV1A.41     
      REAL                                                                 PTOCV1A.42     
     * P_DATA(P_FIELD)     !INOUT Data on p points                         PTOCV1A.43     
     *,U_DATA(U_FIELD)     !  OUT Data on uv points                        PTOCV1A.44     
C*---------------------------------------------------------------------    PTOCV1A.45     
                                                                           PTOCV1A.46     
C*L  Local arrays:-----------------------------------------------------    PTOCV1A.47     
C    None                                                                  PTOCV1A.48     
C*---------------------------------------------------------------------    PTOCV1A.49     
                                                                           PTOCV1A.50     
C*L  External subroutine calls:---------------------------------------     PTOCV1A.51     
C    None                                                                  PTOCV1A.52     
C*---------------------------------------------------------------------    PTOCV1A.53     
                                                                           PTOCV1A.54     
C----------------------------------------------------------------------    PTOCV1A.55     
C    Define local variables                                                PTOCV1A.56     
C----------------------------------------------------------------------    PTOCV1A.57     
      INTEGER                                                              PTOCV1A.58     
     *  U_POINTS      !     Number of values at u points                   PTOCV1A.59     
     *,I,M            !     Horizontal loop indices                        PTOCV1A.60     
                                                                           PTOCV1A.61     
C---------------------------------------------------------------------     PTOCV1A.62     
CL    1.     Initialise local constants                                    PTOCV1A.63     
C---------------------------------------------------------------------     PTOCV1A.64     
                                                                           PTOCV1A.65     
      U_POINTS      =  ROW_LENGTH * (ROWS-1)                               PTOCV1A.66     
                                                                           PTOCV1A.67     
C---------------------------------------------------------------------     PTOCV1A.68     
CL    2.     Calculate horizontal average at u points                      PTOCV1A.69     
C---------------------------------------------------------------------     PTOCV1A.70     
                                                                           PTOCV1A.71     
      DO 200 I=1,U_POINTS                                                  PTOCV1A.72     
       U_DATA(I)=0.5*(P_DATA(I)+P_DATA(I+ROW_LENGTH))                      PTOCV1A.73     
200   CONTINUE                                                             PTOCV1A.74     
                                                                           PTOCV1A.75     
      RETURN                                                               PTOCV1A.76     
      END                                                                  PTOCV1A.77     
*ENDIF                                                                     PTOCV1A.78