*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