- Timestamp:
- May 18, 2022, 3:56:49 PM (3 years ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
r4153 r4154 117 117 TYPE(isot_type), SAVE, POINTER :: isotope !--- CURRENTLY SELECTED ISOTOPES FAMILY DESCRIPTOR 118 118 INTEGER, SAVE :: ixIso, iH2O !--- Index of the selected isotopes family and H2O family 119 LOGICAL, SAVE , POINTER:: isoCheck !--- Flag to trigger the checking routines119 LOGICAL, SAVE :: isoCheck !--- Flag to trigger the checking routines 120 120 TYPE(keys_type), SAVE, POINTER :: isoKeys(:) !--- ONE SET OF KEYS FOR EACH ISOTOPE (LISTED IN isoName) 121 121 CHARACTER(LEN=maxlen), SAVE, POINTER :: isoName(:), & !--- ISOTOPES NAMES FOR THE CURRENTLY SELECTED FAMILY 122 122 isoZone(:), & !--- TAGGING ZONES FOR THE CURRENTLY SELECTED FAMILY 123 123 isoPhas !--- USED PHASES FOR THE CURRENTLY SELECTED FAMILY 124 INTEGER, SAVE , POINTER:: niso, nzone, & !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES125 nphas, ntiso , &!--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS126 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) 127 127 iqIsoPha(:,:) !--- INDEX IN "qx" AS f(isotopic tracer idx, phase idx) 128 128 … … 510 510 ELSE 511 511 512 niso = 0; nzone=0; nphas=nqo; ntiso = 0; isoCheck=.FALSE. 512 513 CALL initIsotopes(tracers, isotopes) 513 514 nbIso = SIZE(isotopes) … … 773 774 iIso = strIdx(isotopes(:)%parent, iName) 774 775 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 777 781 lerr = isoSelectByIndex(iIso, lV) 778 782 END FUNCTION isoSelectByName … … 792 796 ixIso = iIso !--- Update currently selected family index 793 797 isotope => isotopes(ixIso) !--- Select corresponding component 794 isoKeys => isotope%keys; niso = >isotope%niso795 isoName => isotope%trac; ntiso = >isotope%ntiso796 isoZone => isotope%zone; nzone = >isotope%nzone797 isoPhas => isotope%phase; nphas = >isotope%nphas798 itZonIso => isotope%itZonIso; isoCheck = >isotope%check798 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 799 803 iqIsoPha => isotope%iqIsoPha 800 804 END FUNCTION isoSelectByIndex -
LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
r4143 r4154 115 115 TYPE(isot_type), SAVE, POINTER :: isotope !--- CURRENTLY SELECTED ISOTOPES FAMILY DESCRIPTOR 116 116 INTEGER, SAVE :: ixIso, iH2O !--- Index of the selected isotopes family and H2O family 117 LOGICAL, SAVE , POINTER:: isoCheck !--- Flag to trigger the checking routines117 LOGICAL, SAVE :: isoCheck !--- Flag to trigger the checking routines 118 118 TYPE(keys_type), SAVE, POINTER :: isoKeys(:) !--- ONE SET OF KEYS FOR EACH ISOTOPE (LISTED IN isoName) 119 119 CHARACTER(LEN=maxlen), SAVE, POINTER :: isoName(:), & !--- ISOTOPES NAMES FOR THE CURRENTLY SELECTED FAMILY 120 120 isoZone(:), & !--- TAGGING ZONES FOR THE CURRENTLY SELECTED FAMILY 121 121 isoPhas !--- USED PHASES FOR THE CURRENTLY SELECTED FAMILY 122 INTEGER, SAVE , POINTER:: niso, nzone, & !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES123 nphas, ntiso , &!--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS124 122 INTEGER, SAVE :: niso, nzone, & !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES 123 nphas, ntiso !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS 124 INTEGER, SAVE, POINTER ::itZonIso(:,:), & !--- INDEX IN "isoTrac" AS f(tagging zone idx, isotope idx) 125 125 iqIsoPha(:,:) !--- INDEX IN "qx" AS f(isotopic tracer idx, phase idx) 126 126 !$OMP THREADPRIVATE(isotope, ixIso,iH2O, isoCheck, isoKeys, isoName,isoZone,isoPhas, niso,nzone,nphas,ntiso, itZonIso,iqIsoPha) … … 224 224 iIso = strIdx(isotopes(:)%parent, iName) 225 225 lerr = iIso == 0 226 CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lerr .AND. lV) 227 IF(lerr) RETURN 226 IF(lerr) THEN 227 niso = 0; ntiso = 0; nzone=0; nphas=nqo; isoCheck=.FALSE. 228 CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lV) 229 RETURN 230 END IF 228 231 lerr = isoSelectByIndex(iIso, lV) 229 232 END FUNCTION isoSelectByName … … 243 246 ixIso = iIso !--- Update currently selected family index 244 247 isotope => isotopes(ixIso) !--- Select corresponding component 245 isoKeys => isotope%keys; niso = >isotope%niso246 isoName => isotope%trac; ntiso = >isotope%ntiso247 isoZone => isotope%zone; nzone = >isotope%nzone248 isoPhas => isotope%phase; nphas = >isotope%nphas249 itZonIso => isotope%itZonIso; isoCheck = >isotope%check248 isoKeys => isotope%keys; niso = isotope%niso 249 isoName => isotope%trac; ntiso = isotope%ntiso 250 isoZone => isotope%zone; nzone = isotope%nzone 251 isoPhas => isotope%phase; nphas = isotope%nphas 252 itZonIso => isotope%itZonIso; isoCheck = isotope%check 250 253 iqIsoPha => isotope%iqIsoPha 251 254 END FUNCTION isoSelectByIndex
Note: See TracChangeset
for help on using the changeset viewer.