Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

How to calculate so4_a1 and so4_a2?

Renfxuan

Ren Fangxuan
New Member
I want to replace the default SO2 emission with my own SO2 emissions in F2000climo. The sulfate emis = SO2_emis * 0.025. What are the proportions of so4_a1 and so4_a2 in the total sulfate emissions, respectively?
I really need the help.
 

rrbuchholz

Rebecca Buchholz
CSEG and Liaisons
Staff member
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
 

Renfxuan

Ren Fangxuan
New Member
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
Thanks so much. It helps me a lot!
 

Qi Ran

Qi Ran
New Member
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!
 

Yuan Sun

Yuan Sun
Member
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!
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
 

Qi Ran

Qi Ran
New Member
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! I got it.
 

rrbuchholz

Rebecca Buchholz
CSEG and Liaisons
Staff member
Hi Qi,
That GitHub post is correct - Louisa Emmons produced the CMIP6 emissions for CAM-chem.
Best,
Rebecca
 
Top