diff --git a/code/rubar20.f90 b/code/rubar20.f90 index c3c3035063de71f05b3938aa73969df42d6d47c5..6087598bdfc8b98021de2fbeba09ad859881a6ef 100644 --- a/code/rubar20.f90 +++ b/code/rubar20.f90 @@ -17400,16 +17400,17 @@ ym(ibouv)=0.5*(y+h) f1=1+y*y*(eta(ibouv)/(h*h)+nu(ibouv)/& &(ym(ibouv)*ym(ibouv))) - sm(ibouv)=db(ibouv)*ym(ibouv) - pm(ibouv)=db(ibouv)+2.*ym(ibouv) - rhm(ibouv)=sm(ibouv)/pm(ibouv) + dbtotal=db(ibouv)+dbprec(ibouv) + sm(ibouv)=dbtotal*ym(ibouv) + pm(ibouv)=dbtotal+2.*ym(ibouv) + rhm(ibouv)=sm(ibouv)/pm(ibouv) if (zb(ibouv)+ym(ibouv).lt.zc(ibouv)) then alm(ibouv)=alc(ibouv)+((alp(ibouv)-alc(ibouv))& &/(zp(ibouv)-zc(ibouv)))*(zb(ibouv)+ym(ibouv)-zc(ibouv)) else alm(ibouv)=alc(ibouv) endif - s=db(ibouv)*y + s=dbtotal*y else ! calcul en circulaire r=0.5*db(ibouv) @@ -17483,8 +17484,9 @@ endif ! calcul des caracteristiques moyennes ym(ibouv)=0.5*(y+h) - sm(ibouv)=db(ibouv)*ym(ibouv) - pm(ibouv)=db(ibouv)+2.*ym(ibouv) + dbtotal=db(ibouv)+dbprec(ibouv) + sm(ibouv)=dbtotal*ym(ibouv) + pm(ibouv)=dbtotal+2.*ym(ibouv) rhm(ibouv)=sm(ibouv)/pm(ibouv) if (zb(ibouv)+ym(ibouv).lt.zc(ibouv)) then alm(ibouv)=alc(ibouv)+((alp(ibouv)-alc(ibouv))& @@ -17492,7 +17494,7 @@ else alm(ibouv)=alc(ibouv) endif - s=db(ibouv)*y + s=dbtotal*y else ! calcul en circulaire r=0.5*db(ibouv) @@ -17538,6 +17540,12 @@ if (y .gt. h)y=h q=s*sqrt(2.*g*(h-y)/f1) qs1=q/(sm(ibouv)*rhm(ibouv)**(1./6.)) +! correction sur Q si dbprec non nul + if(s.gt.0.)then + if (it(ibouv).ne.0) then + q=q*y*db(ibouv)/s + endif + endif ! taui(ibouv)=qs1*qs1/c2*0.047*(rho(ibouv)-1000.)*g*d50(ibouv) q2=qs1*qs1-c2(ibouv) if (q2.le.0.) then @@ -17694,8 +17702,8 @@ m2 = int((tt-3600.*float(m1))/60.) m3 = int(tt-3600.*float(m1)-60.*float(m2)) - write(imp(ibouv),101) m1,m2,m3,z(i,ibouv),zbr(i,ibouv),& - & dbr(i,ibouv),ql(i,ibouv),qs(i,ibouv) +! write(imp(ibouv),101) m1,m2,m3,z(i,ibouv),zbr(i,ibouv),& +! & dbr(i,ibouv),ql(i,ibouv),qs(i,ibouv) ! on cherche la largeur breche apres effondrement renard pour calcul volume if (tt .lt. trect(ibouv)) then lbef = dbr(i,ibouv) @@ -17804,6 +17812,9 @@ write(imp(ibouv),101)m1,m2,m3,z(i,ibouv),zbr(i,ibouv)& ! write(imp(ibouv),101)m1,m2,m3,z(i,ibouv)+zfm,zbr(i,ibouv)& &,dbr(i,ibouv),ql(i,ibouv),qs(i,ibouv) + else + write(imp(ibouv),101)m1,m2,m3,0.0,0.0& + &,0.0,0.0,0.0 endif 101 format(2x,i3,2x,i3,2x,i3,5x,5f10.4) return @@ -19250,7 +19261,7 @@ use module_precision - use module_tableaux,only:ne,na,nn,eau,het,quet,qvet,het,fra,fre,cofr& + use module_tableaux,only:ne,na,nn,eau,het,quet,qvet,fra,fre,cofr& &,ieva,iae,nne,g,smbh,zfn,dt,cfl,dt0,t,eps1,eps2,paray,idl use module_ts,only : efficace,sigma0,rapsmbhc,nbcoun,epcoun,diamn,sigman&