*IF DEF,W08_1A GLW1F404.31 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.15745 C GTS2F400.15746 C Use, duplication or disclosure of this code is subject to the GTS2F400.15747 C restrictions as set forth in the contract. GTS2F400.15748 C GTS2F400.15749 C Meteorological Office GTS2F400.15750 C London Road GTS2F400.15751 C BRACKNELL GTS2F400.15752 C Berkshire UK GTS2F400.15753 C RG12 2SZ GTS2F400.15754 C GTS2F400.15755 C If no contract has been raised with this copy of the code, the use, GTS2F400.15756 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.15757 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.15758 C Modelling at the above address. GTS2F400.15759 C ******************************COPYRIGHT****************************** GTS2F400.15760 C GTS2F400.15761 GRADI.3SUBROUTINE GRADI (IG, IREFRA, DDPHI, DDLAM, DUPHI, DULAM, 1GRADI.4 & DVPHI, DVLAM, GRADI.5 *CALL ARGWVAL
GRADI.6 *CALL ARGWVCU
GRADI.7 *CALL ARGWVGD
GRADI.8 *CALL ARGWVSH
GRADI.9 *CALL ARGWVKL
GRADI.10 & icode) GRADI.11 GRADI.12 *CALL PARWVSH
GRADI.13 GRADI.14 *CALL TYPWVCU
GRADI.15 *CALL TYPWVGD
GRADI.16 *CALL TYPWVSH
GRADI.17 *CALL TYPWVKL
GRADI.18 *CALL TYPWVAL
GRADI.19 GRADI.20 C ---------------------------------------------------------------------- GRADI.21 C GRADI.22 C**** *GRADI* - CALCULATES DEPTH AND CURRENT VELOCITY GRADIENTS. GRADI.23 C GRADI.24 C K.P. HUBBERT AUGUST 1988 GRADI.25 C H. GUNTHER ECMWF/GKSS DECEMBER 1990 MODIFIED FOR CYCLE_4. GRADI.26 C GRADI.27 C* PURPOSE. GRADI.28 C -------- GRADI.29 C GRADI.30 C CALCULATES DEPTH AND CURRENT VELOCITY GRADIENTS OF A BLOCK. GRADI.31 C GRADI.32 C** INTERFACE. GRADI.33 C ---------- GRADI.34 C GRADI.35 C *CALL* *GRADI (IG, IREFRA, DDPHI, DDLAM, DUPHI, DULAM, GRADI.36 C DVPHI, DVLAM)* GRADI.37 C *IG* - BLOCK NUMBER. GRADI.38 C *IREFRA* - REFRACTION OPTION. GRADI.39 C *DDPHI* - LATITUDE DEPTH GRADIENT. GRADI.40 C *DDLAM* - LONGITUDE DEPTH GRADIENT. GRADI.41 C *DUPHI* - LATITUDE U-COMPONENT GRADIENT. GRADI.42 C *DULAM* - LONGITUDE U-COMPONENT GRADIENT. GRADI.43 C *DVPHI* - LATITUDE V-COMPONENT GRADIENT. GRADI.44 C *DVLAM* - LONGITUDE V-COMPONENT GRADIENT. GRADI.45 C GRADI.46 C METHOD. GRADI.47 C ------ GRADI.48 C GRADI.49 C CENTRAL DIFFERENCING FOR DEPTH AND CURRENT VELOCITY GRADIENTS. GRADI.50 C GRADI.51 C EXTERNALS. GRADI.52 C ---------- GRADI.53 C GRADI.54 C NONE. GRADI.55 C GRADI.56 C REFERENCE. GRADI.57 C ---------- GRADI.58 C GRADI.59 C NONE. GRADI.60 C GRADI.61 C ---------------------------------------------------------------------- GRADI.62 C GRADI.63 cccc*CALL PARALL GRADI.64 C GRADI.65 ccc*CALL COMCURR GRADI.66 C PARAMETER (CO = 1.1, ALN00 = 24.1589, GRADI.67 C 1 FRE0 = CO-1., PI2G = ZPI/G) GRADI.68 ccc*CALL COMGRID GRADI.69 C GRADI.70 ccc*CALL COMSHAL GRADI.71 C GRADI.72 ccc*CALL COMUBUF GRADI.73 C GRADI.74 C ---------------------------------------------------------------------- GRADI.75 C GRADI.76 DIMENSION DDPHI(NIBLD), DDLAM(NIBLD), DUPHI(NIBLC), DULAM(NIBLC), GRADI.77 1 DVPHI(NIBLC), DVLAM(NIBLC) GRADI.78 C GRADI.79 C ---------------------------------------------------------------------- GRADI.80 C GRADI.81 C* 1. INITIALISE. GRADI.82 C ----------- GRADI.83 C GRADI.84 1000 CONTINUE GRADI.85 DELPHI2 = 1./(DELPHI*2.0) GRADI.86 DELLAM2 = 1./(DELLAM*2.0) GRADI.87 C GRADI.88 C ---------------------------------------------------------------------- GRADI.89 C GRADI.90 C* 2. CALCULATE DEPTH GRADIENTS. GRADI.91 C -------------------------- GRADI.92 C GRADI.93 2000 CONTINUE GRADI.94 DO 2001 IJ=1,NIBLD GRADI.95 DDPHI(IJ) = 0.0 GRADI.96 DDLAM(IJ) = 0.0 GRADI.97 2001 CONTINUE GRADI.98 DO 2002 IJ=IJS(IG),IJL(IG) GRADI.99 IPP = KLAT(IJ,2,ig) GRADI.100 IPM = KLAT(IJ,1,ig) GRADI.101 IF (IPP.GT.0 .AND. IPM.GT.0) THEN GRADI.102 DDPHI(IJ) = (DEPTH(IPP,IG)-DEPTH(IPM,IG))*DELPHI2 GRADI.103 ENDIF GRADI.104 ILP = KLON(IJ,2,ig) GRADI.105 ILM = KLON(IJ,1,ig) GRADI.106 IF (ILP.GT.0 .AND. ILM.GT.0) THEN GRADI.107 DDLAM(IJ) = (DEPTH(ILP,IG)-DEPTH(ILM,IG))*DELLAM2 GRADI.108 ENDIF GRADI.109 2002 CONTINUE GRADI.110 C GRADI.111 C ---------------------------------------------------------------------- GRADI.112 C GRADI.113 C* 3. CALCULATE CURRENT VELOCITY GRADIENTS. GRADI.114 C ------------------------------------- GRADI.115 C GRADI.116 3000 CONTINUE GRADI.117 IF (IREFRA.EQ.2) THEN GRADI.118 DO 3001 IJ=1,NIBLC GRADI.119 DUPHI(IJ) = 0.0 GRADI.120 DULAM(IJ) = 0.0 GRADI.121 DVPHI(IJ) = 0.0 GRADI.122 DVLAM(IJ) = 0.0 GRADI.123 3001 CONTINUE GRADI.124 DO 3002 IJ=IJS(IG),IJL(IG) GRADI.125 IPP = KLAT(IJ,2,ig) GRADI.126 IPM = KLAT(IJ,1,ig) GRADI.127 IF (IPP.GT.0 .AND. IPM.GT.0) THEN GRADI.128 DUPHI(IJ) = (U(IPP,IG)-U(IPM,IG))*DELPHI2 GRADI.129 DVPHI(IJ) = (V(IPP,IG)-V(IPM,IG))*DELPHI2 GRADI.130 ENDIF GRADI.131 ILP = KLON(IJ,2,ig) GRADI.132 ILM = KLON(IJ,1,ig) GRADI.133 IF (ILP.GT.0 .AND. ILM.GT.0) THEN GRADI.134 DULAM(IJ) = (U(ILP,IG)-U(ILM,IG))*DELLAM2 GRADI.135 DVLAM(IJ) = (V(ILP,IG)-V(ILM,IG))*DELLAM2 GRADI.136 ENDIF GRADI.137 3002 CONTINUE GRADI.138 ENDIF GRADI.139 GRADI.140 RETURN GRADI.141 END GRADI.142 *ENDIF GRADI.143