Add a new heterogeneous reaction that only happens with sunlight

Hi everyone,

In mech_cb6r3_ae7_aq.def, I notice that # 1.0/<> (such as # 1.0/<HONO_IUPAC10>) indicates that the corresponding reaction only happens with sunlight and # 1.0~<> (such as # 1.0~<HETERO_NO2>) indicates that the corresponding reaction is a heterogeneous reaction of which the rate constant is defined in AEROSOL_CHEMISTRY.F. I have a question that how I can add a heterogeneous reaction that only happens with sunlight in mech_cb6r3_ae7_aq.def? Do I also need to modify CSQY data file in addition to AEROSOL_CHEMISTRY.F?
Thanks very much for your help!

Best wishes,

I do not know exactly what you wish to accomplish but the model codes do not support heterogeneous rate constants that depend on sunlight. Also, model documentation does not have information on how to accomplish the task.

If you just want a heterogeneous rate constant to have a binary switch for a grid cell’s sunlight, work could modify AEROSOL_CHEMISTRY.F and the chemistry driver such as hrdriver.F or rbdriver.F. In AEROSOL_CHEMISTRY.F, the HETCHEM_RATES subroutine needs a logical array argument for grid cells’ level of sunlight. In the chemistry driver, this logical array has to be declared at initialization and set at each timestep.

The above work does not require a new CSQY_DATA file but you may want to accomplish something different than outlined above.


Dear bhutzell,

Much appreciated for your idea! Very sorry for my late reply. Additionally, if I want to let a heterogeneous reaction only happen with sunlight, do you think it will work if I just modify RXNS_FUNC_MODULE.F90? It seems that we can modify RXNS_FUNC_MODULE.F90 so that heterogeneous reaction rate constant is larger than 0 only if LSUNLIGHT is .ture.

Best regards,

Your suggested alternative works and requires less code changes. My suggestion sought changes that remain if the RXNS*F90 files have to be updated.

1 Like

Great gratitude for your suggestion! It helps me solve an important question in my work!

1 Like

Modifying the RXNS_FUNC_MODULE.F90 has to obey a fine point to be successful. The model should be built using the chemical mechanism’s ebi solver for gas chemistry. Why? The SUNLIGHT flag states whether all cells being processes are dark. For ebi solver, the number of cells always equals one. For the ros3 and and smvgear solvers, the number of cells equals one to fifty so cells processed can be mixture of light or dark. In bldit_cctm.csh, the default solver is ebi except for the cb6r5m_ae7_aq mechanism.