Changeset 6183


Ignore:
Timestamp:
Apr 22, 2026, 1:22:57 PM (12 days ago)
Author:
Laurent Fairhead
Message:

Using iflag_phytrac flag to bypass cv3_tracer which is not needed if phytrac is not called (and therefore savinua some execution time)

Location:
LMDZ6/trunk/libf
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/cva_driver_mod.f90

    r6142 r6183  
    111111! **************************************************************
    112112
    113    USE lmdz_cv_ini, ONLY: prt_level, lunout
     113USE lmdz_cv_ini, ONLY: prt_level, lunout, iflag_phytrac
    114114  !!!USE lmdz_cv_ini, ONLY: fl_cor_ebil
    115115  USE cv3_routines_mod, ONLY : cv3_prelim, cv3_feed, cv3_undilute1, cv3_trigger, cv3_undilute2, cv3_epmax_fn_cape, cv3_closure, cv3_mixing, cv3_unsat, cv3_yield, cv3_tracer, cv3_incrcount
     
    12511251!^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    12521252
    1253     IF (iflag_con==3) THEN
     1253    IF (iflag_phytrac) THEN
     1254
     1255      IF (iflag_con==3) THEN
    12541256!RomP >>>
    12551257        if (prt_level >= 9) &
    12561258             PRINT *, 'cva_driver -> cv3_tracer'
    1257       CALL cv3_tracer(nloc, len, ncum, nd, nd, &
     1259        CALL cv3_tracer(nloc, len, ncum, nd, nd, &
    12581260                     ment, sigij, da, phi, phi2, d1a, dam, &
    12591261                     ep, vprecip, elij, clw, epmlmMm, eplaMm, &
    12601262                     icb, inb)
    12611263!RomP <<<
     1264      END IF
    12621265    END IF
    12631266
  • LMDZ6/trunk/libf/phylmd/lmdz_cv_ini.f90

    r6142 r6183  
    1414          nl, nlp, nlm
    1515  PUBLIC :: cpd, cpv, cl, ci, rrv, rrd, lv0, lf0, g, rowl, t0, clmcpv, clmcpd, cpdmcp, cpvmcpd, cpvmcl,  &
    16           clmci, eps, epsi, epsim1, ginv, hrd, grav, keep_bug_indices_cv3_tracer, restore_bug_cvdn
     16          clmci, eps, epsi, epsim1, ginv, hrd, grav, keep_bug_indices_cv3_tracer, restore_bug_cvdn, iflag_phytrac
    1717
    1818  PUBLIC :: retv,rtt,r ! From ymocst_mod_h
     
    4646  REAL ejectliq
    4747  REAL ejectice
     48  INTEGER iflag_phytrac
    4849
    4950  !$OMP THREADPRIVATE(sigdz, spfac, pbcrit, ptcrit, elcrit, tlcrit, coef_peel, omtrain, dtovsh, dpbase, &
    5051  !$OMP      dttrig, dtcrit, tau, beta, alpha, alpha1, T_top_max, tau_stop, noconv_stop, wbmax, &
    5152  !$OMP      delta, betad, ejectliq, ejectice, flag_wb, flag_epKEorig, cv_flag_feed, noff, minorig, &
    52   !$OMP      nl, nlp, nlm)
     53  !$OMP      nl, nlp, nlm, iflag_phytrac)
    5354
    5455  ! Thermodynamical constants for convectL:
     
    161162
    162163
    163 SUBROUTINE cv_ini(iflag_con_IN,iflag_ice_thermo_IN,rcpd_IN,rcpv_IN,rcw_IN,rv_IN,rcs_IN,rd_IN,rlvtt_IN,rlstt_IN,rg_IN,retv_IN,rtt_IN,r_IN,nd,k_upper,delt,fl_cor_ebil_IN,prt_level_IN, lunout_IN)
     164SUBROUTINE cv_ini(iflag_con_IN,iflag_ice_thermo_IN,rcpd_IN,rcpv_IN,rcw_IN,rv_IN,rcs_IN,rd_IN,rlvtt_IN,rlstt_IN,rg_IN,&
     165                retv_IN,rtt_IN,r_IN,nd,k_upper,delt,fl_cor_ebil_IN,prt_level_IN, lunout_IN, iflag_phytrac_IN)
    164166 
    165167
     
    177179integer, intent(in) :: prt_level_IN, lunout_IN,fl_cor_ebil_IN
    178180
     181INTEGER, intent(in) :: iflag_phytrac_IN
     182
    179183    CALL cv_ini_previously_in_conf_phys
    180184    CALL cv_thermo(iflag_con_IN,rcpd_IN,rcpv_IN,rcw_IN,rv_IN,rcs_IN,rd_IN,rlvtt_IN,rlstt_IN,rg_IN)
     
    185189    prt_level=prt_level_IN
    186190    lunout=lunout_IN
     191    iflag_phytrac=iflag_phytrac_IN
    187192
    188193    IF ( iflag_con_IN==30 ) then ! Previously un cv_driver
     
    376381
    377382
    378 
    379383    WRITE (*, *) 't_top_max=', t_top_max
    380384    WRITE (*, *) 'dpbase=', dpbase
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r6181 r6183  
    16951695                     k_upper_cv
    16961696             ENDIF
    1697        CALL cv_ini(iflag_con,iflag_ice_thermo,rcpd,rcpv,rcw,rv,rcs,rd,rlvtt,rlstt,rg,retv,rtt,r,klev,k_upper_cv,phys_tstep,fl_cor_ebil,prt_level,lunout)
     1697       CALL cv_ini(iflag_con,iflag_ice_thermo,rcpd,rcpv,rcw,rv,rcs,rd,rlvtt,rlstt,rg,retv,rtt,r,klev,k_upper_cv,phys_tstep,fl_cor_ebil,&
     1698               prt_level,lunout, iflag_phytrac)
    16981699
    16991700
  • LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90

    r6181 r6183  
    18121812                       k_upper_cv
    18131813               ENDIF
    1814          CALL cv_ini(iflag_con,iflag_ice_thermo,rcpd,rcpv,rcw,rv,rcs,rd,rlvtt,rlstt,rg,retv,rtt,r,klev,k_upper_cv,phys_tstep,fl_cor_ebil,prt_level,lunout)
     1814         CALL cv_ini(iflag_con,iflag_ice_thermo,rcpd,rcpv,rcw,rv,rcs,rd,rlvtt,rlstt,rg,retv,rtt,r,klev,k_upper_cv,phys_tstep,&
     1815                 fl_cor_ebil, prt_level,lunout, iflag_phytrac)
    18151816   
    18161817       CALL wake_ini(iflag_wake,rg,rd,rv,prt_level)
Note: See TracChangeset for help on using the changeset viewer.