Ignore:
Timestamp:
May 11, 2021, 2:10:34 PM (3 years ago)
Author:
dcugnet
Message:
  • Bugs corrections:
    • sequential gcm fixed
    • parallel gcm compilation fixed ; to be tested
  • Some generic operations moved from infotrac to readTracFile
  • Fixed algebrical reduction routine, used in the isotopes parameters file.
  • Additional component "comp" in the tracers descriptor derived type "tra",

specifying the model component name(s) (cf. tracers sections) it belongs.

  • isotopes class selection tool fixed.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/LMDZ-tracers/libf/dyn3dmem/vlsplt_loc.F

    r3852 r3891  
    1414c   --------------------------------------------------------------------
    1515      USE parallel_lmdz
    16       USE infotrac, ONLY : nqtot,tracers, tra,         ! CRisi                 &
    17      &                     qperemin,masseqmin,ratiomin ! MVals et CRisi
     16      USE infotrac, ONLY : nqtot,tracers, tra,          ! CRisi                &
     17     &                     qprntmin, massqmin, ratiomin ! MVals et CRisi
    1818      IMPLICIT NONE
    1919c
     
    346346           ! les calcule donc que de ijb à ije
    347347           !MVals: veiller a ce qu'on n'ait pas de denominateur nul
    348            masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin)
    349            if (q(ij,l,iq).gt.qperemin) then ! modif 13 nov 2020
     348           masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),massqmin)
     349           if (q(ij,l,iq).gt.qprntmin) then ! modif 13 nov 2020
    350350             Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq)
    351351           else
     
    369369         DO ij=ijb+1,ije
    370370            !MVals: veiller a ce qu'on n'ait pas de denominateur nul
    371             new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l),masseqmin)
     371            new_m=max(masse(ij,l,iq)+u_m(ij-1,l)-u_m(ij,l),massqmin)
    372372            q(ij,l,iq)=(q(ij,l,iq)*masse(ij,l,iq)+
    373373     &        u_mq(ij-1,l)-u_mq(ij,l))
     
    425425c   --------------------------------------------------------------------
    426426      USE parallel_lmdz
    427       USE infotrac, ONLY : nqtot, tracers, tra,        ! CRisi                 &
    428      &                     qperemin,masseqmin,ratiomin ! MVals et CRisi   
     427      USE infotrac, ONLY : nqtot, tracers, tra,         ! CRisi                &
     428     &                     qprntmin, massqmin, ratiomin ! MVals et CRisi   
    429429      USE comconst_mod, ONLY: pi
    430430      IMPLICIT NONE
     
    759759          DO ij=ijbm,ijem
    760760           !MVals: veiller a ce qu'on n'ait pas de denominateur nul
    761            masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin)
     761           masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),massqmin)
    762762          enddo !DO ij=ijbm,ijem
    763763
     
    765765         DO ij=ijb,ije
    766766           !MVals: veiller a ce qu'on n'ait pas de denominateur nul
    767            if (q(ij,l,iq).gt.qperemin) then ! modif 13 nov 2020
     767           if (q(ij,l,iq).gt.qprntmin) then ! modif 13 nov 2020
    768768             Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq)
    769769           else
     
    901901      USE parallel_lmdz
    902902      USE vlz_mod
    903       USE infotrac, ONLY : nqtot, tracers, tra,        ! CRisi                 &
    904      &                     qperemin,masseqmin,ratiomin ! MVals et CRisi
     903      USE infotrac, ONLY : nqtot, tracers, tra,         ! CRisi                &
     904     &                     qprntmin, massqmin, ratiomin ! MVals et CRisi
    905905     
    906906      IMPLICIT NONE
     
    949949!$OMP THREADPRIVATE(first)
    950950
    951       !REAL masseq(ijb_u:ije_u,llm,nqtot),Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi
     951      !REAL massq(ijb_u:ije_u,llm,nqtot),Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi
    952952      ! Ces varibles doivent être déclarées en pointer et en save dans
    953953      ! vlz_loc si on veut qu'elles soient vues par tous les threads. 
    954954      INTEGER ichld,iq2 ! CRisi
    955 
     955      TYPE(tra), POINTER :: tr
     956      tr => tracers(iq)
    956957
    957958      IF (first) THEN
     
    11741175          DO ij=ijb,ije
    11751176           !MVals: veiller a ce qu'on n'ait pas de denominateur nul
    1176            masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),masseqmin)
    1177            if (q(ij,l,iq).gt.qperemin) then
     1177           masse(ij,l,iq2)=max(masse(ij,l,iq)*q(ij,l,iq),massqmin)
     1178           if (q(ij,l,iq).gt.qprntmin) then
    11781179             Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq)
    11791180           else
Note: See TracChangeset for help on using the changeset viewer.