The TELEMAC-MASCARET system  trunk
bedload_hiding_factor.f
Go to the documentation of this file.
1 ! ********************************
2  SUBROUTINE bedload_hiding_factor
3 ! ********************************
4 !
5  &(acladm, hidfac, npoin, hidi, dm, karim_holly_yang, hiding)
6 !
7 !***********************************************************************
8 ! SISYPHE V6P1 21/07/2011
9 !***********************************************************************
10 !
11 !brief HIDING FACTOR FOR EACH NODE, SEDIMENT CLASS
12 !+ AND TIME STEP.
13 !
14 !history B. MINH DUC
15 !+ **/11/2002
16 !+ V5P3
17 !+
18 !
19 !history M. GONZALES DE LINARES
20 !+ **/**/2002
21 !+ V5P3
22 !+
23 !
24 !history F. HUVELIN
25 !+ 14/09/2004
26 !+ V5P5
27 !+
28 !
29 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
30 !+ 13/07/2010
31 !+ V6P0
32 !+ Translation of French comments within the FORTRAN sources into
33 !+ English comments
34 !
35 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
36 !+ 21/08/2010
37 !+ V6P0
38 !+ Creation of DOXYGEN tags for automated documentation and
39 !+ cross-referencing of the FORTRAN sources
40 !
41 !history C.VILLARET (EDF-LNHE), P.TASSI (EDF-LNHE)
42 !+ 19/07/2011
43 !+ V6P1
44 !+ Name of variables
45 !+
46 !
47 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48 !| ACLADM |-->| MEAN DIAMETER OF SEDIMENT
49 !| DM |-->| SEDIMENT GRAIN DIAMETER
50 !| HIDFAC |-->| HIDING FACTOR FORMULAS
51 !| HIDI |-->| HIDING FACTOR FOR PARTICULAR SIZE CLASS (HIDFAC =0)
52 !| HIDING |-->| HIDING FACTOR CORRECTION
53 !| NPOIN |-->| NUMBER OF POINTS
54 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 !
57  & ex_bedload_hiding_factor => bedload_hiding_factor
58  USE bief
60  IMPLICIT NONE
61  !
62  !
63  ! 2/ GLOBAL VARIABLES
64  ! -------------------
65  !
66  TYPE(bief_obj), INTENT(IN) :: ACLADM
67  INTEGER, INTENT(IN) :: HIDFAC, NPOIN
68  DOUBLE PRECISION, INTENT(IN) :: HIDI, DM, KARIM_HOLLY_YANG
69  TYPE(bief_obj), INTENT(INOUT) :: HIDING
70  !
71  !
72  ! 3/ LOCAL VARIABLES
73  ! ------------------
74  !
75  INTEGER :: J
76  DOUBLE PRECISION :: C1, C2
77 !
78 !======================================================================!
79 !======================================================================!
80 ! PROGRAM !
81 !======================================================================!
82 !======================================================================!
83 !
84 ! *************************** !
85 ! IA - CONSTANT HIDING FACTOR !
86 ! *************************** !
87 !
88  IF (hidfac == 0) THEN
89 !
90  CALL os('X=C ', x=hiding, c=hidi)
91 !
92 ! ************************** !
93 ! IB - EGIAZAROFF FORMULATION !
94 ! ************************** !
95 !
96  ELSEIF (hidfac == 1) THEN
97 !
98  c1 = log10(19.d0)
99  c2 = 19.d0*dm
100  DO j = 1, npoin
101  hiding%R(j) = (c1/log10(c2/acladm%R(j)))**2
102  ENDDO
103 !
104 ! ********************************** !
105 ! IC - ASHIDA AND MICHIUE FORMULATION !
106 ! ********************************** !
107 !
108  ELSEIF (hidfac == 2) THEN
109 !
110  c1 = log10(19.d0)
111  c2 = 19.d0*dm
112  DO j = 1, npoin
113 !
114  IF(dm/acladm%R(j) >= 0.4d0) THEN
115  hiding%R(j) = (c1 / log10(c2/acladm%R(j)) )**2
116  ELSE
117  hiding%R(j) = 0.85d0*(acladm%R(j)/dm)
118  ENDIF
119 !
120  ENDDO
121 !
122 ! ************************************* !
123 ! IE - KARIM, HOLLY AND YANG FORMULATION !
124 ! ************************************* !
125 !
126  ELSEIF (hidfac == 4) THEN
127 !
128  CALL os('X=1/Y ', x=hiding, y=acladm)
129  CALL os('X=CX ', x=hiding, c=dm)
130  CALL os('X=Y**C ', x=hiding, y=hiding, c=karim_holly_yang)
131 !
132  ELSE
133 !
134  WRITE(lu,*) 'UNKNOWN HIDING FACTOR FORMULA: ',hidfac
135  CALL plante(1)
136  stop
137 !
138  ENDIF
139 !
140 !======================================================================!
141 !======================================================================!
142 !
143  RETURN
144  END SUBROUTINE bedload_hiding_factor
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
Definition: os.f:7
subroutine bedload_hiding_factor(ACLADM, HIDFAC, NPOIN, HIDI, DM, KARIM_HOLLY_YANG, HIDING)
Definition: bief.f:3