Ignore:
Timestamp:
Mar 23, 2021, 4:14:07 PM (3 years ago)
Author:
lmdz-users
Message:

Modifications from Thibaut to create an ESM with interactive CO2 + INCA aerosols

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/infotrac_phy.F90

    r3677 r3865  
    2020  INTEGER, SAVE :: nbtr
    2121!$OMP THREADPRIVATE(nbtr)
     22
     23! ThL : number of tracers specific to INCA
     24  INTEGER, SAVE :: nqINCA
     25!$OMP THREADPRIVATE(nqINCA)
    2226
    2327#ifdef CPP_StratAer
     
    3337  INTEGER, SAVE :: nqperes
    3438!$OMP THREADPRIVATE(nqperes)
     39
     40! ThL : nb de traceurs dans le traceur.def
     41  INTEGER, SAVE :: nqexcl
     42!$OMP THREADPRIVATE(nqexcl)
    3543
    3644! Name variables
     
    96104CONTAINS
    97105
    98   SUBROUTINE init_infotrac_phy(nqtot_,nqo_,nbtr_,tname_,ttext_,type_trac_,&
     106  SUBROUTINE init_infotrac_phy(nqtot_,nqo_,nbtr_,nqINCA_,tname_,ttext_,type_trac_,&
    99107                               niadv_,conv_flg_,pbl_flg_,solsym_,&
    100108                               nqfils_,nqdesc_,nqdesc_tot_,iqfils_,iqpere_,&
     
    118126    INTEGER,INTENT(IN) :: nqo_
    119127    INTEGER,INTENT(IN) :: nbtr_
     128    INTEGER,INTENT(IN) :: nqINCA_
    120129#ifdef CPP_StratAer
    121130    INTEGER,INTENT(IN) :: nbtr_bin_
     
    130139    CHARACTER(len=4),INTENT(IN) :: type_trac_
    131140    INTEGER,INTENT(IN) :: niadv_ (nqtot_) ! equivalent dyn / physique
    132     INTEGER,INTENT(IN) :: conv_flg_(nbtr_)
    133     INTEGER,INTENT(IN) :: pbl_flg_(nbtr_)
    134     CHARACTER(len=8),INTENT(IN) :: solsym_(nbtr_)
     141    INTEGER,INTENT(IN) :: conv_flg_(nqINCA_)
     142    INTEGER,INTENT(IN) :: pbl_flg_(nqINCA_)
     143    CHARACTER(len=8),INTENT(IN) :: solsym_(nqINCA_)
    135144    ! Isotopes:
    136145    INTEGER,INTENT(IN) :: nqfils_(nqtot_)
     
    163172    nqo=nqo_
    164173    nbtr=nbtr_
     174    nqINCA=nqINCA_
    165175#ifdef CPP_StratAer
    166176    nbtr_bin=nbtr_bin_
     
    179189    niadv(:)=niadv_(:)
    180190    ALLOCATE(conv_flg(nbtr))
    181     conv_flg(:)=conv_flg_(:)
     191    IF (type_trac == 'inco') THEN
     192      conv_flg(1)=1
     193      conv_flg(2:nbtr)=conv_flg_(:)
     194    ELSE
     195      conv_flg(:)=conv_flg_(:)
     196    ENDIF
    182197    ALLOCATE(pbl_flg(nbtr))
    183     pbl_flg(:)=pbl_flg_(:)
     198    IF (type_trac == 'inco') THEN
     199      pbl_flg(1)=1
     200      pbl_flg(2:nbtr)=pbl_flg_(:)
     201    ELSE
     202      pbl_flg(:)=pbl_flg_(:)
     203    ENDIF
    184204    ALLOCATE(solsym(nbtr))
    185     solsym(:)=solsym_(:)
    186  
     205    IF (type_trac == 'inco') THEN
     206      solsym(1)='CO2'
     207      solsym(2:nbtr)=solsym_(:)
     208    ELSE
     209      solsym(:)=solsym_(:)
     210    ENDIF
     211     
    187212    IF(prt_level.ge.1) THEN
    188       write(lunout,*) TRIM(modname)//": nqtot,nqo,nbtr",nqtot,nqo,nbtr
     213      write(lunout,*) TRIM(modname)//": nqtot,nqo,nbtr,nqINCA",nqtot,nqo,nbtr,nqINCA
    189214    ENDIF
    190215   
Note: See TracChangeset for help on using the changeset viewer.