*IF DEF,W02_1A                                                             WVV0F401.8      
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.15524  
C                                                                          GTS2F400.15525  
C Use, duplication or disclosure of this code is subject to the            GTS2F400.15526  
C restrictions as set forth in the contract.                               GTS2F400.15527  
C                                                                          GTS2F400.15528  
C                Meteorological Office                                     GTS2F400.15529  
C                London Road                                               GTS2F400.15530  
C                BRACKNELL                                                 GTS2F400.15531  
C                Berkshire UK                                              GTS2F400.15532  
C                RG12 2SZ                                                  GTS2F400.15533  
C                                                                          GTS2F400.15534  
C If no contract has been raised with this copy of the code, the use,      GTS2F400.15535  
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.15536  
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.15537  
C Modelling at the above address.                                          GTS2F400.15538  
C ******************************COPYRIGHT******************************    GTS2F400.15539  
C                                                                          GTS2F400.15540  
C                                                                          AIRSEA.3      
C                                                                          AIRSEA.4      

              SUBROUTINE AIRSEA (U10, TAUW, US, Z0, IJS, IJL,               1AIRSEA.5      
*CALL ARGWVAL                                                              AIRSEA.6      
*CALL ARGWVCP                                                              AIRSEA.7      
*CALL ARGWVTB                                                              AIRSEA.8      
     & icode)                                                              AIRSEA.9      
                                                                           AIRSEA.10     
*CALL PARWVTB                                                              AIRSEA.11     
*CALL PARCONS                                                              AIRSEA.12     
                                                                           AIRSEA.13     
*CALL TYPWVCP                                                              AIRSEA.14     
*CALL TYPWVTB                                                              AIRSEA.15     
*CALL TYPWVAL                                                              AIRSEA.16     
                                                                           AIRSEA.17     
C ----------------------------------------------------------------------   AIRSEA.18     
C                                                                          AIRSEA.19     
C**** *AIRSEA* - DETERMINE TOTAL STRESS IN SURFACE LAYER.                  AIRSEA.20     
C                                                                          AIRSEA.21     
C     P.A.E.M. JANSSEN    KNMI      AUGUST    1990                         AIRSEA.22     
C                                                                          AIRSEA.23     
C*    PURPOSE.                                                             AIRSEA.24     
C     --------                                                             AIRSEA.25     
C                                                                          AIRSEA.26     
C       COMPUTE TOTAL STRESS.                                              AIRSEA.27     
C                                                                          AIRSEA.28     
C**   INTERFACE.                                                           AIRSEA.29     
C     ----------                                                           AIRSEA.30     
C                                                                          AIRSEA.31     
C       *CALL* *AIRSEA (U10, TAUW, US, Z0, IJS, IJL)*                      AIRSEA.32     
C          *U10*  - INPUT BLOCK OF WINDSPEEDS U10.                         AIRSEA.33     
C          *TAUW* - INPUT BLOCK OF WAVE STRESSES.                          AIRSEA.34     
C          *US*   - OUTPUT BLOCK OF SURFACE STRESSES.                      AIRSEA.35     
C          *ZO*   - OUTPUT BLOCK OF ROUGHNESS LENGTH.                      AIRSEA.36     
C          *IJS*  - INDEX OF FIRST GRIDPOINT.                              AIRSEA.37     
C          *IJL*  - INDEX OF LAST GRIDPOINT.                               AIRSEA.38     
C                                                                          AIRSEA.39     
C     METHOD.                                                              AIRSEA.40     
C     -------                                                              AIRSEA.41     
C                                                                          AIRSEA.42     
C       USE TABLE TAUT(TAUW,U) AND LINEAR INTERPOLATION.                   AIRSEA.43     
C                                                                          AIRSEA.44     
C     EXTERNALS.                                                           AIRSEA.45     
C     ----------                                                           AIRSEA.46     
C                                                                          AIRSEA.47     
C       NONE.                                                              AIRSEA.48     
C                                                                          AIRSEA.49     
C     REFERENCE.                                                           AIRSEA.50     
C     ---------                                                            AIRSEA.51     
C                                                                          AIRSEA.52     
C       NONE.                                                              AIRSEA.53     
C                                                                          AIRSEA.54     
C ----------------------------------------------------------------------   AIRSEA.55     
C                                                                          AIRSEA.56     
      DIMENSION U10(NIBLO), TAUW(NIBLO), US(NIBLO), Z0(NIBLO)              AIRSEA.57     
C                                                                          AIRSEA.58     
C ----------------------------------------------------------------------   AIRSEA.59     
C                                                                          AIRSEA.60     
C*    1. DETERMINE TOTAL STRESS FROM TABLE.                                AIRSEA.61     
C        ----------------------------------                                AIRSEA.62     
C                                                                          AIRSEA.63     
      if(deltauw.le.0.or.delu.le.0) then                                   AIRSEA.64     
      WRITE(6,*)'error in airsea deltauw or delu is zero: setting icode'   GIE0F403.47     
       icode=1                                                             AIRSEA.66     
       goto 999                                                            AIRSEA.67     
      endif                                                                AIRSEA.68     
                                                                           AIRSEA.69     
 1000 CONTINUE                                                             AIRSEA.70     
      DO 1001 IJ=IJS,IJL                                                   AIRSEA.71     
         XI      = TAUW(IJ)/DELTAUW                                        AIRSEA.72     
         I       = MIN ( ITAUMAX-1, INT(XI) )                              AIRSEA.73     
         DELI1   = XI - FLOAT(I)                                           AIRSEA.74     
         DELI2   = 1. - DELI1                                              AIRSEA.75     
         XJ      = U10(IJ)/DELU                                            AIRSEA.76     
         J       = MIN ( JUMAX-1, INT(XJ) )                                AIRSEA.77     
         DELJ1   = XJ - FLOAT(J)                                           AIRSEA.78     
         DELJ2   = 1. - DELJ1                                              AIRSEA.79     
         DELTOLD = (TAUT(I,J  )*DELI2 + TAUT(I+1,J  )*DELI1)*DELJ2         AIRSEA.80     
     1           + (TAUT(I,J+1)*DELI2 + TAUT(I+1,J+1)*DELI1)*DELJ1         AIRSEA.81     
         US(IJ) = SQRT(DELTOLD)                                            AIRSEA.82     
 1001 CONTINUE                                                             AIRSEA.83     
C                                                                          AIRSEA.84     
C*    2. DETERMINE ROUGHNESS LENGTH.                                       AIRSEA.85     
C        ---------------------------                                       AIRSEA.86     
C                                                                          AIRSEA.87     
 2000 CONTINUE                                                             AIRSEA.88     
      DO 2001 IJ=IJS,IJL                                                   AIRSEA.89     
         UST     = MAX (US(IJ), 0.000001)                                  AIRSEA.90     
         X       = MIN (TAUW(IJ)/UST**2, 0.999)                            AIRSEA.91     
         Z0(IJ)  = ALPHA*UST**2 / (G*SQRT(1.-X))                           AIRSEA.92     
 2001 CONTINUE                                                             AIRSEA.93     
C                                                                          AIRSEA.94     
  999 continue                                                             AIRSEA.95     
      RETURN                                                               AIRSEA.96     
      END                                                                  AIRSEA.97     
*ENDIF                                                                     AIRSEA.98