Thanks so much. It helps me a lot!Hi Ren,
You will need to also reduce the amount of SO2 by the amount of so4 you create. Below is a snippet of code from how I create so4 for fire emissions (it all goes into so4_a4 for fires because there is no so4_a2 from fires).
Hope that helps!
Best,
Rebecca
;------------------------------------------------
if (tracer.eq."SO4") then
diam = 0.134e-06
rho_SO4 = 1770.
mw = 115. ; CAM-chem reads SO4 as NH4HSO4 in MAM (mw_so4 for BAM is 96)
end if
;********************************************
; SO4 created from SO2
; Also create num_* species
if (tracer.eq."SO4") then
emiss_so2_new = 0.975 * emiss_in
emiss_so4 = 0.025 * emiss_in
mass_particle = rho_SO4 *(PI/6.) *(diam)^3 ;mass per particle (kg/particle)
; CESM scales emissions by amufac when read in
; (to convert molec/cm2/s to kg/m2/s)
; amufac = 1.65979e-23 = (1E-3kg/g)*(1E4cm2/m2)/Avog
; therefore number emissions files are also scaled by 1/amufac
num_emiss = emiss_so4 * mw /mass_particle ;(particles/cm2/s)(molecules/mole)(g/kg)
; to write out
new_names = (/"SO2", "so4_a1", "num_so4_a1"/)
new_emiss = (/emiss_so2_new, emiss_so4, num_emiss/)
end if
end if
Thank you, Rebecca. May I know how to calculate the vertical distribution of so4_a1 (industry and energy)? I found a post in Github (cesm-cmip6-emissions/historical_emissions/make_emis_cmip6_so2so4_anthro.pro at main · lkemmons/cesm-cmip6-emissions) showing the routines used to create the CMIP6 emissions used in CESM2. But I am not sure if it is correct. Thank you so much!Hi Ren,
You will need to also reduce the amount of SO2 by the amount of so4 you create. Below is a snippet of code from how I create so4 for fire emissions (it all goes into so4_a4 for fires because there is no so4_a2 from fires).
Hope that helps!
Best,
Rebecca
;------------------------------------------------
if (tracer.eq."SO4") then
diam = 0.134e-06
rho_SO4 = 1770.
mw = 115. ; CAM-chem reads SO4 as NH4HSO4 in MAM (mw_so4 for BAM is 96)
end if
;********************************************
; SO4 created from SO2
; Also create num_* species
if (tracer.eq."SO4") then
emiss_so2_new = 0.975 * emiss_in
emiss_so4 = 0.025 * emiss_in
mass_particle = rho_SO4 *(PI/6.) *(diam)^3 ;mass per particle (kg/particle)
; CESM scales emissions by amufac when read in
; (to convert molec/cm2/s to kg/m2/s)
; amufac = 1.65979e-23 = (1E-3kg/g)*(1E4cm2/m2)/Avog
; therefore number emissions files are also scaled by 1/amufac
num_emiss = emiss_so4 * mw /mass_particle ;(particles/cm2/s)(molecules/mole)(g/kg)
; to write out
new_names = (/"SO2", "so4_a1", "num_so4_a1"/)
new_emiss = (/emiss_so2_new, emiss_so4, num_emiss/)
end if
end if
I calculated so4_a1_anthro-ene-vertical for altitudes of 0.175, 0.225, 0.275, and 0.325 km as 0.025 * (ene+ind)/2e4 and set 0 to rest altitude layers, where ene and ind denote SO2 surface emission from energy and industrial sectors.Thank you, Rebecca. May I know how to calculate the vertical distribution of so4_a1 (industry and energy)? I found a post in Github (cesm-cmip6-emissions/historical_emissions/make_emis_cmip6_so2so4_anthro.pro at main · lkemmons/cesm-cmip6-emissions) showing the routines used to create the CMIP6 emissions used in CESM2. But I am not sure if it is correct. Thank you so much!
Thank you so much! I got it.I calculated so4_a1_anthro-ene-vertical for altitudes of 0.175, 0.225, 0.275, and 0.325 km as 0.025 * (ene+ind)/2e4 and set 0 to rest altitude layers, where ene and ind denote SO2 surface emission from energy and industrial sectors.
Best,
Yuan
Thank you so much, Rebecca. It's very helpful!Hi Qi,
That GitHub post is correct - Louisa Emmons produced the CMIP6 emissions for CAM-chem.
Best,
Rebecca