Hi!
Let me copy and modify what I responded to Ru Xu and Maria Val Martin in an email.
I think there are at least two ways to calculate PM2.5 from CESM outputs fields, assuming you are using the modal aerosol model (MAM).
One is to follow what is being done in
src/chemistry/utils/modal_aero_wateruptake.F90
You will see that the history variable PM25_SRF is calculated by something like
do m in 1:ntot_amode
pm25(i,k) = pm25(i,k) + maer(i,k,m)*(1._r8-(0.5_r8 - 0.5_r8*erf(log(2.5e-6_r8/dgncur_a(i,k,m)) /(2._r8**0.5_r8*alnsg(m)))))*rhoair(i,k)
end do
given i is horizontal grid, k is vertical grid, and m is mode. The equation uses maer(i,k,m), which is aerosol mass mixing ratio (kg/kg) in the grid multiplied by air density rhoair(i,k), giving total pm10. Then, the error function is used with the dry geometric diameter and geometeric standard deviation to extract pm25 from pm10. For this calculation you need history outputs of dst_a1 through dst_a3 (kg/kg) for maer, air density for rhoair, dry aerosol geometric diameter dgnum1 through dgnum3 for dgncur_a, and your modal geometric standard deviation (e.g., 1.6, 1.6, and 1.2 for CESM2). Please check what GSDs you are using by checking the namelist variable rad_climate for
mam4_mode1 through mam4_mode3 to see what GSD input files you are using. For instance,
ncdump -v sigmag /glade/campaign/cesm/cesmdata/inputdata/atm/cam/physprops/mam4_mode3_rrtmg_aeronetdust_sig1.2_dgnl.40_c150219.nc
will give sigmag = 1.2.
I always use this method to calculate pm2.5 since the error function erf() gives the exact intergration of modes up to 2.5 μm.
--
For the second way, which is closer your question, I will copy what Maria Val Martin and Ru Xu sent me about their way of calculating PM2.5:
PM25_SRF = no3_a1 + no3_a2 + nh4_a1 + nh4_a2 + so4_a1 + so4_a2
+ bc_a1 + pom_a1
+ soa_a1 + soa_a2
+ dst_a1 + dst_a2
+ na_a1 + na_a2
+ 0.25 × (dst_a3 + na_a3)
+ 0.25 × (no3_a3 + nh4_a3 + so4_a3)
with:
soa_a1 = soa1_a1 + soa2_a1 + soa3_a1 + soa4_a1 + soa5_a1
soa_a2 = soa1_a2 + soa2_a2 + soa3_a2 + soa4_a2 + soa5_a2
So
dst_pm25 = dst_a1 + dst_a2 + 0.25*dst_a3
and
ncl_pm25 = na_a1 + na_a2 + 0.25*na_a3
For non-MOSAIC users, then it means
ncl_pm25 = ncl_a1 + ncl_a2 + 0.25*ncl_a3
Hope this helps!
Danny
Hi Danny,
Thank you for the detailed explanation! My calculation is conceptually closer to the first approach you described.
However, my model output does not include dgncur_a. Therefore, I estimated the dry geometric number mean diameter for each mode from the dry aerosol mass, species densities, and aerosol number concentration, and then used the estimated dry diameter to calculate the PM2.5 fraction for each mode. I performed this calculation using annual-mean model output fields.The species considered for estimating the dry aerosol volume include bc, pom, dst, so4, nh4, no3, na, cl, ca, co3, and soa1–soa5.
After estimating the dry geometric diameter, I calculated the PM2.5 fraction for each mode using the error-function formulation with a 2.5 μm cutoff and the corresponding modal geometric standard deviation. I used σg = 1.6, 1.6, and 1.2 for modes 1–3, respectively.
For dust, the calculation is:
dust_PM2.5 = F_a1 × dst_a1 + F_a2 × dst_a2 + F_a3 × dst_a3
where F_a1, F_a2, and F_a3 are the PM2.5 fractions calculated for each mode.
For sea salt, I calculated sea-salt PM2.5 as:
sea_salt_PM2.5 = F_a1 × (1.47 × na_a1 + cl_a1)
+ F_a2 × (1.47 × na_a2 + cl_a2)
+ F_a3 × (1.47 × na_a3 + cl_a3)
The mass mixing ratios are then converted to mass concentrations by multiplying by air density, calculated from hybrid pressure and temperature:
ρair = p / (Rd × T)
The issue I found is that this sea-salt calculation can produce sea_salt_PM2.5 values larger than the model-output PM2.5 in some oceanic regions, so model_output_PM2.5 minus sea_salt_PM2.5 becomes negative there. This problem does not appear for dust_PM2.5. Therefore, I suspect that the sea-salt estimate based on 1.47 × Na + Cl may not be fully consistent with the diagnostic PM2.5 field in my model output.
Do you have any suggestions on how to handle this issue?
Thanks!
Best,
Bin