NCAR / ccpp-framework

Common Community Physics Package (CCPP)
http://www.dtcenter.org/community-code/common-community-physics-package-ccpp/
Other
26 stars 63 forks source link

Fix error message for unit conversions involving unit "1" #462

Closed mkavulich closed 1 year ago

mkavulich commented 1 year ago

As described in #458, there is a problem with the unit converter if attempting to convert from unit "1" to any other value: while this should result in an error (units of "1" can't be converted to anything else), the error that results is not descriptive (due to "1" not being a valid python function name). This change adds an if statement to correctly pass "1" as a valid unit so that the correct error message is printed.

User interface changes?: No

Fixes: #458 Unit converter does not handle units = 1 correctly for incompatible conversions

Testing: test removed: None unit tests: All existing passed. Added new unit test for validating the string_to_python_identifier() function for both valid and invalid inputs system tests: None manual testing: Ran ccpp_prebuild with SCM with a modified metadata file to confirm both error and fix (posted comment in issue with more details).