Skip to content

Inconsistencies in pseudo handling #1530

Description

@edan-bainglass

#1348 and related PRs aimed to improve the pseudopotential upload feature (e.g., detecting functional/relativistic mismatch). However, as it turns out, the design is perhaps not sufficiently robust.

As it stands, on upload, we check the loaded UPF md5 against the DB to reject and load instead existing nodes. If we don't find one, and the loaded pseudo is valid (matches symbol), we store the new node and also populate its extras with the functional and relativistic values parsed from the UPF file.

The same extras population also acts on existing pseudos (the ones we install using aiida-pseudo). We do this, so that in other places in the app, we can check for functional/relativistic consistency from a single source - the extras.

However, for those pseudos from libraries, in the current version (v26.06.2), the check for functional consistency happens prior to the extras setting, leading to a global null functional. Manually selecting the functional triggers the extras setting, so going forward, that pseudopotential does not raise issues.

  • Immediate solution: revert to an older version
  • Hacky solution: run a script pre-app-load to populate all library pseudos with functional/relativistic info in extras (write a configuration line somewhere to not do it again?)
  • Best solution: Unclear at the moment

Pinging @giovannipizzi

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions