AOD_550 coming out to be very high

19 views
Skip to first unread message

Dr. Sahir Azmi

unread,
Mar 29, 2024, 4:48:09 AM3/29/24
to wrf-chem-run
I want to estimate AOD_550 using WRF-Chem; it is coming out to be close to ~10^30 ug/m3 hourly; which doesn't seems realistic. Also, model sometimes completes and sometimes stops calculating such high values.

These infinite high values start showing up after every hour.

I have tried many combinations with namelist but no success.

here is my namelist:
 &time_control
 start_year                          = 2023, 2023, 2022,
 start_month                         = 06,   06,   02,
 start_day                           = 20,   08,   01,
 start_hour                          = 00,   00,   00,
 start_minute                        = 00,   00,   00,
 start_second                        = 00,   00,   00,
 end_year                            = 2023, 2023, 2022,
 end_month                           = 06,   06,   02,
 end_day                             = 22,   12,   03,
 end_hour                            = 18,   18,   00,
 end_minute                          = 00,   00,   00,
 end_second                          = 00,   00,   00,
 interval_seconds                    = 21600,
 input_from_file                     = .true.,.true.,.true.,
 history_interval                    = 180,  180,  180,
 frames_per_outfile                  = 1, 1, 1,
 restart                             = .false,
 restart_interval                    = 120,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 debug_level                         = 0
 auxinput4_inname                    = 'wrflowinp_d<domain>',
 io_form_auxinput4                   = 2,
 auxinput4_interval_m                = 360,
 auxinput4_end_h                     = 100000,
 auxinput5_inname                    = 'wrfchemi_d<domain>_<date>',
 io_form_auxinput5                   = 2,
 frames_per_auxinput5                = 1,
 auxinput5_interval_m                = 360,
 auxinput6_inname                    = 'wrfbiochemi_d<domain>',
 io_form_auxinput6                   = 2,
 auxinput6_interval_d                = 90,
 auxinput7_inname                    = 'wrffirechemi_d<domain>_<date>',
 io_form_auxinput7                   = 2,
 frames_per_auxinput7                = 1,
 auxinput7_interval_m                = 60,
 !iofields_filename                  = "my_file_d01.txt"
 auxhist3_outname                    = 'wrfout_hourly_d<domain>_<date>',
 auxhist3_interval_m                 = 60,60,60,
 frames_per_auxhist3                 = 1,1,1,
 io_form_auxhist3                    = 2,
 !auxinput12_inname                   = 'wrf_chem_input',
 !io_form_auxinput12                  = 2,
 write_hist_at_0h_rst                = .false.,

 !auxhist4_outname                    = 'wrfout_saqib_d<domain>_<date>',
 !auxhist4_interval_m                 = 60,60,60,
 !frames_per_auxhist4                 = 1,1,1,
 !io_form_auxhist4                    = 2,
 !force_use_old_data                   = T,

/

&domains
 time_step                           = 36,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 1,
 s_we                                = 1,
 s_sn                                = 1,
 e_we                                = 30,    340,   94,
 e_sn                                = 30,    208,    91,
 e_vert                              = 36,    36,    30,
 p_top_requested                     = 5000.,
 num_metgrid_levels                  = 42,
 num_metgrid_soil_levels             = 4,
 dx                                  = 6000, 3000,  3333.33,
 dy                                  = 6000, 3000,  3333.33,
 grid_id                             = 1,     2,     3,
 parent_id                           = 1,     1,     2,
 i_parent_start                      = 1,     119,    30,
 j_parent_start                      = 1,     76,    30,
 parent_grid_ratio                   = 1,     3,     3,
 parent_time_step_ratio              = 1,     3,     3,
 feedback                            = 1,
 smooth_option                       = 2
 eta_levels                          = 1.000, 0.9975, 0.995, 0.990, 0.985,
                                       0.980, 0.970, 0.960, 0.950,
                                       0.940, 0.930, 0.920, 0.910,
                                       0.900, 0.880, 0.860, 0.840,
                                       0.820, 0.800, 0.770, 0.740,
                                       0.700, 0.650, 0.600, 0.550,
                                       0.500, 0.450, 0.400, 0.350,
                                       0.300, 0.250, 0.200, 0.150,
                                       0.100, 0.050, 0.000
 /

 &physics
 mp_physics                          = 10, 10, 10
 progn                               = 1,  1, 1
 ra_lw_physics                       = 4,  4, 4
 ra_sw_physics                       = 4,  4, 4
 radt                                = 6, 5, 30
 sf_sfclay_physics                   = 5,     1,   1,
 sf_surface_physics                  = 4,     2,    5,
 bl_pbl_physics                      = 5,     1,    1,
 bldt                                = 0,     0,    0,
 cu_physics                          = 5,    11,    3,
 cudt                                = 5,     5,    0,
 cu_diag                             = 0,
 isfflx                              = 1,
 ifsnow                              = 1,
 icloud                              = 1,
 surface_input_source                = 1,
 num_soil_layers                     = 4,
 num_land_cat                        = 21,
 sf_urban_physics                    = 0,     0,  0,
 maxiens                             = 1,
 maxens                              = 3,
 maxens2                             = 3,
 maxens3                             = 16,
 ensdim                              = 144,
 cu_rad_feedback                     = .true.,.false.,
 sst_update                          = 1,
! prec_acc_dt                         = 60,
 /

&fdda
 grid_fdda                           = 1, 0, 0,
 gfdda_inname                        = 'wrffdda_d<domain>',
 gfdda_end_h                         = 100000, 24, 24,
 gfdda_interval_m                    = 360, 360, 360,
 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,
 if_zfac_uv                          = 1, 1, 1,
 k_zfac_uv                           = 10, 10, 10,
 if_zfac_t                           = 0, 0, 0,
 k_zfac_t                            = 10, 10, 10,
 if_zfac_q                           = 0, 0, 0,
 k_zfac_q                            = 10, 10, 10,
 guv                                 = 0.0003, 0.0003, 0.0003,
 gt                                  = 0.0003, 0.0003, 0.0003,
 gq                                  = 0.0003, 0.0003, 0.0003,
 if_ramping                          = 1,
 dtramp_min                          = 60.0,
 io_form_gfdda                       = 2,
 /

 &dynamics
 etac                                = 0.15
 hybrid_opt                          = 2,
 rk_ord                              = 3,
 w_damping                           = 0,
 diff_opt                            = 1,
 km_opt                              = 4,
 diff_6th_opt                        = 0,      0, 0,
 diff_6th_factor                     = 0.12,   0.12, 0.12
 base_temp                           = 290.
 damp_opt                            = 3,
 zdamp                               = 5000.,  5000., 5000.,
 dampcoef                            = 0.2,   0.2, 0.2,
 khdif                               = 0,     0, 0,
 kvdif                               = 0,     0, 0,
 epssm                               = 0.1,   0.1, 0.1,
 non_hydrostatic                     = .true., .true., .true.,
 moist_adv_opt                       = 2,    2,  2,
 chem_adv_opt                        = 2,    2,  2,
 scalar_adv_opt                      = 2,    2,  2,
 tke_adv_opt                         = 2,    2,  2,
 /

 &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                               = 8,
 chem_opt                            = 202, 0, 0,
 bioemdt                             = 30,  30, 30,
 photdt                              = 30., 30., 30.,
 chemdt                              = 6, 3.0, 3.0,
 io_style_emissions                  = 2,
 emiss_inpt_opt                      = 102, 102, 102,
 emiss_opt                           = 10,  10, 10,
 chem_in_opt                         = 1,   1, 1,
 phot_opt                            = 3,   4, 4,
 gas_drydep_opt                      = 1,   1, 1,
 aer_drydep_opt                      = 1,   1, 1,
 bio_emiss_opt                       = 3,   3, 3,
 gas_bc_opt                          = 1,   1, 1,
 gas_ic_opt                          = 1,   1, 1,
 aer_bc_opt                          = 1,   1, 1,
 aer_ic_opt                          = 1,   1, 1,
 gaschem_onoff                       = 1,   1, 1,
 aerchem_onoff                       = 1,   1, 1,
 wetscav_onoff                       = 1,   1, 1,
 cldchem_onoff                       = 1,   1, 1,
 vertmix_onoff                       = 1,   1, 1,
 chem_conv_tr                        = 1,   0, 1,
 conv_tr_wetscav                     = 1,   1, 1,
 conv_tr_aqchem                      = 1,   1, 1,
 seas_opt                            = 2,
 dust_opt                            = 3,
 dmsemis_opt                         = 1,
 biomass_burn_opt                    = 0,  0, 0,
 ne_area                             = 140
 plumerisefire_frq                   = 30, 0, 0,
 scale_fire_emiss                    = .false.,
 aer_ra_feedback                     = 1,  1, 1,
 aer_op_opt                          = 4,   1, 1,
 ne_area                             = 500,
 opt_pars_out                        = 1,
 have_bcs_chem                       = .true., .false.,.false.,
 have_bcs_upper                      = .false., .false., .false.,
 fixed_ubc_press                     = 50.,
 fixed_ubc_inname                    = 'ubvals_rcp4_5.2deg_2020-2029.nc',
 is_full_tuv                         = .false.,
 has_o3_exo_coldens                  = .true.,
 pht_cldfrc_opt                      = 2,
 cld_od_opt                          = 2,
 aerosoldep                          = 1,
 !mozart_ph_diag                       = 1,
/

Indranil Nandi

unread,
Mar 29, 2024, 5:08:00 AM3/29/24
to Dr. Sahir Azmi, wrf-chem-run
Dear Dr. Sahir,

First of all if you are trying to calculate AOD (Aerosol Optical Depth) at 550 nm using WRF-Chem then please kindly note that AOD is a unit less quantity. ug/m3 is not a correct unit of AOD.

Now for calculationG AOD you have to use the output variable 'EXTCOF55' (Extinction coefficients for .55um), 'PH' (perturbation geopotential), and 'PHB' (base-state geopotential).
 
check the following link for details and also I am attaching a sample code which is compatible with MATLAB



for K1=1:130  %%%% No. of files %%%%
   filenumber = filenumber+1;
   m3 = fscanf(fp3,'%s',1);
   n3 = m3(1:end-3);
   file_1=strcat(n3,'.nc');
   nc_filename = file_1

   EXTCOF55_F = double(ncread(nc_filename,'EXTCOF55'));
   PH = double(ncread(nc_filename,'PH'));
   PHB = double(ncread(nc_filename,'PHB'));
   Height_Data = (PH + PHB)./(9.81);
   Height_Data_Km = Height_Data.*(10^-3);

for X=1:44   %%%% No. of pressure levels in wrf output files %%%%
    Distance(:,:,X,:) = Height_Data_Km(:,:,X+1,:) - Height_Data_Km(:,:,X,:);
    COEFF_DATA_Converted(:,:,X,:) = (EXTCOF55_F(:,:,X,:).*Distance(:,:,X,:));
end
   AOD(:,:,:,K1)= nansum(COEFF_DATA_Converted,3);  %%%% AOD at 550 nm %%%%
end


--
To unsubscribe from this group and stop receiving emails from it, send an email to wrf-chem-run...@ucar.edu.


--
Indranil Nandi
Ph.D. Research Scholar
Centre for Atmospheric Sciences
IIT Delhi
, Hauz Khas, New Delhi 110016, India
Contact No. 8902005948

Reply all
Reply to author
Forward
0 new messages