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 and PM10 concentrations

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.

jiangnx

New member
Hello all,

I am running the WRF-Chem with 6-hour interval wrfchemi* emission files derived from emission inventory files made by Qiang Zhang research group from Tsinghua University

The emission files names are as :
wrfchemi_d01_2017-03-22_00:00:00
wrfchemi_d01_2017-03-22_06:00:00
wrfchemi_d01_2017-03-22_12: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 concentrations and PM10 concentrations of the wrfout files are increasing constantly by the generation of sequent wrfout files and reaching up to unreasonable high values when the experiment was finished.

What's more, only PM2.5 dry EC aerosol mass, PM2.5 aerosol liquid water content and PM2.5 aerosol dry mass have values in wrfout files, and values of the PM2.5 aerosol dry mass are significantly higher than other two variables with magnitude of ~10^8 and ~10^1, respectively. Some other PM2.5 related variables like PM2.5 dust aerosol dry mass, PM2.5 BC aerosol dry mass etc remain the default value. I can’t solve the problem.

Anyone can solve the problems above? I’d really appreciate your help!

namelist.

code:
Code:
 &time_control
 run_days                            = 16
 run_hours                           = 0,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2017, 2016, 2000,
 start_month                         = 03,   07,   01,
 start_day                           = 15,   26,   24,
 start_hour                          = 00,   00,   12,
 start_minute                        = 00,   00,   00,
 start_second                        = 00,   00,   00,
 end_year                            = 2017, 2010, 2000,
 end_month                           = 03,   03,   01,
 end_day                             = 31,   21,   22,
 end_hour                            = 00,   06,   00,
 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, 2, 1000,
 restart                             = .false.,
 restart_interval                    = 5000,
 io_form_history                     = 2,
 io_form_restart                     = 2,
 io_form_input                       = 2,
 io_form_boundary                    = 2,
 debug_level                         = 0,
 auxinput1_inname                    = "met_em.d<domain>.<date>",
! auxinput4_inname                    = "wrflowinp_d<domain>",
 auxinput4_interval                  = 1,360,
 io_form_auxinput4                   = 2,
 auxinput5_inname                    = 'wrfchemi_d<domain>_<date>',
! auxinput6_inname                    = 'wrfbiochemi_d01',
! auxinput7_inname                    = 'wrffirechemi_d<domain>_<date>',
 !auxinput8_inname                    = 'wrfchemi_gocart_bg_d<domain>',
 auxinput5_interval_h                = 72, 86400, 60,
! auxinput6_interval_h                = 72, 86400, 60,
! auxinput7_interval_m                = 60, 86400, 60,
 io_form_auxinput2                   = 2,
! io_form_auxinput4                   = 2,
 io_form_auxinput5                   = 2,
! io_form_auxinput6                   = 0,
! io_form_auxinput7                   = 0,
! io_form_auxinput8                   = 2,
 frames_per_auxinput5                = 1
! frames_per_auxinput6                = 1
! frames_per_auxinput7                = 1
! frames_per_auxinput8                = 1
/
 
 &domains
 time_step                           = 45,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 1,
 s_we                                = 1,     1,     1,
 s_sn                                = 1,     1,     1,
 e_we                                = 210,    112,   94,
 e_sn                                = 160,    97,    91,
 s_vert                              = 1,     1,     1,
 e_vert                              = 36,    30,    30,
 p_top_requested                     = 1000,
 num_metgrid_levels                  = 32,
 num_metgrid_soil_levels             = 4,
 eta_levels                          = 1.000,0.996,0.994,0.988,0.982,0.977,
                                       0.971,0.959,0.948,0.925,0.903,0.882,
                                       0.860,0.840,0.819,0.790,0.717,0.650,
                                       0.588,0.531,0.479,0.430,0.386,0.346,
                                       0.309,0.275,0.245,0.217,0.192,0.170,
                                       0.148,0.118,0.089,0.059,0.030,0.000
 dx                                  = 10000, 10000,  3333.33,
 dy                                  = 10000, 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                            = 0,
 smooth_option                       = 1,
 zap_close_levels                    = 50
 interp_type                         = 2
 extrap_type                         = 2
 t_extrap_type                       = 2
 force_sfc_in_vinterp                = 1
 lagrange_order                      = 1,
 /

 &physics
 progn                               = 0,
 mp_physics                          = 10,     3,     3,
 ra_lw_physics                       = 4,     1,     1,
 ra_sw_physics                       = 4,     1,     1,
 radt                                = 0,    30,    30,
 gsfcgce_hail                        = 1,
 gsfcgce_2ice                        = 0,
 sf_sfclay_physics                   = 1,     1,     1,
 sf_surface_physics                  = 2,     2,     2,
 bl_pbl_physics                      = 1,     1,     1,
 bldt                                = 0,     0,     0,
 cu_physics                          = 1,     1,     0,
 kfeta_trigger                       = 2
 cu_diag                             = 0
 cudt                                = 5,     5,     5,
 isfflx                              = 1,
 ifsnow                              = 1,
 icloud                              = 1,
 surface_input_source                = 1,
 num_soil_layers                     = 4,
 num_land_cat                        = 21,
 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.,
 slope_rad                           = 0,1,
 topo_shading                        = 0,1,
 shadlen                             = 25000.,
 usemonalb                           = .true.,
 cugd_avedx                          = 1,
 /

 &fdda
 grid_fdda                           = 1,     1,     1,
 gfdda_inname                        = "wrffdda_d<domain>",
 gfdda_end_h                         = 12,    24,    24,
 gfdda_interval_m                    = 360,   360,   360,
 io_form_gfdda                       = 2,
 fgdt                                = 0,     0,     0,
 if_no_pbl_nudging_uv                = 1,     0,     0,
 if_no_pbl_nudging_t                 = 1,     1,     1,
 if_no_pbl_nudging_q                 = 1,     1,     1,
 guv                                 = 0.0015,     0.0003,     0.0003,
 gt                                  = 0.0015,     0.0003,     0.0003,
 gq                                  = 0.0015,     0.0003,     0.0003,
 if_ramping                          = 1,
 dtramp_min                          = 60.0,
 /

 &dynamics
 rk_ord                              = 3,
 w_damping                           = 0,
 diff_opt                            = 1,      1,      1,
 km_opt                              = 4,      4,      4,
 diff_6th_opt                        = 2,      0,      0,
 diff_6th_factor                     = 0.12,   0.12,   0.12,
 base_temp                           = 290.
 damp_opt                            = 3,
 zdamp                               = 10000.,  5000.,  5000.,
 dampcoef                            = 0.2,    0.2,    0.2
 khdif                               = 0,      0,      0,
 kvdif                               = 0,      0,      0,
 smdiv                               = 0.1, 0.1,
 emdiv                               = 0.01, 0.01,
 epssm                               = 0.1, 0.1,
 mix_full_fields                     =.true.,
 mix_isotropic                       = 0, 0,
 non_hydrostatic                     = .true., .true., .true.,
 moist_adv_opt                       = 2,      1,      1,     
 scalar_adv_opt                      = 2,      1,      1,     
 chem_adv_opt                        = 2,
 tke_adv_opt                         = 2,
 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.,
 periodic_x                          = .false.,  .false.,
 symmetric_xs                        = .false.,  .false.,
 symmetric_xe                        = .false.,  .false.,
 open_xs                             = .false.,  .false.,
 open_xe                             = .false.,  .false.,
 periodic_y                          = .false.,  .false.,
 symmetric_ys                        = .false.,  .false.,
 symmetric_ye                        = .false.,  .false.,
 open_ys                             = .false.,  .false.,
 open_ye                             = .false.,  .false.,
 /

 &grib2
 /

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

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /
 
Hi jiangnx,

These two lines in your namelist are probably what are causing the issue:
Code:
 chem_opt                            = 8,
 aer_drydep_opt                      = 101,

chem_opt 8 is the CBMZ & MOSAIC chemical option - while aer_drydep_opt 101 is (according to the comments in the file "chem/module_aer_drydep.F") for use with the SORGAM aerosol module (not the MOSAIC aerosol module). Probably the aerosol dry deposition routine you're using is trying to act on chemical arrays which do not exist (as the different aerosol chemical schemes use different variable names), and so actually doing nothing.

The default value for aer_drydep_opt is 1 - which is suitable for all aerosol schemes (because the aerosol dry deposition solver will be the one written for that aerosol scheme). If you set aer_drydep_opt >=99 then it will use routines from the "chem/module_aer_drydep.F" file. The option for these routines which is suitable for MOSAIC aerosol is (apparently) 201 (not 101).

I've only ever used the default aer_drydep_opt value (of 1) for my work with the MOSAIC aerosol scheme - it seems to work okay for me, so I'd recommend you try that too. Using option 201 probably would work for you too - but I couldn't tell you how it differs from the default scheme, you'll have to experiment yourself to find that out.

cheers,
Doug
 
Top