*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.30SUBROUTINE 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