Is your feature request related to a problem? Please describe.
At this time, the chemistry file in share/run/UA/inputs/chemistry_earth_richards.csv is pretty disorganized. Also, the code looks for extremely specific columns to figure out what chemistry to do. I would like to make this a bit more flexible, so that there are useful headers in the csv file, and the code looks for the headers and uses the appropriate columns.
Also, we need to add some sort of uncertainty to the reaction rates. The perturbation system can then be modified to allow there to be perturbations in the reaction rates.
Describe the solution you'd like
I was thinking about using a json style key-item combo that could set the column header name as the key and the item would be the column number. Then when the information is looked at, you could identify which column to use by the key instead of a fixed number.
For the perturbations, there should be a column that describes the uncertainty as a percent. The perturb system can then be programmed to use this. Each reaction should have a unique identifier (R1, R2, R32, etc.) in the chemistry file. Then in the aether.json file, the user can provide a list of reactions to perturb. We could also say "all" and maybe it would perturb all of the reaction rates.
Describe alternatives you've considered
The user could zero out uncertainties in the reaction rates they don't want to perturb.
We may need to create a better way to perturb things in a multi-parameter sweep instead of random. But for now, let's not do that.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe. At this time, the chemistry file in share/run/UA/inputs/chemistry_earth_richards.csv is pretty disorganized. Also, the code looks for extremely specific columns to figure out what chemistry to do. I would like to make this a bit more flexible, so that there are useful headers in the csv file, and the code looks for the headers and uses the appropriate columns.
Also, we need to add some sort of uncertainty to the reaction rates. The perturbation system can then be modified to allow there to be perturbations in the reaction rates.
Describe the solution you'd like I was thinking about using a json style key-item combo that could set the column header name as the key and the item would be the column number. Then when the information is looked at, you could identify which column to use by the key instead of a fixed number.
For the perturbations, there should be a column that describes the uncertainty as a percent. The perturb system can then be programmed to use this. Each reaction should have a unique identifier (R1, R2, R32, etc.) in the chemistry file. Then in the aether.json file, the user can provide a list of reactions to perturb. We could also say "all" and maybe it would perturb all of the reaction rates.
Describe alternatives you've considered
Additional context Add any other context or screenshots about the feature request here.