Changeset 4143 for LMDZ6/trunk/libf/misc
- Timestamp:
- May 9, 2022, 12:35:40 PM (3 years ago)
- Location:
- LMDZ6/trunk/libf/misc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/misc/readTracFiles_mod.f90
r4140 r4143 866 866 !=== NOTES: ==== 867 867 !=== * Most of the "isot" components have been defined in the calling routine (initIsotopes): ==== 868 !=== parent, nzone, zone(:), niso, keys(:)%name, ntiso, trac(:), nphas, phas, iq TraPha(:,:), itZonPhi(:,:) ====868 !=== parent, nzone, zone(:), niso, keys(:)%name, ntiso, trac(:), nphas, phas, iqIsoPha(:,:), itZonPhi(:,:) ==== 869 869 !=== * Same syntax for isotopes file and "tracer.def": a tracers section contains one line for each of its isotopes ==== 870 870 !=== * Each tracers section can contain a "params" virtual isotope line of isotopes parameters default values ==== … … 986 986 str = PACK(delPhase(t(:)%name), MASK=ll) 987 987 CALL strReduce(str) 988 i%ntiso = i%niso + SIZE(str) !--- Number of isotopes + their geographic tracers [nt raciso]988 i%ntiso = i%niso + SIZE(str) !--- Number of isotopes + their geographic tracers [ntiso] 989 989 ALLOCATE(i%trac(i%ntiso)) 990 990 FORALL(it = 1:i%niso) i%trac(it) = i%keys(it)%name … … 1009 1009 !=== Table used to get iq (index in dyn array, size nqtot) from the isotope and phase indexes ; the full isotopes list 1010 1010 ! (including tagging tracers) is sorted this way: iso1, iso2, ..., iso1_zone1, iso2_zone1, ..., iso1_zoneN, iso2_zoneN 1011 i%iq TraPha = RESHAPE( [( (strIdx(t%name, addPhase(i%trac(it),i%phase(ip:ip))), it=1, i%ntiso), ip=1, i%nphas)], &1011 i%iqIsoPha = RESHAPE( [( (strIdx(t%name, addPhase(i%trac(it),i%phase(ip:ip))), it=1, i%ntiso), ip=1, i%nphas)], & 1012 1012 [i%ntiso, i%nphas] ) 1013 1013 !=== Table used to get ix (index in tagging tracers isotopes list, size ntiso) from the zone and isotope indexes … … 1407 1407 IF(PRESENT(iPhase)) iPhase = 1 !--- Default: gaseous phase 1408 1408 lH2O=.FALSE. 1409 IF(LEN_TRIM(oldName) >3) THEN1410 lH2O = oldName(1:3)=='H2O' .AND. INDEX(old_phases,oldName(4:4))/=0 !---H2O<phase>*,with phase=="v", "l", "i" or "r"1411 IF(LEN_TRIM(oldName) > 4) lH2O = lH2O .AND. oldName(5:5) =='_' !---H2O<phase>_*, with phase=="v", "l", "i" or "r"1409 IF(LEN_TRIM(oldName) > 3) THEN 1410 lH2O = oldName(1:3)=='H2O' .AND. INDEX(old_phases,oldName(4:4))/=0 !--- H2O<phase>*, with phase=="v", "l", "i" or "r" 1411 IF(LEN_TRIM(oldName) > 4) lH2O = lH2O .AND. oldName(5:5) == '_' !--- H2O<phase>_*, with phase=="v", "l", "i" or "r" 1412 1412 END IF 1413 1413 IF(.NOT.lH2O) RETURN 1414 1414 IF(LEN_TRIM(oldName)>3) THEN; IF(INDEX(old_Phases,oldName(4:4))==0) RETURN; END IF 1415 1416 1417 1415 lerr = strParse(oldName, '_', tmp, n=nt) 1418 1416 ip = strIdx([('H2O'//old_phases(ip:ip), ip=1, nphases)], tmp(1)) !--- Phase index (/=0 if any) -
LMDZ6/trunk/libf/misc/trac_types_mod.F90
r4120 r4143 47 47 INTEGER :: ntiso = 0 !--- Number of isotopes, including tagging tracers 48 48 INTEGER :: nphas = 0 !--- Number phases 49 INTEGER, ALLOCATABLE :: iq TraPha(:,:) !--- Idx in "tracers(1:nqtot)" = f(name(1:ntiso)),phas)50 !--- "iq TraPha" former name: "iqiso"49 INTEGER, ALLOCATABLE :: iqIsoPha(:,:) !--- Idx in "tracers(1:nqtot)" = f(name(1:ntiso)),phas) 50 !--- "iqIsoPha" former name: "iqiso" 51 51 INTEGER, ALLOCATABLE :: itZonIso(:,:) !--- Idx in "trac(1:ntiso)" = f(zone, name(1:niso)) 52 52 !--- "itZonIso" former name: "index_trac"
Note: See TracChangeset
for help on using the changeset viewer.