--- trunk/libf/dyn3d/advn.f 2008/02/27 13:16:39 3 +++ trunk/libf/dyn3d/advn.f 2010/04/06 17:52:58 32 @@ -29,7 +29,7 @@ c ---------- integer mode real masse(ip1jmp1,llm) - REAL pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm) + REAL, intent(in):: pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm) REAL q(ip1jmp1,llm) REAL w(ip1jmp1,llm),pdt c @@ -509,22 +509,9 @@ do l=1,llm do ij=iip2,ip1jm zdq=qd(ij,l)-qg(ij,l) -c if((qd(ij,l)-q(ij,l))*(q(ij,l)-qg(ij,l)).lt.0.) then -c print*,'probleme au point ij=',ij,' l=',l -c print*,qd(ij,l),q(ij,l),qg(ij,l) -c qd(ij,l)=q(ij,l) -c qg(ij,l)=q(ij,l) -c endif if(abs(zdq).gt.prec) then zsigd(ij,l)=(q(ij,l)-qg(ij,l))/zdq zsigg(ij,l)=1.-zsigd(ij,l) -c if(.not.(zsigd(ij,l).ge.0..and.zsigd(ij,l).le.1. .and. -c s zsigg(ij,l).ge.0..or.zsigg(ij,l).le.1.) ) then -c print*,'probleme au point ij=',ij,' l=',l -c print*,'sigg=',zsigg(ij,l),' sigd=',zsigd(ij,l) -c print*,'q d,c,g ',qd(ij,l),q(ij,l),qg(ij,l),zdq -c stop -c endif else zsigd(ij,l)=0.5 zsigg(ij,l)=0.5 @@ -573,10 +560,6 @@ s +(zsig-zsigp)*(zq+zz*(zqm-zq)) ) endif endif -c if(zsig.lt.0.) then -c print*,'au point ij=',ij,' l=',l,' sig=',zsig -c stop -c endif enddo enddo @@ -604,7 +587,7 @@ enddo if(n0.gt.1) then - IF (prt_level > 9) WRITE(lunout,*) + IF (prt_level > 9) print *, & 'Nombre de points pour lesquels on advect plus que le' & ,'contenu de la maille : ',n0 @@ -619,7 +602,6 @@ endif enddo niju=iju -c print*,'niju,nl',niju,nl(l) c traitement des mailles do iju=1,niju @@ -648,9 +630,9 @@ c goto 8888 zz=0.5*(zsig-zsigd(ijq,l))/zsigg(ijq,l) if(.not.(zz.gt.0..and.zz.le.0.5)) then - WRITE(lunout,*)'probleme2 au point ij=',ij, + print *,'probleme2 au point ij=',ij, s ' l=',l - WRITE(lunout,*)'zz=',zz + print *,'zz=',zz stop endif u_mq(ij,l)=u_mq(ij,l)+masse(ijq,l)*( @@ -678,9 +660,9 @@ c goto 9999 zz=0.5*(zsig-zsigg(ijq,l))/zsigd(ijq,l) if(.not.(zz.gt.0..and.zz.le.0.5)) then - WRITE(lunout,*)'probleme22 au point ij=',ij + print *,'probleme22 au point ij=',ij s ,' l=',l - WRITE(lunout,*)'zz=',zz + print *,'zz=',zz stop endif u_mq(ij,l)=u_mq(ij,l)-masse(ijq,l)*( @@ -766,21 +748,9 @@ do l=1,llm do ij=1,ip1jmp1 zdq=qn(ij,l)-qs(ij,l) -c if((qn(ij,l)-q(ij,l))*(q(ij,l)-qs(ij,l)).lt.0.) then -c print*,'probleme au point ij=',ij,' l=',l,' advnqx' -c print*,qn(ij,l),q(ij,l),qs(ij,l) -c qn(ij,l)=q(ij,l) -c qs(ij,l)=q(ij,l) -c endif if(abs(zdq).gt.prec) then zsign(ij)=(q(ij,l)-qs(ij,l))/zdq zsigs(ij)=1.-zsign(ij) -c if(.not.(zsign(ij).ge.0..and.zsign(ij).le.1. .and. -c s zsigs(ij).ge.0..or.zsigs(ij).le.1.) ) then -c print*,'probleme au point ij=',ij,' l=',l -c print*,'sigs=',zsigs(ij),' sign=',zsign(ij) -c stop -c endif else zsign(ij)=0.5 zsigs(ij)=0.5 @@ -893,13 +863,6 @@ do l=1,llm do ij=1,ip1jmp1 zdq=qb(ij,l)-qh(ij,l) -c if((qh(ij,l)-q(ij,l))*(q(ij,l)-qb(ij,l)).lt.0.) then -c print*,'probleme au point ij=',ij,' l=',l -c print*,qh(ij,l),q(ij,l),qb(ij,l) -c qh(ij,l)=q(ij,l) -c qb(ij,l)=q(ij,l) -c endif - if(abs(zdq).gt.prec) then zsigb(ij,l)=(q(ij,l)-qh(ij,l))/zdq zsigh(ij,l)=1.-zsigb(ij,l) @@ -911,7 +874,6 @@ enddo enddo -c print*,'ok1' c calcul de la pente maximum dans la maille en valeur absolue do l=2,llm do ij=1,ip1jmp1 @@ -955,6 +917,5 @@ masse(ij,l)=new_m enddo enddo -c print*,'ok3' - RETURN + END