Add #GRAPH command to create graph-based representations of the chemical mechanism#149
Add #GRAPH command to create graph-based representations of the chemical mechanism#149
Conversation
|
Very interesting! Could you make the example output ( |
|
Sure! here are the files for small strato. This ouptut might look trivial for such a small mechanism, but is really useful when working with larger mechanisms (GEOS-Chem, MECCA, MCM, etc.) |
|
Thanks for the files. For large mechanisms, this will be a very useful
I also have a couple of suggestions for the file format:
|
docs/source/using_kpp/04_input_for_kpp.rst - Added documentation about the #GRAPH option CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP Update Submission Form
Describe the update:
Here's a feature to KPP that leverages the pre-existing parsing of stoichiometric structure to create graph-based representations of the chemical mechanism.
Motivation and Context:
My research group has found this code useful in several projects and so I formalized the changes to hopefully have these options in the main codebase!
Here's some documentation:
=======================================================
=======================================================
These files are useful for mechanism analysis, visualization, and further processing outside of KPP. Bipartite networks can be projected into unipartite networks, for example a kinetics graph as in Sander (2024). I've been working with @blrodriguez18 and @DanielGetter using this option in KPP to create a 30+ graph library of chemical mechanism edgelists!
In the future, we can add other output options like DOT (for graphviz) or GraphML format as discussed in #2
Type of update:
Update submitted as:
How has this update been tested?
Tested against 30+ mechanisms to ensure agreement with .eqn specification and edgelists. No change to integrators, and all C-I tests passed.
Compiler used in testing:
This update was submitted by:
Developers and their affiliations:
Obin Sturm
Lead developer's email address:
psturm@usc.edu