nomad_get.py 698 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
from __future__ import print_function
import json


class CLICommand:
    short_description = 'Get calculations from NOMAD and write to JSON files.'

    @staticmethod
    def add_arguments(p):
        p.add_argument('uri', nargs='+', metavar='nmd://<hash>',
                       +                       help='URIs to get')

    @staticmethod
    def run(args):
        from ase.nomad import download
        for uri in args.uri:
            calculation = download(uri)
            identifier = calculation.hash.replace('/', '.')
            fname = 'nmd.{}.nomad.json'.format(identifier)
            with open(fname, 'w') as fd:
                json.dump(calculation, fd)
            print(uri)