Since AiiDA started within the field of materials science, the core AiiDA package still contains a lot of data types related to this domain. There are several reasons why we may want to move these data types to a more suitable plugin package:
It would make the aiida-core package more domain agnostic, possibly promoting its adoption in other fields.
Over time, it's become clear that there are some design issues with the current implementation of several of the materials science-related data types. This would be a good time to redesign them.
Having the data types in their respective (much more lightweight) packages would make them easier to maintain.
Desired Outcome
This item will be resolved when the following data types have been moved to the corresponding plugin package:
[ ] array.bands -> aiida-atomistic
[ ] array.kpoints -> aiida-atomistic
[ ] array.projection -> aiida-atomistic
[ ] array.trajectory -> aiida-atomistic
[ ] cif -> aiida-atomistic
[ ] orbital -> aiida-atomistic
[ ] structure -> aiida-atomistic
[x] upf -> aiida-pseudo
Impact
The impact of use case [1] is debatable, and by itself is most likely not enough of an argument to adopt this road map item. However, the improved implementation of these important data types (Use case [2]) will improve the usability for pretty much all current users. Facilitating the maintenance (use case [3]) will make it easier to make further improvements to usability.
Complexity
The move of the materials science-related data types has been discussed over a long time already, and is definitely not trivial to solve. Re-implementing the materials science data types will require quite a bit of work for each one, and it is also not yet clear how to have users move to the new data types smoothly.
Background
There is a long-standing open issue on exactly this topic:
There has already been a lot of discussion on the redesign of the StructureData class, for example on why it uses kinds and how to add properties to the class, see:
The legacy UpfData has already been moved to aiida-pseudo, but has not be removed - or even deprecated - in aiida-core.
Although there have been a lot of discussions on the other data types and what to do with them, as far as I know actual progress on the implementation has not been made.
Motivation
Since AiiDA started within the field of materials science, the core AiiDA package still contains a lot of data types related to this domain. There are several reasons why we may want to move these data types to a more suitable plugin package:
aiida-core
package more domain agnostic, possibly promoting its adoption in other fields.Desired Outcome
This item will be resolved when the following data types have been moved to the corresponding plugin package:
array.bands
->aiida-atomistic
array.kpoints
->aiida-atomistic
array.projection
->aiida-atomistic
array.trajectory
->aiida-atomistic
cif
->aiida-atomistic
orbital
->aiida-atomistic
structure
->aiida-atomistic
upf
->aiida-pseudo
Impact
The impact of use case [1] is debatable, and by itself is most likely not enough of an argument to adopt this road map item. However, the improved implementation of these important data types (Use case [2]) will improve the usability for pretty much all current users. Facilitating the maintenance (use case [3]) will make it easier to make further improvements to usability.
Complexity
The move of the materials science-related data types has been discussed over a long time already, and is definitely not trivial to solve. Re-implementing the materials science data types will require quite a bit of work for each one, and it is also not yet clear how to have users move to the new data types smoothly.
Background
There is a long-standing open issue on exactly this topic:
https://github.com/aiidateam/aiida-core/issues/2686
During the last coding week I also started gathering some notes in an AEP, but this was never finalised:
https://github.com/aiidateam/AEP/pull/29
There has already been a lot of discussion on the redesign of the
StructureData
class, for example on why it uses kinds and how to add properties to the class, see:https://github.com/aiidateam/aiida-quantumespresso/pull/640
Progress
The legacy
UpfData
has already been moved toaiida-pseudo
, but has not be removed - or even deprecated - inaiida-core
.Although there have been a lot of discussions on the other data types and what to do with them, as far as I know actual progress on the implementation has not been made.