Changeset 4446 for LMDZ6/branches/Portage_acc/libf/dyn3d/vlsplt.F
- Timestamp:
- Mar 1, 2023, 6:22:39 PM (16 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Portage_acc/libf/dyn3d/vlsplt.F
r4064 r4446 125 125 RECURSIVE SUBROUTINE vlx(q,pente_max,masse,u_m,iq) 126 126 USE infotrac, ONLY : nqtot,tracers, ! CRisi 127 & qperemin,masseqmin,ratiomin! MVals et CRisi127 & min_qParent,min_qMass,min_ratio ! MVals et CRisi 128 128 129 129 c Auteurs: P.Le Van, F.Hourdin, F.Forget … … 428 428 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 429 429 !Mvals: veiller a ce qu'on n'ait pas de denominateur nul 430 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),m asseqmin)431 if (q(ij,l,iq).gt. qperemin) then430 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),min_qMass) 431 if (q(ij,l,iq).gt.min_qParent) then 432 432 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 433 433 else 434 Ratio(ij,l,iq2)= ratiomin434 Ratio(ij,l,iq2)=min_ratio 435 435 endif 436 436 enddo 437 437 enddo 438 438 enddo 439 do ifils=1,tracers(iq)%nqChild s439 do ifils=1,tracers(iq)%nqChildren 440 440 iq2=tracers(iq)%iqDescen(ifils) 441 441 call vlx(Ratio,pente_max,masseq,u_mq,iq2) … … 449 449 DO ij=iip2+1,ip1jm 450 450 !MVals: veiller a ce qu'on ait pas de denominateur nul 451 new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l),m asseqmin)451 new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l),min_qMass) 452 452 q(ij,l,iq)=(q(ij,l,iq)*masse(ij,l,iq)+ 453 453 & u_mq(ij-1,l)-u_mq(ij,l)) … … 485 485 RECURSIVE SUBROUTINE vly(q,pente_max,masse,masse_adv_v,iq) 486 486 USE infotrac, ONLY : nqtot,tracers, ! CRisi 487 & qperemin,masseqmin,ratiomin! MVals et CRisi487 & min_qParent,min_qMass,min_ratio ! MVals et CRisi 488 488 c 489 489 c Auteurs: P.Le Van, F.Hourdin, F.Forget … … 752 752 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 753 753 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 754 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),m asseqmin)755 if (q(ij,l,iq).gt. qperemin) then754 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),min_qMass) 755 if (q(ij,l,iq).gt.min_qParent) then 756 756 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 757 757 else 758 Ratio(ij,l,iq2)= ratiomin758 Ratio(ij,l,iq2)=min_ratio 759 759 endif 760 760 enddo … … 848 848 RECURSIVE SUBROUTINE vlz(q,pente_max,masse,w,iq) 849 849 USE infotrac, ONLY : nqtot,tracers, ! CRisi 850 & qperemin,masseqmin,ratiomin! MVals et CRisi850 & min_qParent,min_qMass,min_ratio ! MVals et CRisi 851 851 c 852 852 c Auteurs: P.Le Van, F.Hourdin, F.Forget … … 969 969 ! CRisi: appel récursif de l'advection sur les fils. 970 970 ! Il faut faire ça avant d'avoir mis à jour q et masse 971 !write(*,*) 'vlsplt 942: iq,nqChild s(iq)=',iq,nqChilds(iq)971 !write(*,*) 'vlsplt 942: iq,nqChildren(iq)=',iq,nqChildren(iq) 972 972 do ifils=1,tracers(iq)%nqDescen 973 973 iq2=tracers(iq)%iqDescen(ifils) … … 977 977 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 978 978 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 979 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),m asseqmin)980 if (q(ij,l,iq).gt. qperemin) then979 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),min_qMass) 980 if (q(ij,l,iq).gt.min_qParent) then 981 981 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 982 982 else 983 Ratio(ij,l,iq2)= ratiomin983 Ratio(ij,l,iq2)=min_ratio 984 984 endif 985 985 enddo … … 987 987 enddo 988 988 989 do ifils=1,tracers(iq)%nqChild s989 do ifils=1,tracers(iq)%nqChildren 990 990 iq2=tracers(iq)%iqDescen(ifils) 991 991 call vlz(Ratio,pente_max,masseq,wq,iq2)
Note: See TracChangeset
for help on using the changeset viewer.