The TELEMAC-MASCARET system  trunk
qfrot1.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE qfrot1
3 ! *****************
4 !
5  &( tstot , tsder , f , xk , nf , ndire , npoin2)
6 !
7 !***********************************************************************
8 ! TOMAWAC V6P1 23/06/2011
9 !***********************************************************************
10 !
11 !brief COMPUTES THE CONTRIBUTION OF THE BOTTOM FRICTION
12 !+ SOURCE TERM BASED ON HASSELMANN ET AL.'S FORMULATION
13 !+ (1973), MODIFIED BY BOUWS ET KOMEN (1983).
14 !
15 !note THIS SOURCE TERM IS LINEAR IN F(FREQ,TETA), AND THE LINEAR
16 !+ COEFFICIENT DOES NOT VARY WITH TIME.
17 !note CFROT1 (USED IN WAM CYCLE 4) EQUALS 0.038 M2.S-3.
18 !
19 !reference HASSELMANN ET AL. (1973) :
20 !+ "MEASUREMENTS OF WIND-WAVE GROWTH AND SWELL
21 !+ DECAY DURING THE JOINT NORTH SEA WAVE PROJECT
22 !+ (JONSWAP)". DEUTSCHEN HYDROGRAPHISVHEN ZEITSCHRIFT, REIHE A(8), NUM 12.
23 !reference BOUWS E., KOMEN G.J. (1983) :
24 !+ "ON THE BALANCE BETWEEN GROWTH AND DISSIPATION
25 !+ IN AN EXTREME DEPTH-LIMITED WIND-SEA IN THE
26 !+ SOUTHERN NORTH-SEA". JPO, VOL 13.
27 !
28 !history P. THELLIER; M. BENOIT (EDF/DER/LNH)
29 !+ 03/04/95
30 !+ V1P0
31 !+
32 !
33 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
34 !+ 13/07/2010
35 !+ V6P0
36 !+ Translation of French comments within the FORTRAN sources into
37 !+ English comments
38 !
39 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
40 !+ 21/08/2010
41 !+ V6P0
42 !+ Creation of DOXYGEN tags for automated documentation and
43 !+ cross-referencing of the FORTRAN sources
44 !
45 !history G.MATTAROLO (EDF - LNHE)
46 !+ 23/06/2011
47 !+ V6P1
48 !+ Translation of French names of the variables in argument
49 !
50 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51 !| CFROT1 |-->| BOTTOM FRICTION COEFFICIENT
52 !| DEPTH |-->| WATER DEPTH
53 !| F |-->| DIRECTIONAL SPECTRUM
54 !| NF |-->| NOMBRE DE FREQUENCES DE DISCRETISATION
55 !| NDIRE |-->| NOMBRE DE DIRECTIONS DE DISCRETISATION
56 !| NPOIN2 |-->| NOMBRE DE POINTS DU MAILLAGE SPATIAL
57 !| TSDER |<->| DERIVED PART OF THE SOURCE TERM CONTRIBUTION
58 !| TSTOT |<->| TOTAL PART OF THE SOURCE TERM CONTRIBUTION
59 !| XK |-->| DISCRETIZED WAVE NUMBER
60 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 !
63  USE interface_tomawac, ex_qfrot1 => qfrot1
64  IMPLICIT NONE
65 !
66 !.....VARIABLES IN ARGUMENT
67 ! """"""""""""""""""""
68  INTEGER, INTENT(IN) :: NF , NDIRE , NPOIN2
69  DOUBLE PRECISION, INTENT(IN) :: XK(npoin2,nf)
70  DOUBLE PRECISION, INTENT(IN) :: F(npoin2,ndire,nf)
71  DOUBLE PRECISION, INTENT(INOUT) :: TSTOT(npoin2,ndire,nf)
72  DOUBLE PRECISION, INTENT(INOUT) :: TSDER(npoin2,ndire,nf)
73 !
74 !.....LOCAL VARIABLES
75 ! """""""""""""""""
76  INTEGER JP , JF , IP
77  DOUBLE PRECISION COEF , DEUKD, BETA
78 !
79 !
80  coef=-2.d0*cfrot1/gravit
81 !
82 !.....LOOP OVER DISCRETISED FREQUENCIES
83 ! """"""""""""""""""""""""""""""""""""""""""""
84  DO jf=1,nf
85 !
86 !.......COMPUTES THE LINEAR COEFFICIENT BETA : QFROT1 = BETA * F
87 ! """""""""""""""""""""""""""""""""""""""""""""""""""""""
88  DO ip=1,npoin2
89  deukd = min(2.d0*depth(ip)*xk(ip,jf),7.d2)
90  beta = coef*xk(ip,jf)/sinh(deukd)
91  DO jp=1,ndire
92  tstot(ip,jp,jf) = tstot(ip,jp,jf)+beta*f(ip,jp,jf)
93  tsder(ip,jp,jf) = tsder(ip,jp,jf)+beta
94  ENDDO
95  ENDDO
96  ENDDO
97 !
98  RETURN
99  END
double precision, dimension(:), pointer depth
subroutine qfrot1(TSTOT, TSDER, F, XK, NF, NDIRE, NPOIN2)
Definition: qfrot1.f:7