Ignore:
Timestamp:
May 18, 2022, 3:56:49 PM (2 years ago)
Author:
dcugnet
Message:

Fixes needed because gfortran is not as permissive as ifort is with scalar pointers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3d_common/infotrac.F90

    r4153 r4154  
    117117   TYPE(isot_type),         SAVE, POINTER :: isotope            !--- CURRENTLY SELECTED ISOTOPES FAMILY DESCRIPTOR
    118118   INTEGER,                 SAVE          :: ixIso, iH2O        !--- Index of the selected isotopes family and H2O family
    119    LOGICAL,                 SAVE, POINTER :: isoCheck           !--- Flag to trigger the checking routines
     119   LOGICAL,                 SAVE          :: isoCheck           !--- Flag to trigger the checking routines
    120120   TYPE(keys_type),         SAVE, POINTER :: isoKeys(:)         !--- ONE SET OF KEYS FOR EACH ISOTOPE (LISTED IN isoName)
    121121   CHARACTER(LEN=maxlen),   SAVE, POINTER :: isoName(:),   &    !--- ISOTOPES NAMES FOR THE CURRENTLY SELECTED FAMILY
    122122                                             isoZone(:),   &    !--- TAGGING ZONES  FOR THE CURRENTLY SELECTED FAMILY
    123123                                             isoPhas            !--- USED PHASES    FOR THE CURRENTLY SELECTED FAMILY
    124    INTEGER,                 SAVE, POINTER ::  niso, nzone, &    !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES
    125                                              nphas, ntiso, &    !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS
    126                                             itZonIso(:,:), &    !--- INDEX IN "isoTrac" AS f(tagging zone idx,  isotope idx)
     124   INTEGER,                 SAVE          ::  niso, nzone, &    !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES
     125                                             nphas, ntiso       !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS
     126   INTEGER,                 SAVE, POINTER ::itZonIso(:,:), &    !--- INDEX IN "isoTrac" AS f(tagging zone idx,  isotope idx)
    127127                                            iqIsoPha(:,:)       !--- INDEX IN "qx"      AS f(isotopic tracer idx, phase idx)
    128128
     
    510510ELSE
    511511
     512   niso = 0; nzone=0; nphas=nqo; ntiso = 0; isoCheck=.FALSE.
    512513   CALL initIsotopes(tracers, isotopes)
    513514   nbIso = SIZE(isotopes)
     
    773774   iIso = strIdx(isotopes(:)%parent, iName)
    774775   lerr = iIso == 0
    775    CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lerr .AND. lV)
    776    IF(lerr) RETURN
     776   IF(lerr) THEN
     777      niso = 0; ntiso = 0; nzone=0; nphas=nqo; isoCheck=.FALSE.
     778      CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lV)
     779      RETURN
     780   END IF
    777781   lerr = isoSelectByIndex(iIso, lV)
    778782END FUNCTION isoSelectByName
     
    792796   ixIso = iIso                                                      !--- Update currently selected family index
    793797   isotope  => isotopes(ixIso)                                       !--- Select corresponding component
    794    isoKeys  => isotope%keys;     niso     => isotope%niso
    795    isoName  => isotope%trac;     ntiso    => isotope%ntiso
    796    isoZone  => isotope%zone;     nzone    => isotope%nzone
    797    isoPhas  => isotope%phase;    nphas    => isotope%nphas
    798    itZonIso => isotope%itZonIso; isoCheck => isotope%check
     798   isoKeys  => isotope%keys;     niso     = isotope%niso
     799   isoName  => isotope%trac;     ntiso    = isotope%ntiso
     800   isoZone  => isotope%zone;     nzone    = isotope%nzone
     801   isoPhas  => isotope%phase;    nphas    = isotope%nphas
     802   itZonIso => isotope%itZonIso; isoCheck = isotope%check
    799803   iqIsoPha => isotope%iqIsoPha
    800804END FUNCTION isoSelectByIndex
Note: See TracChangeset for help on using the changeset viewer.