Ignore:
Timestamp:
Jan 30, 2023, 9:27:31 PM (3 years ago)
Author:
dcugnet
Message:
  • fix for isotopic tagging tracers
  • modify strHead/strTail: last argument (optional) has the same convention as INDEX: if lBackward==.TRUE., search the pattern starting from the end of the string (default=.FALSE.)
  • consolidate and simplify the new2oldH2O routine
Location:
LMDZ6/trunk/libf/phylmdiso
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90

    r4402 r4403  
    1651616516#endif
    1651716517     xtrain_fall, xtsnow_fall, ql_ancien, xtl_ancien, qs_ancien, xts_ancien, fxtevap, xtsol
    16518    USE indice_sol_mod,    ONLY: nbsrf 
     16518   USE indice_sol_mod,    ONLY: nbsrf
    1651916519   USE isotopes_mod,      ONLY: isoName,iso_HDO,iso_eau
    1652016520   USE phyetat0_get_mod,  ONLY: phyetat0_get, phyetat0_srf
    1652116521   USE readTracFiles_mod, ONLY: new2oldH2O
    16522    USE strings_mod,       ONLY: strIdx, strHead, strTail, maxlen, msg, int2str
     16522   USE strings_mod,       ONLY: strIdx, strTail, maxlen, msg, int2str
    1652316523#ifdef ISOVERIF
    1652416524   USE isotopes_verif_mod
     
    1655816558
    1655916559      outiso = isoName(ixt)
    16560       oldIso = strTail(new2oldH2O(outiso), '_', lFirst=.TRUE.)
     16560      oldIso = strTail(new2oldH2O(outiso), '_')            !--- Remove "H2O_" from "H2O_<iso>[_<tag>]"
    1656116561      ! on lit seulement si ixt<=niso ou si on initialise les traceurs d'après fichier:
    1656216562#ifdef ISOTRAC
  • LMDZ6/trunk/libf/phylmdiso/isotrac_mod.F90

    r4325 r4403  
    149149   USE isotopes_mod, ONLY: iso_eau, ntracisoOR, initialisation_iso
    150150   USE dimphy,       ONLY: klon, klev
    151    USE  strings_mod, ONLY: int2str, strStack, strTail, strHead, fmsg
     151   USE  strings_mod, ONLY: int2str, strStack, strTail, strHead, strIdx, fmsg
    152152
    153153   IMPLICIT NONE
     
    658658   END DO
    659659
    660    index_zone = [(INDEX(isoZone, strTail(         isoName(ixt) ,'_')), ixt=1, ntiso)]
    661    index_iso  = [(INDEX(isoName, strHead(delPhase(isoName(ixt)),'_')), ixt=1, ntiso)]
     660   index_zone = [(strIdx(isoZone, strTail(isoName(ixt) ,'_',.TRUE.)), ixt=1, ntiso)]
     661   index_iso  = [(strIdx(isoName, strHead(isoName(ixt) ,'_',.TRUE.)), ixt=1, ntiso)]
    662662   itZonIso_loc = itZonIso(:,:)
    663663#ifdef ISOVERIF
Note: See TracChangeset for help on using the changeset viewer.