Changeset 3960


Ignore:
Timestamp:
Jul 13, 2021, 12:41:02 PM (3 years ago)
Author:
acozic
Message:

remove !$OMP directives to allow parallelisation in openmp
infotrac is call outside of a parallel omp zone, all variables in SAVE are shared by all process when we enter in OMP zone. If we put these variables in THREADPRIVATE we need to call bcast to share them.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/LMDZ-tracers/libf/dyn3d_common/infotrac.F90

    r3957 r3960  
    112112                              nbIso                        !--- Number of available isotopes family
    113113  CHARACTER(LEN=256), SAVE :: type_trac                    !--- Keyword for tracers type
    114 !$OMP THREADPRIVATE(nqtot, nbtr, nqo, nbIso, type_trac)
    115114
    116115  !=== DERIVED TYPES EMBEDDING MOST INFORMATIONS ABOUT TRACERS AND ISOTOPES FAMILIES
    117116  TYPE(tra), TARGET,  SAVE, ALLOCATABLE ::  tracers(:)     !=== TRACERS DESCRIPTORS VECTOR
    118117  TYPE(iso), TARGET,  SAVE, ALLOCATABLE :: isotopes(:)     !=== ISOTOPES PARAMETERS VECTOR
    119 !$OMP THREADPRIVATE(tracers, isotopes)
    120118
    121119  !=== ALIASES FOR CURRENTLY SELECTED ISOTOPES FAMILY OF VARIABLES EMBEDDED IN THE VECTOR "isotopes"
     
    131129  INTEGER,            SAVE, POINTER     :: iZonIso(:,:)    !--- INDEX IN "isoTrac" AS f(tagging zone, isotope)
    132130  INTEGER,            SAVE, POINTER     :: iTraPha(:,:)    !--- INDEX IN "isoTrac" AS f(isotopic tracer, phase)
    133 !$OMP THREADPRIVATE(isotope, ixIso,iH2O, isoCheck, isoKeys, isoName,isoZone,isoPhas, niso,nzon,npha,nitr, iZonIso,iTraPha)
    134131
    135132  !=== VARIABLES EMBEDDED IN "tracers", BUT DUPLICATED, AS THEY ARE RATHER FREQUENTLY USED + VARIABLES FOR INCA
     
    141138                                              niadv(:)     !--- Indexes of true tracers  (<=nqtot, such that iadv(idx)>0)
    142139  CHARACTER(LEN=8),   SAVE, ALLOCATABLE ::   solsym(:)     !--- Names from INCA                                    (nbtr)
    143 !OMP THREADPRIVATE(tnat, alpha_ideal, conv_flg, pbl_flg, itr_indice, niadv, solsym)
    144140
    145141#ifdef CPP_StratAer
    146142  !=== SPECIFIC TO STRATOSPHERIC AEROSOLS (CK/OB)
    147143  INTEGER, SAVE :: nbtr_bin, nbtr_sulgas, id_OCS_strat, id_H2SO4_strat, id_SO2_strat, id_BIN01_strat, id_TEST_strat
    148 !OMP THREADPRIVATE(nbtr_bin, nbtr_sulgas, id_OCS_strat, id_H2SO4_strat, id_SO2_strat, id_BIN01_strat, id_TEST_strat)
    149144#endif
    150145
Note: See TracChangeset for help on using the changeset viewer.