Nomad Meta Info
Fawzi Mohamed
27.3.2015
Where we want to go
support for complex queries
- use properties not in the RDB, full MD trajectories, wavefunction,...
- Have updated global informations that are expensive to calculate
- connection between configurations "close" systems (neighboring list)
- tags for special configurations (minima for a given calculation/method)
- distributed responsive system
- Flink (+ http://akka.io/ ?)
Supporting multiple codes
Describe Data of a calculation
- we want to be able to describe:
- various properties calculated in a run
- derived properties
- need unique way to identify a given property
- need to be able to trat similar properties in the same way
- the NomadMetaInfo is exactly aimed at solving this conundrum
Not only parsing results
- derived quantites
- BSSE corrected energies
- comparable energy
Comparing Energies
- Total Energy
- MethodConsistentAtomizationEnergy: Total energy minus the energy of the same number of isolated atoms calculated with the same method (functional,...), basisset and accuracy.
- MethodConsistentFormationEnergy: Total energy minus the same number of atomic energies of the most stable form of the element calculated with the same method (functional,...), basisset and accuracy.
- FittedComparableEnergy: Total energy minus the an atom dependent contibution that depends on method, periodicity, basisset and accuracy, fitted so that the spread of the resulting binding energies is minimized.
- FittedComparableEnergyV1: First version of the fit of the total energy minus the an atom dependent contibution that depends on method, periodicity, basisset and accuracy, fitted so that the spread of the resulting binding energies is minimized.
Slowly open up the code
open git repo
- where
- github offers nice collaboration tools, free for open source projects
registered the nomad-dev organization (an organization can have multiple people handling )
- license for the code? possible open source licenses
- BSD/MIT style (you can do whatever with the code even closed derivatives)
- apache 2.0 (constraints related to patents, incompatible with GPLv2)
- L-GPL (if you distribute a binary, then modification to the library have to be given back)
- GPL (if you distribute a binary, then all application code has to be given back, might give issues when linking 3-rd part libs)
AGPL (if outputs of the binary are given out, all application code has to be given)
Improvements to the repository I would like to see
- common private git
- RZG?
- cleanup repo
- maven like directory structure
- remove dependencies from repo
- modular db
- unique human readable names: first.last_InstitutionShort or if email -> institution is unique emailName
- transition to more REST & template based approach