Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Wrong PM2.5 concentration values

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

gutou333

New member
Hello all,
I am running the WRF-Chem with hourly wrfchemi* emission files made by myself.
The emission files names are set as :
wrfchemi_d01_2013-11-27_12:00:00
wrfchemi_d01_2013-11-27_13:00:00
wrfchemi_d01_2013-11-27_14:00:00
etc…
Emissions like BC,OC,CO,CO2,NH3,NO,NO2,PM25,PM10,SO2 were put into the wrfchemi* file and the emissions units are in mol/(km^2•h)for gas phase species while in ug/(m^2•s)for aerosol species as required in user’s guide.
But the PM2.5 concentration values of the wrfout files are around 0.2~0.4ug/m^3 and the value seems impossible in realism.
Meanwhile, my PM10 has the same value of concentration with PM2.5 and I can’t solve the problem.
Anyone can solve the problems above?I’d really appreciate your help!

namelist.
Code:
 &time_control
 run_days                            = 0,
 run_hours                           = 12,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2013, 2000, 2000,
 start_month                         = 11,   01,   01,
 start_day                           = 27,   24,   24,
 start_hour                          = 12,   12,   12,
 start_minute                        = 00,   00,   00,
 start_second                        = 00,   00,   00,
 end_year                            = 2013, 2000, 2000,
 end_month                           = 11,   01,   01,
 end_day                             = 28,   25,   25,
 end_hour                            = 00,   12,   12,
 end_minute                          = 00,   00,   00,
 end_second                          = 00,   00,   00,
 interval_seconds                    = 21600
 input_from_file                     = .true.,.true.,.true.,
 history_interval                    = 60,  60,   60,
 frames_per_outfile                  = 1, 1000, 1000,
 restart                             = .false.,
 restart_interval                    = 5000,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 io_form_auxinput2                   = 0,
 io_form_auxinput5                   = 2,
 io_form_auxinput6                   = 0,
 io_form_auxinput7                   = 0,
 io_form_auxinput8                   = 0,
 io_form_auxinput12                  = 0,
 io_form_auxinput13                  = 0,
 auxinput6_inname                    = 'wrfbiochemi_d01',
 auxinput7_inname                    = 'wrffirechemi_d<domain>',
 auxinput8_inname                    = 'wrfchemi_gocart_bg_d<domain>',
 auxinput12_inname                   = 'wrf_chem_input',
 auxinput13_inname                   = 'wrfchemv_d<domain>',
 auxinput5_interval_m                = 60,
 auxinput7_interval_m                = 60,
 auxinput8_interval_m                = 60,
 auxinput13_interval_m               = 60, 86400, 60,
 debug_level                         = 0
 /

 &domains
 time_step                           = 18,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 1,
 e_we                                = 241,    112,   94,
 e_sn                                = 265,    97,    91,
 e_vert                              = 30,    30,    30,
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 27,
 num_metgrid_soil_levels             = 4,
 dx                                  = 3000, 10000,  3333.33,
 dy                                  = 3000, 10000,  3333.33,
 grid_id                             = 1,     2,     3,
 parent_id                           = 0,     1,     2,
 i_parent_start                      = 1,     31,    30,
 j_parent_start                      = 1,     17,    30,
 parent_grid_ratio                   = 1,     3,     3,
 parent_time_step_ratio              = 1,     3,     3,
 feedback                            = 1,
 smooth_option                       = 0
 zap_close_levels                    = 50,
 interp_type                         = 1,
 t_extrap_type                       = 2,
 force_sfc_in_vinterp                = 0,
 use_levels_below_ground             = .true.,
 use_surface                         = .true.,
 lagrange_order                      = 1,
 /

 &physics
 num_land_cat                        = 21, 
 mp_physics                          = 4,
 progn                               = 0,
 ra_lw_physics                       = 1,
 ra_sw_physics                       = 2,
 radt                                = 30,    30,    30,
 sf_sfclay_physics                   = 1,
 sf_surface_physics                  = 2,
 bl_pbl_physics                      = 1,
 bldt                                = 0,     0,     0,
 cu_physics                          = 0,
 cu_diag                             = 0,
 cudt                                = 5,     5,     5,
 ishallow                            = 0,
 isfflx                              = 1,
 ifsnow                              = 1,
 icloud                              = 1,
 surface_input_source                = 1,
 num_soil_layers                     = 4,
 sf_urban_physics                    = 0,     0,     0,
 mp_zero_out                         = 2,
 mp_zero_out_thresh                  = 1.e-12,
 maxiens                             = 1,
 maxens                              = 3,
 maxens2                             = 3,
 maxens3                             = 16,
 ensdim                              = 144,
 cu_rad_feedback                     = .true.,
 /

 &fdda
 /

 &dynamics
 rk_ord                              = 3,
 w_damping                           = 1,
 diff_opt                            = 1,      1,      1,
 km_opt                              = 4,      4,      4,
 diff_6th_opt                        = 0,      0,      0,
 diff_6th_factor                     = 0.12,   0.12,   0.12,
 base_temp                           = 290.
 damp_opt                            = 0,
 zdamp                               = 5000.,  5000.,  5000.,
 dampcoef                            = 0.2,    0.2,    0.2
 khdif                               = 0,      0,      0,
 kvdif                               = 0,      0,      0,
 non_hydrostatic                     = .true., .true., .true.,
 moist_adv_opt                       = 1,      1,      1,     
 scalar_adv_opt                      = 1,      1,      1,     
 gwd_opt                             = 1,
 chem_adv_opt                        = 1,
 tke_adv_opt                         = 1,
 time_step_sound                     = 4,
 h_mom_adv_order                     = 5,
 v_mom_adv_order                     = 3,
 h_sca_adv_order                     = 5,
 v_sca_adv_order                     = 3,
 /

 &bdy_control
 spec_bdy_width                      = 5,
 spec_zone                           = 1,
 relax_zone                          = 4,
 specified                           = .true., .false.,.false.,
 nested                              = .false., .true., .true.,
 /

 &grib2
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /

 &chem
 kemit                               = 1,
 chem_opt                            = 2,
 bioemdt                             = 30,
 photdt                              = 30,
 chemdt                              = 6,
 io_style_emissions                  = 2,
 emiss_opt                           = 2,
 emiss_inpt_opt                      = 1,
 emiss_opt_vol                       = 0,
 emiss_ash_hgt                       = 20000.,
 chem_in_opt                         = 0,
 phot_opt                            = 2,
 gas_drydep_opt                      = 0,
 aer_drydep_opt                      = 1,
 bio_emiss_opt                       = 0,
 ne_area                             = 0,
 dust_opt                            = 0,
 dmsemis_opt                         = 1,
 seas_opt                            = 0,
 depo_fact                           = 0.25,
 gas_bc_opt                          = 0,
 gas_ic_opt                          = 0,
 aer_bc_opt                          = 1,
 aer_ic_opt                          = 1,
 gaschem_onoff                       = 0,
 aerchem_onoff                       = 1,
 wetscav_onoff                       = 0,
 cldchem_onoff                       = 0,
 vertmix_onoff                       = 1,
 chem_conv_tr                        = 0,
 conv_tr_wetscav                     = 1,
 conv_tr_aqchem                      = 1,
 biomass_burn_opt                    = 1,
 plumerisefire_frq                   = 30,
 have_bcs_chem                       = .false.,
 aer_ra_feedback                     = 0,
 aer_op_opt                          = 0,
 opt_pars_out                        = 0,
 diagnostic_chem                     = 0,
 /
 
Hi,

Your emiss_opt looks to be the main problem to me - option 2 is just for gas-species, you probably need to use option 3 instead (I don't use these options myself though - so you might want to check in the Registry/registry.chem file, to make sure you are getting the correct one).

Regarding PM2.5 and PM10. These are diagnostic variables, comprised of the main aerosol chemical variables. So it is worthwhile checking the separate aerosol chemical variables, to see where you might be missing inputs.

The PM10 calculation for SORGAM is made in the file chem/module_aerosols_sorgam.F, around lines 577+ (in v3.8.1, anyway):
pm10(i,k,j) = pm2_5_dry(i,k,j) &
+ ( chem(ii,k,jj,p_antha) &
+ chem(ii,k,jj,p_soila) &
+ chem(ii,k,jj,p_seas) ) / alt(ii,k,jj)

From your namelist it seems that you have no seasalt emissions (seas_opt = 0), so chem(p_seas) will probably be empty. Similarly, I think chem(p_soila) might be generated from dust emissions, which you also have switched off (dust_opt = 0). chem(p_antha) seems to be generated from volcanic emissions (see lines 590-600 of chem/emissions_driver.F), so that also is likely to be empty.

Try changing emiss_opt to 3, and test out different seas_opt and dust_opt settings - hopefully these will improve your aerosol fields.
 
Is that the final conc. after 12hrs? I hope you are not not checking the initial time-step results only. Also, ensure your run was complete without an error. You should paste the log file of your wrfout here.
 
Hi,

I am running WRFChem 3.9 and my problem is that for PM2.5 and PM10 I don't see the Initial concentrations of wrfinput I produced, in the first time step wrfout file.

Actually, I produced chemical IC/BC and I have values for "p25i" , "p25j" ,and all the other variables. ( max in p25j is 558 microg/kg dry air)
And I have mapped my anthropogenic pm25 concentration to E_PM25J in order to able to use emis_opt 3 and chem_opt 107 (RACM-MADE).

However interestingly, "p25i" and "p25j" values and all other Aitken and Accumulation modes variables are the same and very small (10^-15) just in the first time step. Moreover, PM2_5_DRY is zero in this time step, too. So, I think that I am losing some pm25 concentrations because of this problem. (It should be mentioned that this problem is not happening to gas species, "co", for example, is the same as the "co" magnitude in wrfinput)
Does anyone have any thoughts or suggestions?!

Thanks,
Behrooz
 
raul1989 said:
Hi,

I am running WRFChem 3.9 and my problem is that for PM2.5 and PM10 I don't see the Initial concentrations of wrfinput I produced, in the first time step wrfout file.

Actually, I produced chemical IC/BC and I have values for "p25i" , "p25j" ,and all the other variables. ( max in p25j is 558 microg/kg dry air)
And I have mapped my anthropogenic pm25 concentration to E_PM25J in order to able to use emis_opt 3 and chem_opt 107 (RACM-MADE).

However interestingly, "p25i" and "p25j" values and all other Aitken and Accumulation modes variables are the same and very small (10^-15) just in the first time step. Moreover, PM2_5_DRY is zero in this time step, too. So, I think that I am losing some pm25 concentrations because of this problem. (It should be mentioned that this problem is not happening to gas species, "co", for example, is the same as the "co" magnitude in wrfinput)
Does anyone have any thoughts or suggestions?!

Thanks,
Behrooz

Hi Behrooz - I think it would be good if you could create a new thread for your question, as I don't think you are having similar problems to the original post (so it will be easier for readers to follow the discussions of these two problems if they are separate).

When you create the new thread, could you tell us if the p25i and p25j values in your wrfinput_d01 file are as you expect that they should be, or if they also are very small?
 
douglowe said:
raul1989 said:
Hi,

I am running WRFChem 3.9 and my problem is that for PM2.5 and PM10 I don't see the Initial concentrations of wrfinput I produced, in the first time step wrfout file.

Actually, I produced chemical IC/BC and I have values for "p25i" , "p25j" ,and all the other variables. ( max in p25j is 558 microg/kg dry air)
And I have mapped my anthropogenic pm25 concentration to E_PM25J in order to able to use emis_opt 3 and chem_opt 107 (RACM-MADE).

However interestingly, "p25i" and "p25j" values and all other Aitken and Accumulation modes variables are the same and very small (10^-15) just in the first time step. Moreover, PM2_5_DRY is zero in this time step, too. So, I think that I am losing some pm25 concentrations because of this problem. (It should be mentioned that this problem is not happening to gas species, "co", for example, is the same as the "co" magnitude in wrfinput)
Does anyone have any thoughts or suggestions?!

Thanks,
Behrooz

Hi Behrooz - I think it would be good if you could create a new thread for your question, as I don't think you are having similar problems to the original post (so it will be easier for readers to follow the discussions of these two problems if they are separate).

When you create the new thread, could you tell us if the p25i and p25j values in your wrfinput_d01 file are as you expect that they should be, or if they also are very small?

I created a new topic. And I explained about your question as well ( that p25i and p25j values have reasonable values in wrfinput).
 
I am very much appreciated for all your advice and forgive me for replying so late.
I changed my chen_opt from 2 to 106, and the result seems better.
Thanks again for your help!^_^
 
Top