Ignore:
Timestamp:
Sep 15, 2024, 10:38:32 AM (2 months ago)
Author:
dcugnet
Message:

Revert to r5182 because r5183 still craches with gfortran for unclear reasons.
r5188 and r5189 have been included.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3dmem/check_isotopes_loc.F90

    r5183 r5190  
    33   USE strings_mod, ONLY: maxlen, msg, strIdx, strStack, int2str, real2str
    44   USE infotrac,    ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
    5                           ntiso, iH2O, nzone, tracers, isoName,  itZonIso
    6    USE iso_params_mod, ONLY: tnat_H216O, tnat_H217O, tnat_H218O, tnat_HDO, tnat_HTO
    7 #ifdef CPP_IOIPSL
    8    USE ioipsl,          ONLY: getin
    9 #else
    10    USE ioipsl_getincom, ONLY: getin
    11 #endif
     5                          ntiso, iH2O, nzone, tracers, isoName,  itZonIso, getKey
    126   IMPLICIT NONE
    137   include "dimensions.h"
     
    2721                      deltaDmin =-999.0, &
    2822                      ridicule  = 1e-12
    29    INTEGER, SAVE :: iso_eau, iso_HDO, iso_O18, iso_O17, iso_HTO
    30 !$OMP THREADPRIVATE(iso_eau, iso_HDO, iso_O18, iso_O17, iso_HTO)
    31    LOGICAL       :: ltnat1
     23   INTEGER, SAVE :: iso_eau, iso_HDO, iso_O18, & !--- OpenMP shared variables
     24                             iso_O17, iso_HTO
    3225   LOGICAL, SAVE :: first=.TRUE.
     26   LOGICAL, PARAMETER :: tnat1=.TRUE.
    3327!$OMP THREADPRIVATE(first)
    3428
     
    3832   IF(niso == 0)        RETURN                   !--- No isotopes => finished
    3933   IF(first) THEN
    40       ltnat1 = .TRUE.; CALL getin('tnateq1', ltnat1)
    41       iso_eau = strIdx(isoName,'H216O'); IF(iso_eau /= 0) tnat(iso_eau) = tnat_H216O
    42       iso_O17 = strIdx(isoName,'H217O'); IF(iso_O17 /= 0) tnat(iso_O17) = tnat_H217O
    43       iso_O18 = strIdx(isoName,'H218O'); IF(iso_O18 /= 0) tnat(iso_O18) = tnat_H218O
    44       iso_HDO = strIdx(isoName,'HDO');   IF(iso_HDO /= 0) tnat(iso_HDO) = tnat_HDO
    45       iso_HTO = strIdx(isoName,'HTO');   IF(iso_HTO /= 0) tnat(iso_HTO) = tnat_HTO
    46       IF(ltnat1) tnat(:) = 1.0
     34!$OMP MASTER
     35      iso_eau = strIdx(isoName,'H216O')
     36      iso_HDO = strIdx(isoName,'HDO')
     37      iso_O18 = strIdx(isoName,'H218O')
     38      iso_O17 = strIdx(isoName,'H217O')
     39      iso_HTO = strIdx(isoName,'HTO')
     40      if (tnat1) then
     41              tnat(:)=1.0
     42      else
     43         IF(getKey('tnat', tnat)) CALL abort_gcm(modname, 'missing isotopic parameter', 1)
     44      endif
     45!$OMP END MASTER
     46!$OMP BARRIER
    4747      first = .FALSE.
    4848   END IF
Note: See TracChangeset for help on using the changeset viewer.