*IF DEF,C93_1A,OR,DEF,C93_2A GNF0F402.24 C ******************************COPYRIGHT****************************** GTS2F400.12205 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.12206 C GTS2F400.12207 C Use, duplication or disclosure of this code is subject to the GTS2F400.12208 C restrictions as set forth in the contract. GTS2F400.12209 C GTS2F400.12210 C Meteorological Office GTS2F400.12211 C London Road GTS2F400.12212 C BRACKNELL GTS2F400.12213 C Berkshire UK GTS2F400.12214 C RG12 2SZ GTS2F400.12215 C GTS2F400.12216 C If no contract has been raised with this copy of the code, the use, GTS2F400.12217 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.12218 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.12219 C Modelling at the above address. GTS2F400.12220 C ******************************COPYRIGHT****************************** GTS2F400.12221 C GTS2F400.12222 CLL Subroutine ZONM ---------------------------------------------- ZONM1A.3 CLL ZONM1A.4 CLL Purpose : ZONM1A.5 CLL ZONM1A.6 CLL Model Modification history from model version 3.0: ZONM1A.7 CLL version Date ZONM1A.8 CLL vn4.2 07/11/96:Allow this routine to be used in C93_2A (Farnon) GNF0F402.23 CLL ZONM1A.9 CLL Programming standard : ZONM1A.10 CLL ZONM1A.11 CLL Logical components covered : ZONM1A.12 CLL ZONM1A.13 CLL Project task : ZONM1A.14 CLL ZONM1A.15 CLL External documentation: ZONM1A.16 CLL ZONM1A.17 CLLEND ----------------------------------------------------------------- ZONM1A.18 C ZONM1A.19SUBROUTINE ZONM(VAR,ZVAR,MASK,MASS,LGPTS,NY,NX) 61ZONM1A.20 C ZONM1A.21 IMPLICIT NONE ZONM1A.22 C ZONM1A.23 INTEGER ZONM1A.24 1 NX, ! - Longitude: p,u-rows ZONM1A.25 2 NY, ! - Latitude: rowlength ZONM1A.26 4 I, ZONM1A.27 5 J ZONM1A.28 REAL ZONM1A.29 1 VAR(NY,NX), ! IN - Variable for calculation ZONM1A.30 2 ZVAR(NX), ! IN - Zonal mean of variable ZONM1A.31 3 MASK(NY,NX), ! IN - Mask (eg. Land/sea) ZONM1A.32 3 MASS(NY,NX) ! IN - Mass weighting (p,u-grid) ZONM1A.33 LOGICAL ZONM1A.34 1 LGPTS(NX) ! - No of land points/row ZONM1A.35 CL ZONM1A.36 C--- ZONM1A.37 C Subroutines called ZONM1A.38 C NONE ZONM1A.39 C--- ZONM1A.40 C ZONM1A.41 C Local Variables ZONM1A.42 C ZONM1A.43 REAL ZONM1A.44 1 SUMZTOP(NX), ZONM1A.45 2 SUMZBOT(NX) ZONM1A.46 CL ZONM1A.47 C ZONM1A.48 CL 1. SUMZTOP= Sum of(MASS * MASK * VAR) for each I ZONM1A.49 CL SUMZBOT= Sum of(MASS * VAR) for each I ZONM1A.50 CL ZVAR= SUMZTOP/SUMZBOT ZONM1A.51 CL ZONM1A.52 DO 10,I=1,NX ZONM1A.53 SUMZTOP(I)=0.0 ZONM1A.54 SUMZBOT(I)=0.0 ZONM1A.55 DO 20,J=1,NY ZONM1A.56 SUMZBOT(I) = SUMZBOT(I) + MASK(J,I) * MASS(J,I) ZONM1A.57 SUMZTOP(I) = SUMZTOP(I) + (MASK(J,I) * MASS(J,I) * VAR(J,I)) ZONM1A.58 20 CONTINUE ZONM1A.59 IF (LGPTS(I)) THEN ! If logical pts/row=true then ZONM1A.60 ZVAR(I) = SUMZTOP(I)/SUMZBOT(I) ! Calculate zonal mean ZONM1A.61 ELSE ! Else ZONM1A.62 ZVAR(I)=0.0 ! zonal mean=zero for that row ZONM1A.63 ENDIF ZONM1A.64 10 CONTINUE ZONM1A.65 RETURN ZONM1A.66 END ZONM1A.67 C ZONM1A.68 CL====================================================================== ZONM1A.69 CL 5.1 Subroutine to calculate the column mean of a variable ZONM1A.70 CL---------------------------------------------------------------------- ZONM1A.71 *ENDIF ZONM1A.72