SUBROUTINE gastoparticle(pdtphys, zdz, zrho, xlat, pplay, t_seri, & id_prec, id_fine, tr_seri, his_g2pgas, his_g2paer) USE dimphy USE lmdz_infotrac USE lmdz_YOECUMF USE lmdz_yomcst USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm USE lmdz_chem, ONLY: idms, iso2, iso4, ih2s, idmso, imsa, ih2o2, & n_avogadro, masse_s, masse_so4, rho_water, rho_ice USE lmdz_chem_spla, ONLY: masse_ammsulfate IMPLICIT NONE REAL :: pdtphys REAL :: zrho(klon, klev) REAL :: zdz(klon, klev) REAL :: tr_seri(klon, klev, nbtr) ! traceurs REAL :: tend ! tendance par espece REAL :: xlat(klon) ! latitudes pour chaque point REAL :: pi ! JE: 20140120 REAL :: his_g2pgas(klon) REAL :: his_g2paer(klon) REAL :: tendincm3(klon, klev) REAL :: tempvar(klon, klev) REAL :: pplay(klon, klev) REAL :: t_seri(klon, klev) REAL :: tend2d(klon, klev) INTEGER :: id_prec, id_fine !------------------------- Scaling Parameter -------------------------- ! REAL scale_param_so4(klon) !Scaling parameter for sulfate INTEGER :: i, k REAL :: tau_chem !---chemical lifetime in s !------------------------- Variables to save -------------------------- !nhl REAL fluxso4chem(klon,klev) !nhl REAL flux_sparam_sulf(klon,klev) !====================================================================== pi = atan(1.) * 4. IF (id_prec>0 .AND. id_fine>0) THEN DO k = 1, klev DO i = 1, klon ! tau_chem=scale_param_so4(i)*86400.*(8.-5.*cos(xlat(i)*pi/180.)) !tchemfctn2 !nhl tau_chem=86400.*(8.-5.*cos(xlat(i)*pi/180.)) !tchemfctn2 tau_chem = 86400. * (5. - 4. * cos(xlat(i) * pi / 180.)) ! tend = tr_seri(i, k, id_prec) * (1. - exp(-pdtphys / tau_chem)) ! Sulfate production !nhl tend=(1.-exp(-pdtphys/tau_chem)) !nhl tend=scale_param_so4(i) !as this it works tr_seri(i, k, id_prec) = tr_seri(i, k, id_prec) - tend tr_seri(i, k, id_fine) = tr_seri(i, k, id_fine) + & tend / RNAVO * masse_ammsulfate !--gAER/KgAir tend2d(i, k) = tend !nhl fluxso4chem(i,k) = tend/RNAVO*masse_ammsulfate !nhl flux_sparam_sulf(i,k) = tend/RNAVO*masse_ammsulfate ENDDO ENDDO tempvar = tend2d CALL kg_to_cm3(pplay, t_seri, tempvar) tendincm3 = tempvar DO k = 1, klev DO i = 1, klon ! his_g2pgas(i) = his_g2pgas(i) + tendincm3(i,k)*1e6*zdz(i,k)/pdtphys his_g2paer(i) = his_g2paer(i) + & tendincm3(i, k) / RNAVO * masse_ammsulfate * 1.e3 * & 1.e6 * zdz(i, k) / pdtphys ! mg/m2/s his_g2pgas(i) = his_g2paer(i) * masse_s / masse_ammsulfate ! mg-S/m2/s ENDDO ENDDO ENDIF ! END SUBROUTINE gastoparticle