NCAR / music-box

A box/column model using MICM chemistry
https://ncar.github.io/music-box/branch/main/
Apache License 2.0
14 stars 9 forks source link

Translate MCM to our configuration #175

Open K20shores opened 1 month ago

K20shores commented 1 month ago

Figure out how to export the database that MCM has into our format

The MCM web developer has been kind enough to respond to some questions for us: https://github.com/wacl-york/mcm-web/issues/337

[!NOTE] There is an existing branch with some exploratory work, including useful SQL statements linked to this issue. There is a folder, etc with a python script and the mcm database

etc
├── data
│   └── mcm.db
└── translate_mcm.py

Acceptance Criteria

| Rate Type | Count | |-------------|---------| | Null | 7645 | | Photolysis | 3123 | | Tokenized | 6456 | | Total | 17224 |

Ideas

Photolysis Reactions

Photolysis Type Count
Multiples 319
Non Multiples 2804
Total 3123

Tokenized

https://github.com/wacl-york/mcm-web/blob/5c9b29445672ea5e92f226118ba928edc9311b4a/lib/mcm/db.rb#L124-L181

Null

Null Type Count
Temperature Dependent 763
RO2 Dependent 2488
Non RO2 Dependent 4394
Total 7645
boulderdaze commented 1 month ago

I like your ideas and they make sense to me. (sympy looks an interesting tool). A couple questions I have:

  1. Would it be straightforward to translate some of their reactions into the corresponding reactions in our taxonomy? With an example, 5.6D-34*N2*(TEMP/300)@(-2.6)*O2 -> O + O2 + N2 -> O3, you mentioned that you got that from their database. Was it easy to figure it out?
  2. Is this task specific to music-box? We talked about supporting parser for multiple configurations in the musica. Might musica be responsible for parsing work?
K20shores commented 1 month ago

@boulderdaze all of the equations are easily accessible from their database. Everything but the tokenized reactions will be easy to translate

This is really a one time task that will generate a configuration. We still need to think about our parsing stuff overall. We do have a task to handle parsing in musica, but that's sort of separate from this since first we need a configuration. Also, the photolysis stuff may be a new way to do this for us and would require an update in music box.