-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements to environmentVariables.config #355
Comments
Looking at (5) about If Ideally, we'd have an error triggered here if The difficulty comes that in the current implementation, we always evaluate all of the environment variables at each time of calling I'm not quite sure how to easily handle this for now - we'd need to do something where either (1) the mechanism is checked to ensure it matches the This also kind of raises the question of why we'd ever want to put |
So i think the weirdness in the data may be too subtle depending on how How about instead of a number we use a character, such as NA? So it the model tries a mathematical operation on it, it will crash. Same behaviour for I agree with the last point you make, though. The behaviour should be changed but I would put in its own issue. |
Unfortunately Fortran uses strong typing, so we can't optionally set We can use Or we can come up with another 'default' value that is so absurd that it will always show up to the user. Thoughts? |
What about a type conversion? The input is a always a string and converted to a number before usage. If the conversion fails it throws an error and alerts the user. Maybe not an elegant solution, but would that work? |
Hmm. You'd need to replace every usage of |
I was thinking this: https://gcc.gnu.org/onlinedocs/gfortran/REAL.html |
REAL just converts from int or complex, not from string. |
Ah, okay. How about a python script to parse the whole |
Yes, that's probably more feasible, but adds another possible layer. I'll have a think. |
I have received some feedback on this. It would probably make more sense to redefine |
I'm not entirely sure that I understand fully. Are you saying that the |
No, it is a numeric value set in |
I see. So dilution is a constant valued rate of species concentration decrease? As in, at each timestep we lose some fixed percentage of every species' concentrations? |
Essentially yes. |
Point n.5 is resolved by PR #408. |
Make sure that H2O and RH are mutually exclusive (if one is constrained or constant the other must be calculated).
Make sure that the text in
environmentVariables.config
is unequivocal and intuitive (eg ROOFOPEN=ON is a confusing, ROOF=OFF is better).Simplify options in
environmentVariables.config
where possibile (eg, JFAC=1 and JFAC=NOTUSED are the same).What happens if there is a typo (eg, "CONTRAINED" instead of "CONSTRAINED") or an option that is not allowed (eg, "NOTUSED" for
TEMP
) inenvironmentVariables.config
?If
DILUTE
is in the chemical mechanism, but it is set toNOTUSED
inenvironmentVariables.config
(by mistake), the results are affected. This should not happen: the model should raise an error because it is not clear what the user wants to do. This may also happen for other environment variables (need to check!)Check numbers in the first column:
H2O
andDEC
have the same number, does it matter?The text was updated successfully, but these errors were encountered: