*IF DEF,C92_1A HINT_AW1.2
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.15286
C GTS2F400.15287
C Use, duplication or disclosure of this code is subject to the GTS2F400.15288
C restrictions as set forth in the contract. GTS2F400.15289
C GTS2F400.15290
C Meteorological Office GTS2F400.15291
C London Road GTS2F400.15292
C BRACKNELL GTS2F400.15293
C Berkshire UK GTS2F400.15294
C RG12 2SZ GTS2F400.15295
C GTS2F400.15296
C If no contract has been raised with this copy of the code, the use, GTS2F400.15297
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.15298
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.15299
C Modelling at the above address. GTS2F400.15300
C ******************************COPYRIGHT****************************** GTS2F400.15301
C GTS2F400.15302
!+ Performs Area weighted horizitontal interpolation HINT_AW1.3
! HINT_AW1.4
! Subroutine Interface: HINT_AW1.5
SUBROUTINE H_INT_AW(ROWS_IN,ROWS_OUT 1,1HINT_AW1.6
&, ROW_LENGTH_IN,ROW_LENGTH_OUT,GLOBAL HINT_AW1.7
&, AW_INDEX_TARG_LHS,AW_INDEX_TARG_TOP HINT_AW1.8
&, AW_COLAT_T,AW_LONG_L,DATA_IN,DATA_OUT) HINT_AW1.9
HINT_AW1.10
CLL System component: S121 HINT_AW1.11
CLL HINT_AW1.12
CLL System task: S1 HINT_AW1.13
CLL HINT_AW1.14
CLL Purpose: HINT_AW1.15
CLL HINT_AW1.16
CLL Documentation: HINT_AW1.17
CLL The interpolation formulae are described in HINT_AW1.18
CLL unified model on-line documentation paper S1. HINT_AW1.19
CLL HINT_AW1.20
IMPLICIT NONE HINT_AW1.21
! HINT_AW1.22
! Description: HINT_AW1.23
! Carries out bi-linear horizontal interpolation using coefficients HINT_AW1.24
! and gather indices calculated in subroutine H_INT_CO HINT_AW1.25
! HINT_AW1.26
! Method: HINT_AW1.27
! See UMDP S1 for full desciption HINT_AW1.28
! HINT_AW1.29
! Current Code Owner: D.M. Goddard HINT_AW1.30
! HINT_AW1.31
! History: HINT_AW1.32
! Version Date Comment HINT_AW1.33
! ------- ---- ------- HINT_AW1.34
! 4.0 16/03/95 Original code. D.M. Goddard HINT_AW1.35
! HINT_AW1.36
! Code Description: HINT_AW1.37
! Language: FORTRAN 77 + common extensions. HINT_AW1.38
! This code is written to UMDP3 v6 programming standards. HINT_AW1.39
! HINT_AW1.40
! System component covered: S121 HINT_AW1.41
! System Task: S1 HINT_AW1.42
! HINT_AW1.43
! Declarations: HINT_AW1.44
! These are of the form:- HINT_AW1.45
! INTEGER ExampleVariable !Description of variable HINT_AW1.46
! HINT_AW1.47
! Subroutine arguments HINT_AW1.48
! Scalar arguments with intent(in): HINT_AW1.49
INTEGER ROWS_IN !No of rows on source grid HINT_AW1.50
INTEGER ROWS_OUT !No of rows on target grid HINT_AW1.51
INTEGER ROW_LENGTH_IN !No of pts per row on source grid HINT_AW1.52
INTEGER ROW_LENGTH_OUT !No of pts per row on target grid HINT_AW1.53
LOGICAL GLOBAL !True if global area required HINT_AW1.54
HINT_AW1.55
! Array arguments with intent(in): HINT_AW1.56
INTEGER AW_INDEX_TARG_LHS(ROW_LENGTH_OUT+1) HINT_AW1.57
!Index of source box overlapping HINT_AW1.58
!lhs of target grid-box HINT_AW1.59
INTEGER AW_INDEX_TARG_TOP(ROWS_OUT+1) HINT_AW1.60
!Index of source box overlapping HINT_AW1.61
!top of target grid-box HINT_AW1.62
REAL AW_COLAT_T(ROWS_OUT+1) HINT_AW1.63
!Colatitude of top of target grd-box HINT_AW1.64
! (in units of DELTA_LAT_SRCE) HINT_AW1.65
REAL AW_LONG_L(ROW_LENGTH_OUT+1) HINT_AW1.66
!Left longitude of target grid-box HINT_AW1.67
! (in units of DELTA_LONG_SRCE) HINT_AW1.68
REAL DATA_IN(ROW_LENGTH_IN*ROWS_IN) HINT_AW1.69
!Data before interpolation HINT_AW1.70
HINT_AW1.71
! Array arguments with intent(out): HINT_AW1.72
REAL DATA_OUT(ROW_LENGTH_OUT*ROWS_OUT) HINT_AW1.73
!Data after interpolation HINT_AW1.74
HINT_AW1.75
! Local scalars: HINT_AW1.76
INTEGER I HINT_AW1.77
HINT_AW1.78
! Local arrays: HINT_AW1.79
REAL BOXSUM(ROW_LENGTH_OUT,ROWS_OUT) HINT_AW1.80
!Sum of data on target grid HINT_AW1.81
HINT_AW1.82
! Function & Subroutine calls: HINT_AW1.83
External BOX_SUM HINT_AW1.84
HINT_AW1.85
!- End of header HINT_AW1.86
HINT_AW1.87
! 1. Calculate sum of contribution from gridboxes HINT_AW1.88
HINT_AW1.89
CALL BOX_SUM
(ROW_LENGTH_IN,ROWS_IN,ROW_LENGTH_OUT,ROWS_OUT HINT_AW1.90
&, AW_LONG_L,AW_COLAT_T HINT_AW1.91
&, AW_INDEX_TARG_LHS,AW_INDEX_TARG_TOP HINT_AW1.92
&, GLOBAL,DATA_OUT,DATA_IN) HINT_AW1.93
HINT_AW1.94
HINT_AW1.95
RETURN HINT_AW1.96
END HINT_AW1.97
HINT_AW1.98
*ENDIF HINT_AW1.99