From c60ba8030a6d2fb059e00f0b02c5016620e4c918 Mon Sep 17 00:00:00 2001
From: temok-mx <temok.mx@gmail.com>
Date: Thu, 10 Sep 2020 17:23:12 +0200
Subject: [PATCH] Updated README.md; added metadata.yml; the lead branch is now
 master, inactive branches became tags

---
 README.md    | 87 +++++++++++++++++++++++++++++++++++++++-------------
 metadata.yml |  7 +++++
 2 files changed, 72 insertions(+), 22 deletions(-)
 create mode 100644 metadata.yml

diff --git a/README.md b/README.md
index f5ef11d..7d7c773 100644
--- a/README.md
+++ b/README.md
@@ -1,35 +1,78 @@
-# OpenKIM Parser
-[NOMAD Laboratory CoE](http://nomad-coe.eu) parser for [OpenKIM](https://openkim.org)
-## Version 0.0.1
+This is a NOMAD parser for [openKIM](https://openkim.org/). It will read openKIM input and
+output files and provide all information in NOMAD's unified Metainfo based Archive format.
 
-This is the parser for OpenKIM queries at [OpenKIM](https://openkim.org).
-The official version lives at:
+## Preparing code input and output file for uploading to NOMAD
 
-    git@gitlab.mpcdf.mpg.de:nomad-lab/parser-openkim.git
+NOMAD accepts `.zip` and `.tar.gz` archives as uploads. Each upload can contain arbitrary
+files and directories. NOMAD will automatically try to choose the right parser for you files.
+For each parser (i.e. for each supported code) there is one type of file that the respective
+parser can recognize. We call these files `mainfiles` as they typically are the main
+output file a code. For each `mainfile` that NOMAD discovers it will create an entry
+in the database that users can search, view, and download. NOMAD will associate all files
+in the same directory as files that also belong to that entry. Parsers
+might also read information from these auxillary files. This way you can add more files
+to an entry, even if the respective parser/code might not directly support it.
 
-You can browse it at:
+For openkim please provide at least the files from this table if applicable to your
+calculations (remember that you can provide more files if you want):
 
-    https://gitlab.rzg.mpg.de/nomad-lab/parser-openkim
 
-It relies on having the nomad-meta-info and the python-common repositories one level higher.
-The simplest way to have this is to check out nomad-lab-base recursively:
 
-    git clone --recursive git@gitlab.mpcdf.mpg.de:nomad-lab/nomad-lab-base.git
+To create an upload with all calculations in a directory structure:
 
-This parser will be in the directory parsers/openkim of this repository.
+```
+zip -r <upload-file>.zip <directory>/*
+```
 
-## Running and Testing the Parser
-### Requirements
-The required python packages can be installed with (see [python-common](https://gitlab.rzg.mpg.de/nomad-lab/python-common)):
+Go to the [NOMAD upload page](https://nomad-lab.eu/prod/rae/gui/uploads) to upload files
+or find instructions about how to upload files from the command line.
 
-    pip install -r nomad-lab-base/python-common/requirements.txt
+## Using the parser
 
-### Usage
-The query output of OpenKIM simulation results can be parsed with:
+You can use NOMAD's parsers and normalizers locally on your computer. You need to install
+NOMAD's pypi package:
 
-    python parser-openkim.py test_nomad_id openkim_query_data.json
+```
+pip install nomad-lab
+```
 
-### Test Files
-Example log output files of OpenKIM query can be found in the directory test/examples.
-More details about the calculations and files are explained in README file of test/examples.
+To parse code input/output from the command line, you can use NOMAD's command line
+interface (CLI) and print the processing results output to stdout:
 
+```
+nomad parse --show-archive <path-to-file>
+```
+
+To parse a file in Python, you can program something like this:
+```python
+import sys
+from nomad.cli.parse import parse, normalize_all
+
+# match and run the parser
+backend = parse(sys.argv[1])
+# run all normalizers
+normalize_all(backend)
+
+# get the 'main section' section_run as a metainfo object
+section_run = backend.resource.contents[0].section_run[0]
+
+# get the same data as JSON serializable Python dict
+python_dict = section_run.m_to_dict()
+```
+
+## Developing the parser
+
+Also install NOMAD's pypi package:
+
+```
+pip install nomad-lab
+```
+
+Clone the parser project and install it in development mode:
+
+```
+git clone https://gitlab.mpcdf.mpg.de/nomad-lab/parser-openkim parser-openkim
+pip install -e parser-openkim
+```
+
+Running the parser now, will use the parser's Python code from the clone project.
diff --git a/metadata.yml b/metadata.yml
new file mode 100644
index 0000000..b6c2f82
--- /dev/null
+++ b/metadata.yml
@@ -0,0 +1,7 @@
+code-label: openKIM
+code-label-style: 'Capitals: K,I,M'
+code-url: https://openkim.org/
+parser-dir-name: dependencies/parsers/openkim/
+parser-git-url: https://gitlab.mpcdf.mpg.de/nomad-lab/parser-openkim
+parser-specific: ''
+table-of-files: ''
-- 
GitLab