I am using WRF-CHEM 4.0.1 to simulate volcanoes and noticed a potential bug.
By my understanding, emis_vol is calculated in convert_emiss.F for each ash size bin based on the size distributions in prep_chem_sources, depending on the type of volcano. For example:
grid%emis_vol(i,ko,j,p_e_vash1)=size_dist(1)*vert_mass_dist(ko)*ash_mass(i,j)
If emiss_ash_height is specified > 1 in the namelist, emis_vol is recalculated based on the new ash height in emissions_driver.F. However, in emissions_driver, size_dist is not used. Rather, a value is hard coded as follows:
emis_vol(i,ko,j,p_e_vash1)=.22*vert_mass_dist(ko)*emiss_ash_mass
The hard-coded size_dist values appear to match those specified in volc_emissions.f90 (in prep_chem_sources) for S0 or S2 volcanoes (Although the .4 for vash3 should be a .04??). Thus, if emiss_ash_height is specified in the namelist for a volcano type other than S0 or S2, emis_vol will be recalculated incorrectly.
My suggestion is to pass "size_dist" into emissions_driver in order to replace the hard-coded values with the correct values from prep_chem_sources.
By my understanding, emis_vol is calculated in convert_emiss.F for each ash size bin based on the size distributions in prep_chem_sources, depending on the type of volcano. For example:
grid%emis_vol(i,ko,j,p_e_vash1)=size_dist(1)*vert_mass_dist(ko)*ash_mass(i,j)
If emiss_ash_height is specified > 1 in the namelist, emis_vol is recalculated based on the new ash height in emissions_driver.F. However, in emissions_driver, size_dist is not used. Rather, a value is hard coded as follows:
emis_vol(i,ko,j,p_e_vash1)=.22*vert_mass_dist(ko)*emiss_ash_mass
The hard-coded size_dist values appear to match those specified in volc_emissions.f90 (in prep_chem_sources) for S0 or S2 volcanoes (Although the .4 for vash3 should be a .04??). Thus, if emiss_ash_height is specified in the namelist for a volcano type other than S0 or S2, emis_vol will be recalculated incorrectly.
My suggestion is to pass "size_dist" into emissions_driver in order to replace the hard-coded values with the correct values from prep_chem_sources.