The TELEMAC-MASCARET system  trunk
limite.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE limite
3 ! *****************
4  &( f , freq , npoin2, ndire , nf )
5 !
6 !***********************************************************************
7 ! TOMAWAC V7P0 30/07/2014
8 !***********************************************************************
9 !
10 !brief EQUILIBRIUM RANGE SPECTRUM OF PHILLIPS APPLIED AS AN UPPER
11 !+ LIMIT FOR THE SPECTRUM : E(F)=ALFA*G**2/(2.PI)**4 F**(-5)
12 !
13 !
14 !history E. GAGNAIRE-RENOU AND M.BENOIT (EDF/LNHE)
15 !+ 09/2014
16 !+ V7P0
17 !+ NEW SUBROUTINE CREATED / IMPLEMENTED
18 !
19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
20 !| F |-->| DIRECTIONAL SPECTRUM
21 !| FREQ |-->| DISCRETIZED FREQUENCIES
22 !| NF |-->| NUMBER OF FREQUENCIES
23 !| NDIRE |-->| NUMBER OF DIRECTIONS
24 !| NPOIN2 |-->| NUMBER OF POINTS IN 2D MESH
25 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
26 !
27 !
29 !
31  USE interface_tomawac, ex_limite => limite
32  IMPLICIT NONE
33 !
34 !
35 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
36 !
37  INTEGER, INTENT(IN) :: NF,NDIRE,NPOIN2
38  DOUBLE PRECISION, INTENT(IN) :: FREQ(nf)
39  DOUBLE PRECISION, INTENT(INOUT) :: F(npoin2,ndire,nf)
40 !
41 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
42 !
43  INTEGER IP , JP , JF
44  DOUBLE PRECISION EDEF , COEF , DTETAR, EMAX , REDUC
45 !
46 !-----------------------------------------------------------------------
47 !
48  dtetar=deupi/dble(ndire)
49  coef=0.0081d0*gravit**2/deupi**4
50 !
51  DO ip=1, npoin2
52  DO jf=1, nf
53  edef=0.0d0
54  DO jp=1, ndire
55  edef=edef+f(ip,jp,jf)
56  ENDDO
57  edef=edef*dtetar
58  emax=coef/freq(jf)**5
59  IF (edef.GT.emax) THEN
60  reduc=emax/edef
61  DO jp=1, ndire
62  f(ip,jp,jf)=f(ip,jp,jf)*reduc
63  ENDDO
64  ENDIF
65  ENDDO
66  ENDDO
67 !
68  RETURN
69  END
subroutine limite(F, FREQ, NPOIN2, NDIRE, NF)
Definition: limite.f:6