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
Unify metadata #1274
Comments
For example, it might be nice to separate dispersion from the functional:
I like the idea of a string repeating all the keywords, since that may be useful to other programs / validation, etc. |
+1 for this whole endeavour, I think metadata is long overdue some loving attention :) I like the idea of the keywords line, particularly because it doesn't require any strenuous parsing on cclib's side. Is there any desire to do anything more with keywords (splitting into separate keywords with their associated options, standardising short and long names for Gaussian etc)? Dispersion should definitely be separate IMHO. We may also want to look at standardising functional names like we do for symmetry labels, eg to deal with PBE0 Vs PBE1PBE. Related and because it came up before, we don't currently parse functionals for ORCA because, weirdly, it doesn't report the functional using its common name anywhere. This is ORCA's way of reporting PBE0:
And B3LYP:
|
As far as parsing functionals, I think it's easiest to do from the keywords line in Orca. I'm doing that now anyway. I personally wouldn't attempt to standardize keywords. Honestly, a common use-case is "I want to re-run this calculation." |
Yeah I think parsing from the keywords is probably easier, but the downside is there's no way of automatically determining what's a functional name and what's a normal keyword. Do you just compare against a whitelist to extract the functional name? Restarting calculations is a cool use-case, and yes in that case there's no need to transform keywords. One thing that's worth considering when we look to implement this are 'keywords' that appear in weird places. Eg Gaussian has a few options that have to appear after the geometry section, such as the |
For now, yes. I'm open to better suggestions, but IMHO it's possible to cover a large percentage of cases with this, since a few functionals are the most popular. |
One thing I note, is that the metadata is really inconsistent across parsers.
functional
but Orca and GAMESS do not'functional': 'Becke',
for dvb_dispersion_bp86_d3zero'methods': ['RHF']
for dvb_dispersion_bp86_d3zeroI'd really like to be able to read an output file and then re-use those methods / keywords in the input generators.
Originally posted by @ghutchis in #1269 (comment)
The text was updated successfully, but these errors were encountered: