__init__.py 1.67 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Copyright 2018 Markus Scheidgen
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an"AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

15
'''
16
17
After parsing calculations have to be normalized with a set of *normalizers*.
In NOMAD-coe those were programmed in python (we'll reuse) and scala (we'll rewrite).
Markus Scheidgen's avatar
Markus Scheidgen committed
18
19

Currently the normalizers are:
Markus Scheidgen's avatar
Markus Scheidgen committed
20
- system.py (contains aspects of format stats, system, system type, and symmetry normalizer)
21
- optimade.py
Markus Scheidgen's avatar
Markus Scheidgen committed
22
- fhiaims.py
23
24
- dos.py
- encyclopedia.py (used to create the data in NOMAD-coe Encyclopedia)
Markus Scheidgen's avatar
Markus Scheidgen committed
25
26
27
28
29
30
31
32
33

The normalizers are available via

.. autodata:: nomad.normalizing.normalizers

There is one ABC for all normalizer:

.. autoclass::nomad.normalizing.normalizer.Normalizer
    :members:
34
'''
35

36
from typing import List, Any, Iterable, Type
Markus Scheidgen's avatar
Markus Scheidgen committed
37

38
39
from .system import SystemNormalizer
from .optimade import OptimadeNormalizer
Markus Scheidgen's avatar
Markus Scheidgen committed
40
from .fhiaims import FhiAimsBaseNormalizer
41
from .dos import DosNormalizer
42
from .normalizer import Normalizer
43
from .band_structure import BandStructureNormalizer
44
from .encyclopedia.encyclopedia import EncyclopediaNormalizer
Markus Scheidgen's avatar
Markus Scheidgen committed
45

46
normalizers: Iterable[Type[Normalizer]] = [
Markus Scheidgen's avatar
Markus Scheidgen committed
47
    SystemNormalizer,
48
    OptimadeNormalizer,
49
    # FhiAimsBaseNormalizer,
50
    DosNormalizer,
51
52
    BandStructureNormalizer,
    EncyclopediaNormalizer,
53
]