Changeset 5082 for LMDZ6/branches/Amaury_dev/libf/dyn3d/vlspltqs.F
- Timestamp:
- Jul 19, 2024, 5:41:58 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d/vlspltqs.F
r4996 r5082 242 242 243 243 244 IF (pente_max .gt.-1.e-5) THEN244 IF (pente_max>-1.e-5) THEN 245 245 c IF (pente_max.gt.10) THEN 246 246 … … 282 282 , cvmgp(dxqu(ij-1)+dxqu(ij),0.,dxqu(ij-1)*dxqu(ij)) 283 283 #else 284 IF(dxqu(ij-1)*dxqu(ij) .gt.0) THEN284 IF(dxqu(ij-1)*dxqu(ij)>0) THEN 285 285 dxq(ij,l)=dxqu(ij-1)+dxqu(ij) 286 286 ELSE … … 312 312 zz(ij)=dxqu(ij-1)*dxqu(ij) 313 313 zz(ij)=zz(ij)+zz(ij) 314 IF(zz(ij) .gt.0) THEN314 IF(zz(ij)>0) THEN 315 315 dxq(ij,l)=zz(ij)/(dxqu(ij-1)+dxqu(ij)) 316 316 ELSE … … 362 362 DO l=1,llm 363 363 DO ij=iip2,ip1jm-1 364 IF (u_m(ij,l) .gt.0.) THEN364 IF (u_m(ij,l)>0.) THEN 365 365 zdum(ij,l)=1.-u_m(ij,l)/masse(ij,l,iq) 366 366 u_mq(ij,l)=u_m(ij,l)* … … 380 380 DO l=1,llm 381 381 DO ij=iip2,ip1jm-1 382 IF(zdum(ij,l) .lt.0) THEN382 IF(zdum(ij,l)<0) THEN 383 383 iadvplus(ij,l)=1 384 384 u_mq(ij,l)=0. … … 411 411 ENDDO 412 412 413 IF(n0 .gt.0) THEN413 IF(n0>0) THEN 414 414 ccc PRINT*,'Nombre de points pour lesquels on advect plus que le' 415 415 ccc & ,'contenu de la maille : ',n0 416 416 417 417 DO l=1,llm 418 IF(nl(l) .gt.0) THEN418 IF(nl(l)>0) THEN 419 419 iju=0 420 420 c indicage des mailles concernees par le traitement special 421 421 DO ij=iip2,ip1jm 422 IF(iadvplus(ij,l) .eq.1.and.mod(ij,iip1).ne.0) THEN422 IF(iadvplus(ij,l)==1.and.mod(ij,iip1)/=0) THEN 423 423 iju=iju+1 424 424 indu(iju)=ij … … 434 434 zu_m=u_m(ij,l) 435 435 u_mq(ij,l)=0. 436 IF(zu_m .gt.0.) THEN436 IF(zu_m>0.) THEN 437 437 ijq=ij 438 438 i=ijq-(j-1)*iip1 439 439 c accumulation pour les mailles completements advectees 440 do while(zu_m .gt.masse(ijq,l,iq))440 do while(zu_m>masse(ijq,l,iq)) 441 441 u_mq(ij,l)=u_mq(ij,l)+q(ijq,l,iq) 442 442 & *masse(ijq,l,iq) … … 453 453 i=ijq-(j-1)*iip1 454 454 c accumulation pour les mailles completements advectees 455 do while(-zu_m .gt.masse(ijq,l,iq))455 do while(-zu_m>masse(ijq,l,iq)) 456 456 u_mq(ij,l)=u_mq(ij,l)-q(ijq,l,iq) 457 457 & *masse(ijq,l,iq) … … 681 681 fs=1. 682 682 DO ij=1,iim 683 IF(pente_max*adyqv(ij) .lt.abs(dyq(ij,l))) THEN683 IF(pente_max*adyqv(ij)<abs(dyq(ij,l))) THEN 684 684 fn=min(pente_max*adyqv(ij)/abs(dyq(ij,l)),fn) 685 685 ENDIF 686 IF(pente_max*adyqv(ij+ip1jm-iip1) .lt.abs(dyq(ij+ip1jm,l))) THEN686 IF(pente_max*adyqv(ij+ip1jm-iip1)<abs(dyq(ij+ip1jm,l))) THEN 687 687 fs=min(pente_max*adyqv(ij+ip1jm-iip1)/abs(dyq(ij+ip1jm,l)),fs) 688 688 ENDIF … … 763 763 764 764 DO ij=iip2,ip1jm 765 IF(dyqv(ij)*dyqv(ij-iip1) .gt.0.) THEN765 IF(dyqv(ij)*dyqv(ij-iip1)>0.) THEN 766 766 dyq(ij,l)=sign(min(abs(dyq(ij,l)),dyqmax(ij)),dyq(ij,l)) 767 767 ELSE … … 774 774 DO l=1,llm 775 775 DO ij=1,ip1jm 776 IF( masse_adv_v(ij,l) .GT.0. ) THEN776 IF( masse_adv_v(ij,l)>0. ) THEN 777 777 qbyv(ij,l)= MIN( qsat(ij+iip1,l), q(ij+iip1,l,iq ) + 778 778 , dyq(ij+iip1,l)*0.5*(1.-masse_adv_v(ij,l)
Note: See TracChangeset
for help on using the changeset viewer.