good first issue
Repository metrics
- Stars
- (37 stars)
- PR merge metrics
- (PR metrics pending)
Description
The JavaScript MusicBox.solve() returns only time.s and CONC.* columns. The Python implementation also outputs ENV.temperature.K, ENV.pressure.Pa, and ENV.air number density.mol m-3 by reading them back from the solver state after each step. Any downstream code written against the Python output schema will break when switching to the JavaScript implementation.
Acceptance Criteria
- JavaScript
solve()output includesENV.temperature.K,ENV.pressure.Pa, andENV.air number density.mol m-3columns - Column order matches the Python output: time, ENV columns, then CONC columns
- Parity test confirms the two implementations produce the same column set
Ideas
- Call
state.getConditions()insideappendOutput()alongside the existingstate.getConcentrations()call and push the T, P, and air density values into the columns object - Check whether
getConditions()exists and returns the expected keys in musica 0.15.0 before wiring it up - Update the parity test (
tests/parity_test.py) to assert column-level equality, not just value-level equality