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

      SUBROUTINE VTOTT(PSPEC,KBLO,KJS,KJL,KANG,KFRE,PFREQ,                  3VTOTT.25     
     %                 PFBIN,PETO,df)                                      VTOTT.26     
C                                                                          VTOTT.27     
C**** *VTOTT*   - ROUTINE TO CALCULATE TOTAL ENERGY OF SPECTRUM.           VTOTT.28     
C                                                                          VTOTT.29     
C     A.GUILLAUME      ECMWF              13/3/92.                         VTOTT.30     
C                                                                          VTOTT.31     
C     PURPOSE.                                                             VTOTT.32     
C     --------                                                             VTOTT.33     
C          *VTOTT* CALCULATES THE TOTAL ENERGY OF WAVE SPECTRUM.           VTOTT.34     
C                                                                          VTOTT.35     
C**   INTERFACE.                                                           VTOTT.36     
C     ----------                                                           VTOTT.37     
C                                                                          VTOTT.38     
C       *CALL* *VTOTT(PSPEC,KBLO,KJS,KJL,KANG,KFRE,PFREQ,PFBIN,PETO,df)    VTOTT.39     
C                                                                          VTOTT.40     
C       I/      *PSPEC*   - SPECTRUM.                                      VTOTT.41     
C       I/      *KBLO*    - DIMENSION OF ONE BLOCK.                        VTOTT.42     
C       I/      *KJS*     - INDEX OF FIRST POINT OF BLOCK TO USE.          VTOTT.43     
C       I/      *KJL*     - INDEX OF LAST POINT OF BLOCK TO USE.           VTOTT.44     
C       I/      *KANG*    - NUMBER OF DIRECTIONS.                          VTOTT.45     
C       I/      *KFRE*    - NUMBER OF FREQUENCIES.                         VTOTT.46     
C       I/      *PFREQ*   - FREQUENCY ARRAY.                               VTOTT.47     
C       I/      *PFBIN*   - PFREQ(IF+1)=PFREQ(IF)*(1+PFBIN)                VTOTT.48     
C        /O     *PETO*    - TOTAL ENERGY, EXACTLY TOTAL ENERGY IS:         VTOTT.49     
C                           ETOT*2*3.1416*PFBIN/NTET/2.                    VTOTT.50     
C       I/      *df*      - array of frequency intervals                   VTOTT.51     
C     METHOD.                                                              VTOTT.52     
C     -------                                                              VTOTT.53     
C                                                                          VTOTT.54     
C        PETO, USED TO DETERMINE THE TOTAL ENERGY ( TOTAL ENERGY=          VTOTT.55     
C        ETOT*2*3.1416*PFBIN/NTET/2.), IS CALCULATED FROM THE SPECTRUM.    VTOTT.56     
C        FREQUENCIES ARE ASSUMED TO BE IN GEOMETRIC PROGRESSION OF         VTOTT.57     
C        FACTOR (1+PFBIN).                                                 VTOTT.58     
c                                                                          VTOTT.59     
c           frequency interval df is calculated as                         VTOTT.60     
c                                                                          VTOTT.61     
c           df = 0.5* [ Fi+1 - Fi-1]     which rearranges as               VTOTT.62     
c                                                                          VTOTT.63     
c           df = pfbin/2  * Fi * [1  +1/(1+pfbin)]                         VTOTT.64     
C                                                                          VTOTT.65     
C     EXTERNALS.                                                           VTOTT.66     
C     ----------                                                           VTOTT.67     
C          NONE.                                                           VTOTT.68     
C                                                                          VTOTT.69     
C     REFERENCE.                                                           VTOTT.70     
C     ----------                                                           VTOTT.71     
C                                                                          VTOTT.72     
      DIMENSION PSPEC(KBLO,KANG,KFRE),PETO(KBLO)                           VTOTT.73     
      DIMENSION PFREQ(KFRE),df(kfre)                                       VTOTT.74     
                                                                           VTOTT.75     
      DO 1 J=KJS,KJL                                                       VTOTT.76     
      PETO(J)=0.                                                           VTOTT.77     
1     CONTINUE                                                             VTOTT.78     
      DO 2 JFRE=1,KFRE                                                     VTOTT.79     
      DO 2 JANG=1,KANG                                                     VTOTT.80     
      DO 2 J=KJS,KJL                                                       VTOTT.81     
                                                                           VTOTT.82     
      if(pfbin.gt.0.0001) then                                             VTOTT.83     
      PETO(J)=PETO(J)+PSPEC(J,JANG,JFRE)*PFREQ(JFRE)                       VTOTT.84     
     %        *(1.+1./(1.+PFBIN))                                          VTOTT.85     
      else                                                                 VTOTT.86     
c                                                                          VTOTT.87     
CC      if using array DF this fills peto with SUM(e*df)                   VTOTT.88     
c                                                                          VTOTT.89     
       peto(j)=peto(j)+pspec(j,jang,jfre)*df(jfre)                         VTOTT.90     
      endif                                                                VTOTT.91     
2     CONTINUE                                                             VTOTT.92     
      RETURN                                                               VTOTT.93     
      END                                                                  VTOTT.94     
*ENDIF                                                                     VTOTT.95