Hi. I want to add a heterogeneous reactions in CMAQ. But I have some difficulties modifying this file. I am not particularly familiar with the F language, but I have a need to change this file. I want to add a few reactions where aerosols consume (absorb) free radicals, but this seems to require modifying many parts of this source code. Is there a tutorial available? Or any explanation of this source code?
Hello. You may be able to use an existing heterogeneous reaction as a template. For a very simple reaction, see uptake of glyoxal (GLY) to aerosol (AGLYJ) in the HET_GLY reaction on line 445 of the cb6r5 with ae7 mechanism. The rate of the reaction is specified by the <HETERO_GLY> label. HETERO_GLY is calculated in AEROSOL_CHEMISTRY.F as a function of aerosol surface area, gas-phase diffusion, and an uptake coefficient. Since the mechanism file mech_cb6r5_ae7_aq.def isn’t actually used in the CMAQ executable, you will need to propagate the mechanism to the RXNS* files using CHEMMECH as Liz mentions. If you want to use the ebi solver, you will also need to run create_ebi. You can run CHEMMECH and create_ebi manually, or you can turn on the build_mech flag on line 49 of the bldit_cctm.csh file. build_mech will run the CHEMMECH and create_ebi functionality for you (just double check you use the output files). In short:
add your reaction to the mech.def file with a string label for the rate
update AEROSOL_CHEMISTRY.F to calculate the rate
update the gas phase or other relevant species name lists (GC*.nml; AE*.nml, etc) if you have a new species
run CHEMMECH and create_ebi OR turn on bldit_mech when you build CMAQ so the chemistry in mech.def is propagated to RXNS*.F90 files and the ebi solver files