*IF DEF,A08_5A,OR,DEF,A08_7A                                               ARE1F404.346    
C *****************************COPYRIGHT******************************     INFILT5A.3      
C (c) CROWN COPYRIGHT 1996, METEOROLOGICAL OFFICE, All Rights Reserved.    INFILT5A.4      
C                                                                          INFILT5A.5      
C Use, duplication or disclosure of this code is subject to the            INFILT5A.6      
C restrictions as set forth in the contract.                               INFILT5A.7      
C                                                                          INFILT5A.8      
C                Meteorological Office                                     INFILT5A.9      
C                London Road                                               INFILT5A.10     
C                BRACKNELL                                                 INFILT5A.11     
C                Berkshire UK                                              INFILT5A.12     
C                RG12 2SZ                                                  INFILT5A.13     
C                                                                          INFILT5A.14     
C If no contract has been raised with this copy of the code, the use,      INFILT5A.15     
C duplication or disclosure of it is strictly prohibited.  Permission      INFILT5A.16     
C to do so must first be obtained in writing from the Head of Numerical    INFILT5A.17     
C Modelling at the above address.                                          INFILT5A.18     
C ******************************COPYRIGHT******************************    INFILT5A.19     
!    SUBROUTINE INFILT------------------------------------------------     INFILT5A.20     
!                                                                          INFILT5A.21     
! Subroutine Interface:                                                    INFILT5A.22     

      SUBROUTINE INFILT (NPNTS,SOIL_PTS,SOIL_INDEX,B,KS                     1,2INFILT5A.23     
     &,                  INFIL_FAC,STHF,INFIL                              INFILT5A.24     
C LOGICAL LTIMER                                                           INFILT5A.25     
     +,LTIMER                                                              INFILT5A.26     
     +)                                                                    INFILT5A.27     
                                                                           INFILT5A.28     
      IMPLICIT NONE                                                        INFILT5A.29     
!                                                                          INFILT5A.30     
! Description:                                                             INFILT5A.31     
!     Calculates the maximum infiltration rate at the soil                 INFILT5A.32     
!     surface                                            (Cox, 6/95)       INFILT5A.33     
!                                                                          INFILT5A.34     
! Documentation : UM Documentation Paper 25                                INFILT5A.35     
!                                                                          INFILT5A.36     
! Current Code Owner : David Gregory                                       INFILT5A.37     
!                                                                          INFILT5A.38     
! History:                                                                 INFILT5A.39     
! Version   Date     Comment                                               INFILT5A.40     
! -------   ----     -------                                               INFILT5A.41     
!  4.1                New deck.   Peter Cox                                INFILT5A.42     
!                                                                          INFILT5A.43     
! Code Description:                                                        INFILT5A.44     
!   Language: FORTRAN 77 + common extensions.                              INFILT5A.45     
!                                                                          INFILT5A.46     
! System component covered: P25                                            INFILT5A.47     
! System Task: P25                                                         INFILT5A.48     
!                                                                          INFILT5A.49     
                                                                           INFILT5A.50     
                                                                           INFILT5A.51     
! Global variables:                                                        INFILT5A.52     
                                                                           INFILT5A.53     
! Subroutine arguments                                                     INFILT5A.54     
!   Scalar arguments with intent(IN) :                                     INFILT5A.55     
      INTEGER                                                              INFILT5A.56     
     & NPNTS                ! IN Number of gridpoints.                     INFILT5A.57     
     &,SOIL_PTS             ! IN Number of soil points.                    INFILT5A.58     
                                                                           INFILT5A.59     
!   Array arguments with intent(IN) :                                      INFILT5A.60     
      INTEGER                                                              INFILT5A.61     
     & SOIL_INDEX(NPNTS)    ! IN Array of soil points.                     INFILT5A.62     
                                                                           INFILT5A.63     
      REAL                                                                 INFILT5A.64     
     & B(NPNTS)             ! IN Clapp-Hornberger exponent.                INFILT5A.65     
     &,KS(NPNTS)            ! IN Saturated hydraulic conductivity          INFILT5A.66     
!                           !    (kg/m2/s).                                INFILT5A.67     
     &,INFIL_FAC(NPNTS)     ! IN Infiltration enhancement factor.          INFILT5A.68     
     &,STHF(NPNTS)          ! IN Frozen soil moisture content of           INFILT5A.69     
!                           !    the layer as a fraction of                INFILT5A.70     
!                           !    saturation.                               INFILT5A.71     
     &,SATHH(NPNTS)         ! IN Saturated soil water pressure (m).        INFILT5A.72     
                                                                           INFILT5A.73     
C                                                                          INFILT5A.74     
      LOGICAL LTIMER        ! Logical switch for TIMER diags               INFILT5A.75     
!   Array arguments with intent(OUT) :                                     INFILT5A.76     
      REAL                                                                 INFILT5A.77     
     & INFIL(NPNTS)         ! OUT Maximum infiltration rate at the         INFILT5A.78     
!                           !     soil surface (kg/m2/s).                  INFILT5A.79     
                                                                           INFILT5A.80     
! Local scalars:                                                           INFILT5A.81     
      INTEGER                                                              INFILT5A.82     
     & I,J                  ! WORK Loop counter.                           INFILT5A.83     
                                                                           INFILT5A.84     
! Local arrays:                                                            INFILT5A.85     
      REAL                                                                 INFILT5A.86     
     & STHUMAX(NPNTS)       ! WORK Maximum unfrozen soil moisture of       INFILT5A.87     
!                           !      the top layer as a fraction of          INFILT5A.88     
!                           !      saturation.                             INFILT5A.89     
                                                                           INFILT5A.90     
      IF (LTIMER) THEN                                                     INFILT5A.91     
        CALL TIMER('INFILT  ',103)                                         GPB8F405.146    
      ENDIF                                                                INFILT5A.93     
                                                                           INFILT5A.94     
!-----------------------------------------------------------------------   INFILT5A.95     
! Initialise the infiltration rate (for land ice)                          INFILT5A.96     
!-----------------------------------------------------------------------   INFILT5A.97     
      DO I=1,NPNTS                                                         INFILT5A.98     
        INFIL(I)=KS(I)                                                     INFILT5A.99     
      ENDDO                                                                INFILT5A.100    
                                                                           INFILT5A.101    
!-----------------------------------------------------------------------   INFILT5A.102    
! Diagnose the maximum unfrozen water                                      INFILT5A.103    
!-----------------------------------------------------------------------   INFILT5A.104    
!     DO J=1,SOIL_PTS                                                      INFILT5A.105    
!       I=SOIL_INDEX(J)                                                    INFILT5A.106    
!-----------------------------------------------------------------------   INFILT5A.107    
! Neglect the effect of frozen water on the infiltration rate - to avoid   INFILT5A.108    
! excessive runoff in the Boreal regions               (P.M.Cox 26/2/96)   INFILT5A.109    
!       STHUMAX(I)=1.0-STHF(I)       ! Old code                            INFILT5A.110    
!-----------------------------------------------------------------------   INFILT5A.111    
!       STHUMAX(I)=1.0                                                     INFILT5A.112    
!     ENDDO                                                                INFILT5A.113    
                                                                           INFILT5A.114    
!----------------------------------------------------------------------    INFILT5A.115    
! Calculate the hydraulic conductivity of the top layer.                   INFILT5A.116    
!----------------------------------------------------------------------    INFILT5A.117    
!     CALL HYD_CON (NPNTS,SOIL_PTS,SOIL_INDEX,B,KS,STHUMAX,INFIL,          INFILT5A.118    
!    &              LTIMER)                                                INFILT5A.119    
!                                                                          INFILT5A.120    
!----------------------------------------------------------------------    INFILT5A.121    
! Include infiltration enhancement by vegetation                           INFILT5A.122    
!----------------------------------------------------------------------    INFILT5A.123    
CDIR$ IVDEP                                                                INFILT5A.124    
! Fujitsu vectorization directive                                          GRB0F405.365    
!OCL NOVREC                                                                GRB0F405.366    
      DO J=1,SOIL_PTS                                                      INFILT5A.125    
        I=SOIL_INDEX(J)                                                    INFILT5A.126    
        INFIL(I)=INFIL(I)*INFIL_FAC(I)                                     INFILT5A.127    
      ENDDO                                                                INFILT5A.128    
                                                                           INFILT5A.129    
      IF (LTIMER) THEN                                                     INFILT5A.130    
        CALL TIMER('INFILT  ',104)                                         GPB8F405.147    
      ENDIF                                                                INFILT5A.132    
                                                                           INFILT5A.133    
      RETURN                                                               INFILT5A.134    
      END                                                                  INFILT5A.135    
*ENDIF                                                                     INFILT5A.136