The TELEMAC-MASCARET system  trunk
ride.f
Go to the documentation of this file.
1 ! ***************
2  SUBROUTINE ride
3 ! ***************
4 !
5  &(ks,tw,uw,unorm,grav,xmve,xmvs,vce,npoin,kspratio,acladm)
6 !
7 !***********************************************************************
8 ! SISYPHE V6P1 21/07/2011
9 !***********************************************************************
10 !
11 !brief COMPUTES THE DIMENSIONS OF EQUILIBRIUM RIPPLES.
12 !
13 !reference "RIPPLE GEOMETRY IN WAVE-DOMINATED ENVIRONMENTS",
14 !+ WIBERG, P.L. & C.K. HARRIS. 1994. JOURNAL OF
15 !+ GEOPHYSICAL RESEARCH, 99 (C1): 775-789.
16 !
17 !history C. VILLARET (LNHE)
18 !+ 01/10/2003
19 !+ V6P0
20 !+
21 !
22 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
23 !+ 13/07/2010
24 !+ V6P0
25 !+ Translation of French comments within the FORTRAN sources into
26 !+ English comments
27 !
28 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
29 !+ 21/08/2010
30 !+ V6P0
31 !+ Creation of DOXYGEN tags for automated documentation and
32 !+ cross-referencing of the FORTRAN sources
33 !
34 !history C.VILLARET (EDF-LNHE), P.TASSI (EDF-LNHE)
35 !+ 19/07/2011
36 !+ V6P1
37 !+ Name of variables
38 !+
39 !
40 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 !| ACLADM |-->| MEAN DIAMETER OF SEDIMENT
42 !| GRAV |-->| ACCELERATION OF GRAVITY
43 !| KS |<--| WAVE INDUCE RIPPLE ROUGHNESS
44 !| KSPRATIO |-->| RATIO BETWEEN SKIN BED ROUGHESS AND GRAIN SIZE
45 !| NPOIN |-->| NUMBER OF POINTS
46 !| TW |-->| WAVE PERIOD
47 !| UNORM |-->| NORM OF THE MEAN FLOW VELOCITY
48 !| UW |-->| ORBITAL WAVE VELOCITY
49 !| VCE |-->| WATER VISCOSITY
50 !| XMVE |-->| FLUID DENSITY
51 !| XMVS |-->| SEDIMENT DENSITY
52 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53 !
54  IMPLICIT NONE
55 !
56  INTEGER I,NPOIN
57  DOUBLE PRECISION, INTENT (INOUT) :: KS(npoin)
58 !
59  DOUBLE PRECISION, INTENT (IN) :: GRAV,XMVE,XMVS, VCE
60  DOUBLE PRECISION, INTENT (IN) :: UNORM(npoin),UW(npoin),TW(npoin)
61 !
62  DOUBLE PRECISION, INTENT(IN) :: KSPRATIO
63  DOUBLE PRECISION, INTENT(IN) :: ACLADM(npoin)
64 !
65 !---------------------------------------------------------------------
66 ! LOCAL VARIABLES
67  DOUBLE PRECISION PI, ZERO,AI
68 !
69  DOUBLE PRECISION ETA, LAMBDA
70 !
71  DOUBLE PRECISION AA,BB,CC,DD
72  DOUBLE PRECISION ALPHA,S,M,A0
73  DOUBLE PRECISION WH1,WH2,WH3
74  DOUBLE PRECISION VAR1,DHRA,LRA,HRA,LRO
75  DOUBLE PRECISION UC,KSP
76 !---------------------------------------------------------------------
77 !
78  pi=4.d0*atan(1.d0)
79  zero=1.d-6
80 !
81 ! COEFFICIENTS
82 !
83  wh1=0.095d0
84  wh2=0.442d0
85  wh3=2.28d0
86  aa=(wh2+1.d0)/2.d0/wh1
87  bb=aa*aa-wh3/wh1
88  cc=1.d0/wh1
89 !
90 ! LOOP ON THE NODES
91 !
92  DO i=1,npoin
93 !
94 ! SKIN FRICTION
95 !
96  ksp = kspratio * acladm(i)
97  ai = acladm(i)*grav*(xmvs-xmve)/xmve
98 !
99 ! MOBILITY NUMBER
100 !
101  m=uw(i)**2/ai
102 !
103  IF(m.LT.1.69d0) THEN
104 !
105  ks(i)=ksp
106 !
107  ELSE
108 !
109 ! WIBERG AND HARRIS
110 !
111  a0=uw(i)*tw(i)/(2.d0*pi)
112  s=acladm(i)*sqrt(ai)/4.d0/vce
113  lra=535.d0*acladm(i)
114 ! LINE OF CODE MOVED SO ALPHA COMPUTED BEFORE VAR1
115 ! TANNAKA AND DANG (1996)
116  uc=unorm(i)
117  IF(uw(i).GT.zero) THEN
118  alpha=(tanh(0.3d0*s**(2.d0/3.d0)))**2.5d0
119  alpha=1.d0+0.81d0*alpha*(uc/uw(i))**1.9d0
120  ELSE
121  alpha=1.d0
122  ENDIF
123  var1=log(alpha*2.d0*a0/lra)
124  dd=max((bb-cc*var1),0.d0)
125  dhra=exp(aa-sqrt(dd))
126  hra=alpha*2.d0*a0/dhra
127 !
128  IF(dhra.LE.20.d0) THEN
129 ! ORBITAL RIPPLES DHRA
130  lro=0.62d0*2.d0*a0*alpha
131  lambda=lro
132  eta=0.17d0*lambda
133  ELSEIF(dhra.LE.100.d0) THEN
134 ! SUB ORBITAL RIPPLES 20
135  lro=0.62d0*2.d0*a0*alpha
136  var1=(log(dhra)-log(100.d0))/(log(20.d0)-log(100.d0))
137  var1=log(lra)+var1*(log(lro)-log(lra))
138  lambda=exp(var1)
139  var1=log(alpha*2.d0*a0/lambda)
140  dd=max((bb-cc*var1),0.d0)
141  eta=alpha*2.d0*a0/exp(aa-sqrt(dd))
142  ELSE
143 ! ANORBITAL RIPPLES DHRA>100
144 ! LAMBDA NOT USED HERE BUT KEPT FOR OTHER FORMULATIONS
145 ! LAMBDA=LRA
146  eta=hra
147  ENDIF
148 !
149  ks(i)=max(eta,ksp)
150 !
151  ENDIF
152 !
153  ENDDO
154 !
155 !---------------------------------------------------------------------
156 !
157  RETURN
158  END
subroutine ride(KS, TW, UW, UNORM, GRAV, XMVE, XMVS, VCE, NPOIN, KSPRATIO, ACLADM)
Definition: ride.f:7