FIX: ignoring IF/THEN statements in TYPE_DEFINITION keywords #476
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In ThermoCalc, the IF/THEN keywords in the TYPE_DEFINITION provides a way to run commands during database loading based off the elements selected. This typically is used for adding a composition set to help with miscibility gap detection or rejecting/restoring phases (though adding composition sets seems more common). Pycalphad detects miscibility gaps based off the sampling strategy and the rejecting/restoring phases may reduce transparency of the database to the users.
In pycalphad, the tdb parser assumes that the TYPE_DEFINITION command is used for disordered or magnetic contributions, in which the parser can fail if the command is not one of those two. This pull request will ignore any TYPE_DEFINITION that has an IF/THEN keyword and give a warning that parsing these keywords is currently not supported. This will allow for users to load tdb files that may contain the IF/THEN keywords without having to worry about fixing the tdb file and will also allow for the same tdb file to be used between pycalphad and ThermoCalc if a user(s) decides to do so.