Ignore:
Timestamp:
Jan 31, 2022, 9:20:17 PM (2 years ago)
Author:
dcugnet
Message:
  • Fix for unadvected tracers (iadv==0)
  • The key %isH2Ofamily, from the derived type "trac_type", is replaced with the more general

key %isInPhysics, which is TRUE for tracers both in "qx" and "tr_seri".

Currently, FALSE for tracers descending on H2O (isotopes and tagging tracers included). Could be set to FALSE
for interactive CO2 (type_trac=='inco') or ice supersaturated cloud content (tranfered to "rneb_seri")

File:
1 edited

Legend:

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

    r4068 r4071  
    7878!  | iadv        | Advection scheme number                              | iadv        | 1-20,30 exc. 3-9,15,19 |
    7979!  | iGeneration | Generation (>=1)                                     | /           |                        |
    80 !  | isAdvected  | advected tracers flag (.TRUE. if iadv > 0)           | /           | nqtrue  .TRUE. values  |
    81 !  | isH2Ofamily | H2O tracer/isotope/tagging tracer                    | /           | nqtottr .TRUE. values  |
     80!  | isAdvected  | advected tracers flag (.TRUE. if iadv >= 0)          | /           | nqtrue  .TRUE. values  |
     81!  | isInPhysics | tracers not extracted from the main table in physics | /           | nqtottr .TRUE. values  |
    8282!  | iqParent    | Index of the parent tracer                           | iqpere      | 1:nqtot                |
    8383!  | iqDescen    | Indexes of the childs       (all generations)        | iqfils      | 1:nqtot                |
     
    338338      CALL msg('237: iq='//TRIM(int2str(iq)), modname)
    339339      READ(90,'(I2,X,I2,X,A)',IOSTAT=ierr) hadv(iq),vadv(iq),tchaine
    340       WRITE(msg1,'("iq, hadv(iq), vadv(iq) = ",i0,2(", ",i0))')iq, hadv(iq), vadv(iq)
    341       CALL msg(msg1, modname)
     340      WRITE(msg1,'("hadv(",i0,"), vadv(",i0,") = ",i0,", ",i0)')iq, iq, hadv(iq), vadv(iq)
     341      CALL msg(TRIM(msg1), modname)
    342342      CALL msg('tchaine = "'//TRIM(tchaine)//'"', modname)
    343343      CALL msg('infotrac 238: IOstatus='//TRIM(int2str(ierr)), modname)
     
    513513      IF(iad == -1) CALL abort_gcm(modname, msg1, 1)
    514514
    515       !--- SET FIELDS %longName, %iadv, %isAdvected, %isH2Ofamily
     515      !--- SET FIELDS %longName, %iadv, %isAdvected, %isInPhysics
    516516      t1%longName   = t1%name; IF(iad > 0) t1%longName=TRIM(t1%name)//descrq(iad)
    517517      t1%iadv       = iad
    518       t1%isAdvected = iad > 0
    519       t1%isH2Ofamily= delPhase(t1%gen0Name) == 'H2O'
     518      t1%isAdvected = iad >= 0
     519      t1%isInPhysics= delPhase(t1%gen0Name) /= 'H2O'  !=== TO BE COMPLETED WITH OTHER EXCEPTIONS: CO2i, SURSATURATED CLOUDS...
    520520      ttr(iq)       = t1
    521521
     
    621621   CALL msg('Information stored in infotrac :')
    622622   IF(dispTable('isssssssssiiiiiiiii', &
    623       ['iq      ', 'name    ', 'longN.  ', 'gen0N.  ', 'parent  ', 'type    ', 'phase   ', 'compon. ', 'isAdv.  ', 'isH2O.  '&
     623      ['iq      ', 'name    ', 'longN.  ', 'gen0N.  ', 'parent  ', 'type    ', 'phase   ', 'compon. ', 'isAdv.  ', 'isPhy.  '&
    624624      ,'iadv    ', 'iGen.   ', 'iqPar.  ', 'nqDes.  ', 'nqChil. ', 'iso_iG. ', 'iso_iN. ', 'iso_iZ. ', 'iso_iP. '],          &
    625625      cat(t%name,  t%longName,  t%gen0Name,  t%parent,  t%type,  t%phase, &
    626           t%component, bool2str(t%isAdvected), bool2str(t%isH2Ofamily)),  &
     626          t%component, bool2str(t%isAdvected), bool2str(t%isInPhysics)),  &
    627627      cat([(iq, iq=1, nqtot)],  t%iadv,  t%iGeneration, t%iqParent, t%nqDescen, &
    628628         t%nqChilds, t%iso_iGroup, t%iso_iName, t%iso_iZone, t%iso_iPhase))) &
Note: See TracChangeset for help on using the changeset viewer.