NCAR / NCAR/MechanismConfiguration
Evaluate whether solvent_floor and min_halflife fields belong in the public API
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1
- Forks
- 3
- Avg merge
- 9h 30m
- Merged PRs (30d)
- 4
Description
Those two fields were added in aerosol.hpp to support the musica tutorials.
std::optional<double> solvent_floor_;
std::optional<double> min_halflife_;
At the moment, these two fields are not wired into the configuration system. There are no corresponding YAML keys, the configuration parser does not populate them, and validate.cpp does not include any validation logic for them.
Evaluate whether these fields belong in the public API. They may exist solely to support the current solver's numerical stability and may not make sense as user-configurable options.
Notes: Matt mentioned that they are used for condensed-phase reactions that depend on solution concentrations, preventing concentrations from becoming infinite if the solvent evaporates completely.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the field declarations in aerosol.hpp, then trace the configuration parser and the validation path in validate.cpp. Determine whether solvent_floor_ and min_halflife_ are intended as user-configurable API fields or internal solver state; done means recording a clear decision and its implications for YAML configuration and validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100