Ignore:
Timestamp:
Nov 19, 2021, 4:58:59 PM (3 years ago)
Author:
lguez
Message:

Sync latest trunk changes to Ocean_skin

Location:
LMDZ6/branches/Ocean_skin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin

  • LMDZ6/branches/Ocean_skin/libf/phylmd/phytrac_mod.F90

    r3798 r4013  
    5656  SUBROUTINE phytrac_init()
    5757    USE dimphy
    58     USE infotrac_phy, ONLY: nbtr, type_trac
     58    USE infotrac_phy, ONLY: nbtr, nqCO2, type_trac
    5959    USE tracco2i_mod, ONLY: tracco2i_init
    6060    IMPLICIT NONE
     
    8181    CASE('co2i')
    8282       !   -- CO2 interactif --
     83       CALL tracco2i_init()
     84    CASE('inco')
    8385       CALL tracco2i_init()
    8486    END SELECT
     
    122124    USE phys_cal_mod, only : hour
    123125    USE dimphy
    124     USE infotrac_phy, ONLY: nbtr, type_trac, conv_flg, solsym, pbl_flg
     126    USE infotrac_phy, ONLY: nbtr, nqCO2, type_trac, conv_flg, solsym, pbl_flg
    125127    USE mod_grid_phy_lmdz
    126128    USE mod_phys_lmdz_para
     
    176178    REAL,DIMENSION(klon,klev),INTENT(IN)   :: sh      ! humidite specifique
    177179    REAL,DIMENSION(klon,klev),INTENT(IN)   :: rh      ! humidite relative
    178     REAL,DIMENSION(klon,klev),INTENT(IN)   :: ch      ! eau liquide
     180    REAL,DIMENSION(klon,klev),INTENT(IN)   :: ch      ! eau liquide (+ glace si le traceur existe)
    179181    REAL,DIMENSION(klon,klev+1),INTENT(IN) :: paprs   ! pression pour chaque inter-couche (en Pa)
    180182    REAL,DIMENSION(klon,klev),INTENT(IN)   :: pplay   ! pression pour le mileu de chaque couche (en Pa)
     
    305307
    306308    !
    307     !Entrees/Sorties: (cf ini_histrac.h et write_histrac.h) 
     309    !Entrees/Sorties:
    308310    !---------------
    309311    INTEGER                   :: iiq, ierr
     
    332334    !----------
    333335    REAL,DIMENSION(klon,klev,nbtr) :: flestottr ! flux de lessivage dans chaque couche
    334     REAL,DIMENSION(klon,klev)      :: zmasse    ! densité atmosphérique Kg/m2
     336    REAL,DIMENSION(klon,klev)      :: zmasse    ! densite atmospherique Kg/m2
    335337    REAL,DIMENSION(klon,klev)      :: ztra_th
    336338    !PhH
     
    505507          iflag_vdf_trac= 1
    506508          iflag_con_trac= 1
     509       CASE('inco')
     510          source(:,1:nqCO2) = 0.                          ! from CO2i   ModThL
     511          source(:,nqCO2+1:nbtr)=init_source(:,:)         ! from INCA   ModThL
     512          aerosol(1:nqCO2) = .FALSE.                      ! from CO2i   ModThL
     513          CALL tracinca_init(aerosol(nqCO2+1:nbtr),lessivage)     ! from INCA   ModThL
     514          pbl_flg(1:nqCO2) = 1              ! From CO2i         ModThL
     515          iflag_the_trac= 1           ! From CO2i
     516          iflag_vdf_trac= 1           ! From CO2i
     517          iflag_con_trac= 1           ! From CO2i
    507518#ifdef CPP_StratAer
    508519       CASE('coag')
     
    571582                !--co2 tracers are not scavenged
    572583                flag_cvltr(it)=.FALSE.
    573 
     584             CASE('inco')     ! Add ThL
     585                flag_cvltr(it)=.FALSE.
    574586#ifdef CPP_StratAer
    575587             CASE('coag')
     
    590602          flag_cvltr(:) = .FALSE.
    591603       ENDIF
    592        !
    593        ! Initialize diagnostic output
    594        ! ----------------------------
    595 #ifdef CPP_IOIPSL
    596        !     INCLUDE "ini_histrac.h"
    597 #endif
    598604       !
    599605       ! print out all tracer flags
     
    614620       write(lunout,*)  'flag_cvltr    = ', flag_cvltr
    615621
    616        IF (lessivage .AND. type_trac .EQ. 'inca') THEN
     622       IF (lessivage .AND. (type_trac .EQ. 'inca' .OR. type_trac .EQ. 'inco')) THEN     ! Mod ThL
    617623          CALL abort_physic('phytrac', 'lessivage=T config_inca=inca impossible',1)
    618624!          STOP
     
    666672       !   -- sign convention : positive into the atmosphere
    667673
     674       CALL tracco2i(pdtphys, debutphy, &
     675            xlat, xlon, pphis, pphi, &
     676            t_seri, pplay, paprs, tr_seri, source)
     677    CASE('inco')      ! Add ThL
    668678       CALL tracco2i(pdtphys, debutphy, &
    669679            xlat, xlon, pphis, pphi, &
     
    10921102
    10931103    !    -- CHIMIE INCA  config_inca = aero or chem --
    1094     IF (type_trac == 'inca') THEN
     1104    IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN  ! ModThL
    10951105
    10961106       CALL tracinca(&
     
    11041114            tau_aero, piz_aero, cg_aero,        ccm,       &
    11051115            rfname,                                        &
    1106             tr_seri,  source)     
    1107        
    1108        
     1116            tr_seri(:,:,1+nqCO2:nbtr),  source(:,1+nqCO2:nbtr))  ! ModThL 
    11091117    ENDIF
    1110     !=============================================================
    1111     !   Ecriture des sorties
    1112     !=============================================================
    1113 #ifdef CPP_IOIPSL
    1114     ! INCLUDE "write_histrac.h"
    1115 #endif
    11161118
    11171119  END SUBROUTINE phytrac
Note: See TracChangeset for help on using the changeset viewer.