Changeset 2307 for trunk/LMDZ.COMMON/libf
- Timestamp:
- Apr 30, 2020, 5:14:24 PM (5 years ago)
- Location:
- trunk/LMDZ.COMMON/libf
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/dyn3d/vlsplt.F
r2296 r2307 139 139 END 140 140 RECURSIVE SUBROUTINE vlx(q,pente_max,masse,u_m,iq) 141 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils ! CRisi 141 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils, ! CRisi 142 & qperemin,masseqmin ! MVals 142 143 143 144 c Auteurs: P.Le Van, F.Hourdin, F.Forget … … 459 460 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 460 461 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 461 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq), 1e-16)462 if (q(ij,l,iq).gt. 1e-16) then462 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin) 463 if (q(ij,l,iq).gt.qperemin) then 463 464 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 464 465 else … … 481 482 DO ij=iip2+1,ip1jm 482 483 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 483 new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l), 1e-16)484 new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l),masseqmin) 484 485 q(ij,l,iq)=(q(ij,l,iq)*masse(ij,l,iq)+ 485 486 & u_mq(ij-1,l)-u_mq(ij,l)) … … 518 519 END 519 520 RECURSIVE SUBROUTINE vly(q,pente_max,masse,masse_adv_v,iq) 520 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils ! CRisi 521 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils, ! CRisi 522 & qperemin,masseqmin ! MVals 521 523 USE comconst_mod, ONLY: pi 522 524 c … … 788 790 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 789 791 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 790 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq), 1e-16)791 if (q(ij,l,iq).gt. 1e-16) then792 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin) 793 if (q(ij,l,iq).gt.qperemin) then 792 794 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 793 795 else … … 886 888 END 887 889 RECURSIVE SUBROUTINE vlz(q,pente_max,masse,w,iq) 888 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils ! CRisi 890 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils, ! CRisi 891 & qperemin,masseqmin ! MVals 889 892 c 890 893 c Auteurs: P.Le Van, F.Hourdin, F.Forget … … 1015 1018 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 1016 1019 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 1017 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq), 1e-16)1018 if (q(ij,l,iq).gt. 1e-16) then1020 masseq(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin) 1021 if (q(ij,l,iq).gt.qperemin) then 1019 1022 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 1020 1023 else -
trunk/LMDZ.COMMON/libf/dyn3d_common/infotrac.F90
r2306 r2307 32 32 INTEGER, ALLOCATABLE, DIMENSION(:,:), SAVE :: iqfils 33 33 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: iqpere 34 REAL :: qperemin,masseqmin ! MVals: thresholds for zq(pere) and masseq in the transport of the isotopic Ratio (vlsplt_p.F) 35 PARAMETER (qperemin=1.e-16) 36 PARAMETER (masseqmin=1.e-16) 34 37 35 38 ! conv_flg(it)=0 : convection desactivated for tracer number it -
trunk/LMDZ.COMMON/libf/dyn3dpar/vlsplt_p.F
r2296 r2307 214 214 c -------------------------------------------------------------------- 215 215 USE Parallel_lmdz 216 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils ! CRisi 216 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils, ! CRisi 217 & qperemin,masseqmin ! MVals 217 218 IMPLICIT NONE 218 219 c … … 528 529 ! les calcule donc que de ijb à ije 529 530 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 530 masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq), 1e-16)531 if (q(ij,l,iq).gt. 1e-16) then531 masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin) 532 if (q(ij,l,iq).gt.qperemin) then 532 533 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 533 534 else … … 549 550 DO ij=ijb+1,ije 550 551 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 551 new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l), 1e-16)552 new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l),masseqmin) 552 553 q(ij,l,iq)=(q(ij,l,iq)*masse(ij,l,iq)+ 553 554 & u_mq(ij-1,l)-u_mq(ij,l)) … … 601 602 c -------------------------------------------------------------------- 602 603 USE parallel_lmdz 603 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils ! CRisi 604 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils, ! CRisi 605 & qperemin,masseqmin ! MVals 604 606 USE comconst_mod, ONLY: pi 605 607 … … 918 920 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 919 921 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 920 masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq), 1e-16)921 if (q(ij,l,iq).gt. 1e-16) then922 masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin) 923 if (q(ij,l,iq).gt.qperemin) then 922 924 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 923 925 else … … 1049 1051 c -------------------------------------------------------------------- 1050 1052 USE Parallel_lmdz 1051 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils ! CRisi 1053 USE infotrac, ONLY : nqtot,nqfils,nqdesc,iqfils, ! CRisi 1054 & qperemin,masseqmin ! MVals 1052 1055 IMPLICIT NONE 1053 1056 c … … 1204 1207 !Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 1205 1208 !MVals: veiller a ce qu'on n'ait pas de denominateur nul 1206 masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq), 1e-16)1207 if (q(ij,l,iq).gt. 1e-16) then1209 masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin) 1210 if (q(ij,l,iq).gt.qperemin) then 1208 1211 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 1209 1212 else
Note: See TracChangeset
for help on using the changeset viewer.