# How to add new chemical mechanism

**URL:** <https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129>\
**Category:** CMAQ\
**Created:** [February 26, 2021, 7:59am UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129 "2021-02-26T07:59:16Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![erica](https://avatars.discourse-cdn.com/v4/letter/e/9dc877/32.png) [@erica](https://forum.cmascenter.org/u/erica)\
**Post date:** [February 26, 2021, 7:59am UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129/1 "2021-02-26T07:59:16Z")

</div>

Hi, I tried add new mechanism in CMAQ model by changing mech.def, but I am puzzled about how to edit the rate constant of a chemical reaction. I want to add a heterogeneous reaction, and the reaction coefficients of other existing heterogeneous reactions in mech.def are expressed in a form similar to 1.0~\<HETERO\_NO2\>, Where should the specific value be filled in?  
Can anyone give me some advice?  
Thanks!

---

<div class="post-metadata">

**Author:** ![cgnolte](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.cmascenter.org/cgnolte/32/53_2.png) [@cgnolte](https://forum.cmascenter.org/u/cgnolte)\
**Post date:** [February 27, 2021, 9:40pm UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129/2 "2021-02-27T21:40:24Z")

</div>

The mech.def describes the mechanism in human-readable format, but it is not itself read by CMAQ. Instead it is read by the CHEMMECH preprocessing program, which creates the input files that are read by CMAQ. Please see this [tutorial](https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/Tutorials/CMAQ_UG_tutorial_chemicalmechanism.md).

---

<div class="post-metadata">

**Author:** ![erica](https://avatars.discourse-cdn.com/v4/letter/e/9dc877/32.png) [@erica](https://forum.cmascenter.org/u/erica)\
**Post date:** [February 28, 2021, 9:32am UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129/3 "2021-02-28T09:32:07Z")

</div>

Thanks for your reply, but I’m still wondering how to change the original heteorogeneous rate constant in CHEMMECH program, cause I think the first step to create a new mechanism in CHEMMECH is copy the original mech.def to a new directory and add self-defined chemical formula in it, Am I right?  
Looking forward to your early reply!

---

<div class="post-metadata">

**Author:** ![cgnolte](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.cmascenter.org/cgnolte/32/53_2.png) [@cgnolte](https://forum.cmascenter.org/u/cgnolte)\
**Post date:** [February 28, 2021, 4:07pm UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129/4 "2021-02-28T16:07:42Z")

</div>

I believe this calculation is performed in AEROSOL\_CHEMISTRY.F. I have not worked in this area of the code, so I’ll defer to others for details. This page may also be helpful:  
[https://www.airqualitymodeling.org/index.php/CMAQv5.1\_Integration\_of\_gas\_and\_heterogeneous\_chemistry](https://www.airqualitymodeling.org/index.php/CMAQv5.1_Integration_of_gas_and_heterogeneous_chemistry)

---

<div class="post-metadata">

**Author:** ![erica](https://avatars.discourse-cdn.com/v4/letter/e/9dc877/32.png) [@erica](https://forum.cmascenter.org/u/erica)\
**Post date:** [March 1, 2021, 2:02am UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129/5 "2021-03-01T02:02:43Z")

</div>

Thank you very much for your reply. I will refer to the information on the website to try to solve this problem. Best wishes.

---

<div class="post-metadata">

**Author:** ![gsarwar](https://avatars.discourse-cdn.com/v4/letter/g/5f9b8f/32.png) [@gsarwar](https://forum.cmascenter.org/u/gsarwar)\
**Post date:** [March 2, 2021, 6:41pm UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129/6 "2021-03-02T18:41:40Z")

</div>

Hi Erica,

You do not need to use CHEMMECH processor if you are only revising rate constant for an existing heterogeneous reaction. If you want to modify rate constant for an existing heterogeneous reaction, you can revise AEROSOL\_CHEMISTRY.F. If you want to add a heterogeneous reaction or modify an existing heterogeneous reaction, then you need to define them in the mechanism definition file and use CHEMMECH processor to generate RXNS\_DATA\_MODULE.F90 and RXNS\_FUNC\_MODULE.F90. You may need to modify GC\_\*nml file. Then you need to revise AEROSOL\_CHEMISTRY.F to add or update rate constants for the heterogeneous reaction. You will need to define all parameters and calculate first order rate constant in AEROSOL\_CHEMISTRY.F. Please feel free to contact me if you have any more questions.

Thanks,  
Sarwar

---

<div class="post-metadata">

**Author:** ![erica](https://avatars.discourse-cdn.com/v4/letter/e/9dc877/32.png) [@erica](https://forum.cmascenter.org/u/erica)\
**Post date:** [March 9, 2021, 9:10am UTC](https://forum.cmascenter.org/t/how-to-add-new-chemical-mechanism/2129/7 "2021-03-09T09:10:59Z")

</div>

Hi Sarwar,  
thank you very much for your help! your suggestion is very useful and I am now using this method to solve my problem.  
Best wishes！  
Erica
