*IF DEF,W06_1A                                                             VINTPAR.2      
!                                                                          VINTPAR.3      
! Description:                                                             VINTPAR.4      
!  This subroutine is part of the wavetrain diagnostic output code         VINTPAR.5      
!  developed by Anne Guillaume at MeteoFrance and ECMWF.                   VINTPAR.6      
!  Introduced into the unified wave moel at UM4.1                          VINTPAR.7      
!                                                                          VINTPAR.8      
! Method:                                                                  VINTPAR.9      
!                                                                          VINTPAR.10     
!                                                                          VINTPAR.11     
!                                                                          VINTPAR.12     
! Current Code Owner: Martin Holt                                          VINTPAR.13     
!                                                                          VINTPAR.14     
! History:                                                                 VINTPAR.15     
! Version   Date     Comment                                               VINTPAR.16     
! -------   ----     -------                                               VINTPAR.17     
! UM4.1    June 1996 Code introduced to UM.  M Holt                        VINTPAR.18     
!                                                                          VINTPAR.19     
! Code Description:                                                        VINTPAR.20     
!   Language: FORTRAN 77 + common extensions.                              VINTPAR.21     
!                                                                          VINTPAR.22     
!- End of header                                                           VINTPAR.23     
                                                                           VINTPAR.24     

      SUBROUTINE VINTPAR(PSPEC,PETO,PERIO,PDIR,KBLO,KJS,KJL,KANG,KFRE,      2,3VINTPAR.25     
     %                   PFREQ,PFBIN,PTHETA,PMISS,df)                      VINTPAR.26     
C                                                                          VINTPAR.27     
C**** *VINTPAR* - ROUTINE TO COMPUTE INTEGRATED PARAMETERS.                VINTPAR.28     
C                                                                          VINTPAR.29     
C     A.GUILLAUME      ECMWF                02/07/92                       VINTPAR.30     
C                                                                          VINTPAR.31     
C     PURPOSE.                                                             VINTPAR.32     
C     --------                                                             VINTPAR.33     
C                                                                          VINTPAR.34     
C          *VINTPAR* COMPUTES ETOT, MEAN DIR AND MEAN PERIOD.              VINTPAR.35     
C                                                                          VINTPAR.36     
C**   INTERFACE.                                                           VINTPAR.37     
C     ----------                                                           VINTPAR.38     
C                                                                          VINTPAR.39     
C          *CALL* *VINTPAR(PSPEC,PETO,PERIO,PDIR,KBLO,KJS,KJL,KANG,KFRE,   VINTPAR.40     
C                          PFREQ,PFBIN,PTHETA,PMISS)                       VINTPAR.41     
C                                                                          VINTPAR.42     
C       I/      *PSPEC    - WAVE SPECTRUM.                                 VINTPAR.43     
C        /O     *PETO*    - TOTAL ENERGY OF WAVE TRAINS.                   VINTPAR.44     
C        /O     *PERIO*   - MEAN PERIOD  OF WAVE TRAINS.                   VINTPAR.45     
C        /O     *PDIR*    - MEAN DIRECTION OF WAVE TRAINS.                 VINTPAR.46     
C       I/      *KBLO*    - DIMENSION OF ONE BLOCK.                        VINTPAR.47     
C       I/      *KJS*     - INDEX OF FIRST POINT OF BLOCK TO USE.          VINTPAR.48     
C       I/      *KJL*     - INDEX OF LAST POINT OF BLOCK TO USE.           VINTPAR.49     
C       I/      *KANG*    - NUMBER OF DIRECTIONS.                          VINTPAR.50     
C       I/      *KFRE*    - NUMBER OF FREQUENCIES.                         VINTPAR.51     
C       I/      *PFREQ*   - FREQUENCY MATRIX.                              VINTPAR.52     
C       I/      *PFBIN*   - PFREQ(IF+1)=PFREQ(IF)*(1+PFBIN)                VINTPAR.53     
C       I/      *PTHETA*  - DIRECTION MATRIX.                              VINTPAR.54     
C       I/      *PMISS*   - MISSING VALUE                                  VINTPAR.55     
C                                                                          VINTPAR.56     
C     METHOD.                                                              VINTPAR.57     
C     -------                                                              VINTPAR.58     
C                                                                          VINTPAR.59     
C                                                                          VINTPAR.60     
C     EXTERNALS.                                                           VINTPAR.61     
C     ----------                                                           VINTPAR.62     
C          VTOTT                                                           VINTPAR.63     
C          VAGDIRT                                                         VINTPAR.64     
C                                                                          VINTPAR.65     
C     REFERENCE.                                                           VINTPAR.66     
C     ----------                                                           VINTPAR.67     
C                                                                          VINTPAR.68     
C          NONE.                                                           VINTPAR.69     
C                                                                          VINTPAR.70     
      DIMENSION PSPEC(KBLO,KANG,KFRE)                                      VINTPAR.71     
      DIMENSION PETO(KBLO),PERIO(KBLO),                                    VINTPAR.72     
     %          PDIR(KBLO)                                                 VINTPAR.73     
      DIMENSION PFREQ(KFRE),PTHETA(KANG),df(kfre)                          VINTPAR.74     
C..WORKING ARRAYS:                                                         VINTPAR.75     
      DIMENSION ZWORK(KJL-KJS+1,KANG,KFRE),ZETO(KJL-KJS+1)                 VINTPAR.76     
C                                                                          VINTPAR.77     
C          1. COMPUTE INTEGRATED PARAMETERS OF NEW WAVE TRAIN.             VINTPAR.78     
C             -----------------------------------------------              VINTPAR.79     
C                                                                          VINTPAR.80     
100   CONTINUE                                                             VINTPAR.81     
c                                                                          VINTPAR.82     
c     this call puts sum (E*df) into array PETO                            VINTPAR.83     
c                                                                          VINTPAR.84     
      CALL VTOTT(PSPEC,KBLO,KJS,KJL,KANG,KFRE,PFREQ,PFBIN,PETO,df)         VINTPAR.85     
      CALL VAGDIRT(PSPEC,KBLO,KJS,KJL,KANG,KFRE,                           VINTPAR.86     
     %             PFREQ,PFBIN,PTHETA,PMISS,PDIR,df)                       VINTPAR.87     
      DO 101 JFRE=1,KFRE                                                   VINTPAR.88     
      DO 101 JANG=1,KANG                                                   VINTPAR.89     
      DO 101 J=KJS,KJL                                                     VINTPAR.90     
      ZWORK(J-KJS+1,JANG,JFRE)=PSPEC(J,JANG,JFRE)                          VINTPAR.91     
     %                   /PFREQ(JFRE)                                      VINTPAR.92     
101   CONTINUE                                                             VINTPAR.93     
c                                                                          VINTPAR.94     
c     this call puts sum (E/f *df) into array ZETO                         VINTPAR.95     
c                                                                          VINTPAR.96     
      CALL VTOTT(ZWORK,KJL-KJS+1,1,KJL-KJS+1,KANG,KFRE,PFREQ,PFBIN,        VINTPAR.97     
     %           ZETO,df)                                                  VINTPAR.98     
      DO 102 J=KJS,KJL                                                     VINTPAR.99     
      IF(PETO(J).EQ.0.) THEN                                               VINTPAR.100    
         PERIO(J)=PMISS                                                    VINTPAR.101    
      ELSE                                                                 VINTPAR.102    
cc    nb here if NOT using pfbin then peto holds sum(E*df)                 VINTPAR.103    
cc    nb but zeto holds sum(E/f * df) calc  using same method in VTOT      VINTPAR.104    
         PERIO(J)=ZETO(J-KJS+1)/PETO(J)                                    VINTPAR.105    
      ENDIF                                                                VINTPAR.106    
102   CONTINUE                                                             VINTPAR.107    
      RETURN                                                               VINTPAR.108    
      END                                                                  VINTPAR.109    
*ENDIF                                                                     VINTPAR.110