5 &(u, v, nbor, xnebor, ynebor, maskel, nelbor, nptfr,
6 & kent, ksort, klog, kdir, kddl, kneu, msk, clt, litbor,
7 & masktr, limtra,iklbor,neleb,nelebx)
75 TYPE(bief_obj),
INTENT(IN) :: U,V,NBOR,XNEBOR,YNEBOR
76 TYPE(bief_obj),
INTENT(IN) :: MASKEL,NELBOR
77 INTEGER,
INTENT(IN) :: NPTFR,KENT,KSORT,KLOG
78 INTEGER,
INTENT(IN) :: KDIR,KDDL,KNEU,NELEB,NELEBX
79 INTEGER,
INTENT(IN) :: IKLBOR(nelebx,2)
80 LOGICAL,
INTENT(IN) :: MSK
81 TYPE(bief_obj),
INTENT(INOUT) :: CLT
82 TYPE(bief_obj),
INTENT(INOUT) :: LITBOR, MASKTR, LIMTRA
86 INTEGER :: K,K1,K2,IELEB
87 DOUBLE PRECISION :: USCALN,C
88 INTEGER,
PARAMETER :: DIR = 1
89 INTEGER,
PARAMETER :: DDL = 2
90 INTEGER,
PARAMETER :: NEU = 3
105 clt%I(k) = litbor%I(k)
108 IF (clt%I(k) == kent)
THEN 109 uscaln = u%R(nbor%I(k))*xnebor%R(k)
110 & + v%R(nbor%I(k))*ynebor%R(k)
113 IF (uscaln >= 0.d0) clt%I(k) = ksort
114 ELSEIF(clt%I(k) == ksort)
THEN 115 uscaln = u%R(nbor%I(k))*xnebor%R(k)
116 & + v%R(nbor%I(k))*ynebor%R(k)
119 IF (uscaln <= 0.d0) clt%I(k) = kent
130 CALL os(
'X=0 ', x=masktr)
137 IF(clt%I(k1).EQ.klog.OR.clt%I(k2).EQ.klog)
THEN 138 masktr%ADR(neu)%P%R(ieleb) = 1.d0
141 ELSEIF(clt%I(k1).EQ.kent.AND.clt%I(k2).EQ.ksort)
THEN 142 masktr%ADR(ddl)%P%R(ieleb) = 1.d0
143 ELSEIF (clt%I(k1).EQ.ksort.OR.clt%I(k2).EQ.ksort)
THEN 144 masktr%ADR(ddl)%P%R(ieleb) = 1.d0
147 ELSEIF(clt%I(k1).EQ.ksort.AND.clt%I(k2).EQ.kent)
THEN 148 masktr%ADR(ddl)%P%R(ieleb) = 1.d0
149 ELSEIF(clt%I(k1).EQ.kent.OR.clt%I(k2).EQ.kent)
THEN 150 masktr%ADR(dir)%P%R(ieleb) = 1.d0
164 c=maskel%R(nelbor%I(ieleb))
165 masktr%ADR(dir)%P%R(ieleb) = masktr%ADR(dir)%P%R(ieleb)*c
166 masktr%ADR(ddl)%P%R(ieleb) = masktr%ADR(ddl)%P%R(ieleb)*c
167 masktr%ADR(neu)%P%R(ieleb) = masktr%ADR(neu)%P%R(ieleb)*c
178 IF(clt%I(k).EQ.kent)
THEN 180 ELSEIF(clt%I(k).EQ.ksort)
THEN 184 ELSEIF(clt%I(k).EQ.klog )
THEN 189 WRITE(
lu,12) k, litbor%I(k)
195 102
FORMAT(
' BEDLOAD_DIFFIN: UNEXPECTED CASE')
196 12
FORMAT(
' BEDLOAD_DIFFIN: POINT ',1i8,
' LITBOR= ',1i8,
' ?')
subroutine bedload_diffin(U, V, NBOR, XNEBOR, YNEBOR, MASKEL, NELBOR, NPTFR, KENT, KSORT, KLOG, KDIR, KDDL, KNEU, MSK, CLT, LITBOR, MASKTR, LIMTRA, IKLBOR, NELEB, NELEBX)
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)