Ignore:
Timestamp:
Jan 17, 2025, 5:12:48 PM (5 days ago)
Author:
dcugnet
Message:

Fix in infotrac_phy: isInPhysics depends on iadv, which has to be recomputed.
Typo fix in cv3_routines.f90.

Location:
LMDZ6/trunk/libf/phylmd
Files:
2 edited

Legend:

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

    r5478 r5487  
    49634963  LOGICAL,SAVE   ::  first=.TRUE.
    49644964  LOGICAL,SAVE   ::  keep_bug_indices_cv3_tracer
    4965   !$OMP_THREADPRIVATE (first, keep_bug_indices_cv3_tracer)
     4965!$OMP THREADPRIVATE(first, keep_bug_indices_cv3_tracer)
    49664966
    49674967! variables d'Emanuel : du second indice au troisieme
  • LMDZ6/trunk/libf/phylmd/infotrac_phy.F90

    r5481 r5487  
    158158! Local variables
    159159   INTEGER, ALLOCATABLE :: hadv(:), vadv(:)                          !--- Horizontal/vertical transport scheme number
    160    INTEGER, ALLOCATABLE :: had (:), hadv_inca(:), conv_flg_inca(:), &!--- Variables specific to INCA
    161                            vad (:), vadv_inca(:),  pbl_flg_inca(:)
    162    CHARACTER(LEN=8), ALLOCATABLE :: solsym_inca(:)                   !--- Tracers names for INCA
    163160   INTEGER :: nqINCA
    164161   CHARACTER(LEN=maxlen), ALLOCATABLE :: tnames(:)
     
    257254   IF(CPPKEY_REPROBUS) CALL Init_chem_rep_trac(nbtr, nqo, tracers(:)%name)     !--- Transfert the number of tracers to Reprobus
    258255
    259 !##############################################################################################################################
    260    IF(lInit) THEN                                                    !=== SKIPED IF ALREADY DONE IN dyn3d_common/infotrac  ####
    261 !##############################################################################################################################
    262 
    263256!==============================================================================================================================
    264257! 2) Calculate nqtot, number of tracers needed (greater if advection schemes 20 or 30 have been chosen).
     
    281274      CALL msg('The total number of tracers needed is '//TRIM(int2str(nqtot)))
    282275   END IF
     276
     277!##############################################################################################################################
     278   IF(lInit) THEN                                                    !=== SKIPED IF ALREADY DONE IN dyn3d_common/infotrac  ####
     279!##############################################################################################################################
    283280
    284281!==============================================================================================================================
     
    321318   IF(indexUpdate(tracers)) CALL abort_physic(modname, 'problem with tracers indices update', 1)
    322319
    323 !##############################################################################################################################
    324    END IF
    325 !##############################################################################################################################
    326 
    327 !##############################################################################################################################
    328    IF(.NOT.lInit) THEN
    329 !##############################################################################################################################
    330      nqtot = SIZE(tracers)
    331 !##############################################################################################################################
    332    ELSE
    333 !##############################################################################################################################
    334 
    335320   !=== READ PHYSICAL PARAMETERS FOR ISOTOPES
    336321   niso = 0; nzone = 0; nphas = nqo; ntiso = 0; isoCheck = .FALSE.
     
    338323
    339324!##############################################################################################################################
    340    END IF
    341 !##############################################################################################################################
     325   ELSE
     326!##############################################################################################################################
     327   DO iq = 1, nqtrue
     328      t1 => tracers(iq)
     329      IF(hadv(iq)     ==    vadv(iq)    ) iad = hadv(iq)
     330      IF(hadv(iq)==10 .AND. vadv(iq)==16) iad = 11
     331      tracers(iq)%isInPhysics= iad >= 0 .AND. (delPhase(t1%gen0Name) /= 'H2O' .OR. t1%component /= 'lmdz')
     332   END DO
     333!##############################################################################################################################
     334   END IF
     335!##############################################################################################################################
     336
    342337   !--- Convection / boundary layer activation for all tracers
    343338   IF(.NOT.ALLOCATED(conv_flg)) ALLOCATE(conv_flg(nbtr)); conv_flg(1:nbtr) = 1
Note: See TracChangeset for help on using the changeset viewer.