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

PM2.5 in CESM

Hemraj

Hemraj Bhattarai
Member
Dear all,
I didn't see the PM2.5 model output in the CESM. Could anyone suggest to me what parameters should I add to get it? I saw one post in the same forum asking a similar question in 2019 but no replies (PM2.5 as output in cam6).
Many thanks in advance.
e.g.,
PM2.5 = a + b + c + ....

Best,
Hemraj
 

fgl

Forrest Lacey
New Member
You cannot calculate it directly offline unless you have some of the output saved (such as water vapor content, size parameter, etc.) but you can estimate it by taking the summation of all a1,a2, and a4 tracers with ~13.6% of the a3 tracers. You can get more accurate results by estimating the size distribution of specific a3 tracers, but at that point you are better off re-running with the PM25 tracer on.
 

anushree

Member
You cannot calculate it directly offline unless you have some of the output saved (such as water vapor content, size parameter, etc.) but you can estimate it by taking the summation of all a1,a2, and a4 tracers with ~13.6% of the a3 tracers. You can get more accurate results by estimating the size distribution of specific a3 tracers, but at that point you are better off re-running with the PM25 tracer on.
Thank you Lacey for the answer.I did not get the last part-'but at that point you are better off re-running with the PM25 tracer on'.What is the PM25 tracer on?Do we have any namelist variable option for this?
 

fgl

Forrest Lacey
New Member
Thank you Lacey for the answer.I did not get the last part-'but at that point you are better off re-running with the PM25 tracer on'.What is the PM25 tracer on?Do we have any namelist variable option for this?
You just need to include 'PM25' (PM2.5 as a 3D field) or 'PM25_SRF' (PM2.5 at the first/surface level only) in one of the fincl outputs in your user_nl_cam. Following the instructions for building and running here this is included as a default tracer in CESM2.2 for some, but not all I think, compsets,.

 

Wenyu Liu

Wenyu Liu
New Member
Goodafternoon Hemraj, sorry to disturb you. Have you solved your problem? i am learning to run CESM recently but find it difficult to output PM2.5, or even find some useful information.
 

Qi Ran

Qi Ran
New Member
You cannot calculate it directly offline unless you have some of the output saved (such as water vapor content, size parameter, etc.) but you can estimate it by taking the summation of all a1,a2, and a4 tracers with ~13.6% of the a3 tracers. You can get more accurate results by estimating the size distribution of specific a3 tracers, but at that point you are better off re-running with the PM25 tracer on.
Hi, fgl. Could you please tell me more details about that ~13.6% of the a3 tracers is considered as PM2.5? How is 13.6% obtained? Thank you so much for your help!
 

hplin

Haipeng Lin
Moderator
Staff member
This may be best suited for the CAM-chem forum but the PM25 history field is computed in src/chemistry/utils/modal_aero_wateruptake.F90:

Code:
      pm25(:,:)=0._r8

      do m = 1, nmodes
         ! output to history
         write( trnum, '(i3.3)' ) m
         call outfld( 'wat_a'//trnum(3:3),  qaerwat(:,:,m),     pcols, lchnk)
         call outfld( 'dgnd_a'//trnum(2:3), dgncur_a(:,:,m),    pcols, lchnk)
         call outfld( 'dgnw_a'//trnum(2:3), dgncur_awet(:,:,m), pcols, lchnk)

         ! calculate PM2.5 diagnostics -- dgncur_a is zero above top_lev
         do k = top_lev, pver
            do i=1,ncol
               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
         end do
      end do

      call outfld('PM25',     pm25(:,:),    pcols, lchnk)

I assume the percentage contribution of each aerosol mode into PM25 is derived from dgncur_a (geometric mean diameter for number distribution) and alnsg (geometric standard deviation of number distribution).
 
Top