Skip to content

Commit

Permalink
update docs analog to Measurements
Browse files Browse the repository at this point in the history
  • Loading branch information
budschi committed Sep 4, 2024
1 parent 13b4fc0 commit 9b04e51
Show file tree
Hide file tree
Showing 9 changed files with 155 additions and 53 deletions.
19 changes: 19 additions & 0 deletions docs/contact.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@


NOMAD is an open source project that warmly welcomes community projects, contributions, suggestions, bug fixes, and constructive feedback. The contributors to this documentation page are part of the [FAIRmat Area A - Synthesis team](https://www.fairmat-nfdi.eu/fairmat/about-fairmat/team-fairmat).

You can reach us by different channels. You can send as directly an email to the main contributors list:

| Name | E-mail | Topics | Github profiles |
|------|------------|--------|-----------------|
| Dr. Andrea Albino | [[email protected]](mailto:[email protected]) | tba | [@aalbino2](https://github.com/aalbino2) |
| Dr. Hampus Näsström | [[email protected]](mailto:[email protected]) | tba | [@hampusnasstrom](https://github.com/hampusnasstrom) |
| Sarthak Kapoor | [[email protected]](mailto:[email protected]) | tba | [@ka-sarthak](https://github.com/ka-sarthak) |
| Dr. José Marquez | [[email protected]](mailto:[email protected]) | tba | [@Pepe-Marquez](https://github.com/Pepe-Marquez) |
| Dr. Sebastian Brückner (**Coordinator**) | [[email protected]](mailto:[email protected]) | General | [@budschi](https://github.com/budschi) |


Alternatively, you can also:

- Open an [**issue**](https://github.com/FAIRmat-NFDI/nomad-material-processing/issues) in the [Github project](https://github.com/FAIRmat-NFDI/nomad-material-processing), and tag any of us.
- Join the [Discord channel](https://discord.gg/Gyzx3ukUw8) and ask us there directly.
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
It is important to understand the structure and relationship of different types of schemas in NOMAD. Here we break down the levels of schemas and how they interact. For detailed information, please visit the [official NOMAD documentation](https://nomad-lab.eu/prod/v1/staging/docs/explanation/data.html#schema).

### Types of Schemas in NOMAD
NOMAD categorizes its schemas into multiple levels, each serving distinct purposes while ensuring consistent data organization and interoperability:
1. **General Sections** (how dow we call them officially?): These define the overall structure of any entry within NOMAD, regardless of the specific data type. They provide a shared, high-level framework applicable across different use cases, ensuring that every entry adheres to a consistent format.

NOMAD categorizes its schemas into multiple levels, each serving distinct purposes while ensuring consistent data organization and interoperability:

1. **General Sections** (how dow we call them officially?): These define the overall structure of any entry within NOMAD, regardless of the specific data type. They provide a shared, high-level framework applicable across different use cases, ensuring that every entry adheres to a consistent format.

2. **Base Sections**: These are central to NOMAD's data model and are designed to maintain interoperability between different database entries. The base sections follow an entity-activity model tailored for materials science, capturing essential relationships between key entities like samples, instruments, processes, measurements, analyses, experiments, and simulations. The goal is to provide standardized structures for data representation.

Expand All @@ -15,13 +15,13 @@ NOMAD categorizes its schemas into multiple levels, each serving distinct purpos


3. **User Schemas**: These schemas are developed by users and are specific to a lab, method, or instrument. They build upon the base sections, tailoring them to meet specific research needs. In this level, users can define more specialized structures that directly reflect the specific characteristics of their experiments or simulations.
4. **Community/Standard Plugins**: FAIRmat offers standardized schemas for common methods, processes, and instruments that are generalized and not tied to any specific lab or setup. These schemas are derived from recurring patterns identified across user schemas. Users can inherit from these standard plugins in a similar manner as the base sections, further specializing them as needed while still maintaining a consistent structure for broader community use.

4. **Community/Standard Plugins**: FAIRmat offers standardized schemas for common methods, processes, and instruments that are generalized and not tied to any specific lab or setup. These schemas are derived from recurring patterns identified across user schemas. Users can inherit from these standard plugins in a similar manner as the base sections, further specializing them as needed while still maintaining a consistent structure for broader community use.
FAIRmat's Area A for synthesis data provides two community plugins, NOMAD Measurements and NOMAD Materials Processing.

### How These Schemas Relate to Each Other
The relationships between these schema levels can be visualized as a layered model:

The relationships between these schema levels can be visualized as a layered model:

- **Base Sections**: At the core, ensuring interoperability and defining the primary structures.

Expand All @@ -30,19 +30,19 @@ The relationships between these schema levels can be visualized as a layered mod
- **User Schemas**: Inherit and specialize a Community/Standard Plugins, if availbale, or the base sections according to specific requirements.

### Encouraged Usage
NOMAD encourages users to first explore the available community/standard plugins and base sections before developing their own schemas. By doing so, they can maximize interoperability and benefit from established structures, while still retaining the flexibility to adapt the schema to their unique needs.
In summary, the schema architecture in NOMAD is designed to support both specialized research needs and broader community use through a structured, layered approach that balances standardization with flexibility.
The figure below illustrates these schema levels and the recommended workflow for schema development within NOMAD.

NOMAD encourages users to first explore the available community/standard plugins and base sections before developing their own schemas. By doing so, they can maximize interoperability and benefit from established structures, while still retaining the flexibility to adapt the schema to their unique needs.

In summary, the schema architecture in NOMAD is designed to support both specialized research needs and broader community use through a structured, layered approach that balances standardization with flexibility.

The figure below illustrates these schema levels and the recommended workflow for schema development within NOMAD.

![Levels of schema](../assets/levelsschema.png)


## Schemas and File Readers

The NOMAD Measurements Plugin contains schemas and file readers for different measurement methods.
The NOMAD Measurements Plugin contains schemas and file readers for different measurement methods.

!!! Todo list methods and details

Expand Down
14 changes: 14 additions & 0 deletions docs/explanation/schemas_and_readers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Schemas and File Readers

!!! Todo
This page is currently under construction.

The NOMAD Materials Processing Plugin contains schemas and file readers for different measurement methods.

!!! Todo
list methods and details

## Vapor Deposition Schema

!!! Todo

3 changes: 3 additions & 0 deletions docs/how_to/develop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# How to develop thi plugin

!!! Todo: short descrioption how to develop and contribute to this plugin
35 changes: 35 additions & 0 deletions docs/how_to/install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# How to install this plugin

This plugin can be used in a NOMAD Oasis installation. Please visit the NOMAD documentation for details on [how to setup an NOMAD Oasis](https://nomad-lab.eu/prod/v1/staging/docs/howto/oasis/install.html).



## Add This Plugin to Your NOMAD Oasis installation

Read the [NOMAD plugin documentation](https://nomad-lab.eu/prod/v1/staging/docs/howto/oasis/plugins_install.html) for all details on how to deploy the plugin on your NOMAD instance.

We recommend writing your own NOMAD docker image which includes the NOMAD plugins you want to deploy. Please follow these [instructions](https://nomad-lab.eu/prod/v1/staging/docs/howto/oasis/plugins_install.html) to set up your own NOMAD image writing workflow.

You need to modify the `plugins.txt` file and add the following lines:

```
git+https://github.com/FAIRmat-NFDI/nomad-measurements.git
```

This will add the latest version of the NOMAD-Measurements Plugin to your NOMAD Oasis image.
If you want to add a specific version of the plugin you will need to provide the commit sha, for example:

```
git+https://github.com/FAIRmat-NFDI/nomad-measurements.git@f19c0e3b175613ec026ef36c849af3474c42cf52
```

## Local installation of the plugin in your Python environment

`nomad-measurements` can be installed from PyPI using `pip`.
Currently we require features in `nomad-lab` which are not published to PyPI.
In order to install these a `--index-url` needs to be provided:
```sh
pip install nomad-measurements --index-url https://gitlab.mpcdf.mpg.de/api/v4/projects/2187/packages/pypi/simple
```


32 changes: 2 additions & 30 deletions docs/how_to/use_this_plugin.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,3 @@
# How to Use This Plugin

This plugin can be used in a NOMAD Oasis installation..

## Installation

### Add This Plugin to Your NOMAD installation

Read the [NOMAD plugin documentation](https://nomad-lab.eu/prod/v1/staging/docs/plugins/plugins.html#add-a-plugin-to-your-nomad) for all details on how to deploy the plugin on your NOMAD instance.

You need to modify the ```nomad.yaml``` configuration file of your NOMAD instance. Add the following lines: .

```yaml
keycloak:
realm_name: fairdi_nomad_test
plugins:
# We only include our schema here. Without the explicit include, all plugins will be
# loaded. Many build in plugins require more dependencies. Install nomad-lab[parsing]
# to make all default plugins work.
include:
- 'schemas/nomad_measurements/xrd'
options:
schemas/nomad_measurements/xrd:
python_package: nomad_measurements.xrd
```
### local installation
## Usage in user schemas
# Plugin development
# Usage in user schemas

!!! Todo: here we have to describe how you inherit from the general classes and then specialize to the users need
31 changes: 31 additions & 0 deletions docs/how_to/use_this_plugin_old.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# How to Use This Plugin

This plugin can be used in a NOMAD Oasis installation..

## Installation

### Add This Plugin to Your NOMAD installation

Read the [NOMAD plugin documentation](https://nomad-lab.eu/prod/v1/staging/docs/plugins/plugins.html#add-a-plugin-to-your-nomad) for all details on how to deploy the plugin on your NOMAD instance.

You need to modify the ```nomad.yaml``` configuration file of your NOMAD instance. Add the following lines: .

```yaml
keycloak:
realm_name: fairdi_nomad_test
plugins:
# We only include our schema here. Without the explicit include, all plugins will be
# loaded. Many build in plugins require more dependencies. Install nomad-lab[parsing]
# to make all default plugins work.
include:
- 'schemas/nomad_measurements/xrd'
options:
schemas/nomad_measurements/xrd:
python_package: nomad_measurements.xrd
```
### local installation
## Usage in user schemas
# Plugin development
37 changes: 30 additions & 7 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,37 @@
# Welcome to the **NOMAD-materials-processing** plugin documentation
# Welcome to the NOMAD-materials-processing Plugin Documentation

This plugin provides NOMAD schemas, readers, and parsers for materials science synthesis processes.
Welcome to the official documentation for the **NOMAD-materials-processing Plugin**! This plugin provides NOMAD schemas, readers, and parsers for data of materials science synthesis processes in alignment with the FAIR (Findable, Accessible, Interoperable, and Reusable) principles. It serves as a community or standard plugin, offering commonly used schemas and classes/sections for materials processing data that can be shared across a community.

## Getting Started
## Supported Measurement Techniques

This is a NOMAD plugin. For information on how to use them, see [NOMAD Plugins](https://nomad-lab.eu/prod/v1.0/docs/plugins.html).
Currently, this plugin supports the following materials processing techniques:

## Supported Measurement Techniques
- **Vapor deposition**:

Supports Physical Vapor Deposition (PVD) and Chemical Vapor Deposition (CVD) based processes such as:
Molecular Beam Epitaxy (MBE), Pulsed Laser Deposition (PLD), Sputtering, Thermal Evaporation, and Metalorganic Vapor Phase Epitaxy (MOVPE)

- **wet chemistry**:

Supports Solution Preparation

Additional materials processing techniques are actively being developed and will be included soon, including:
Bulk Crystal growth (Synthesis from the melt), Polymerization, ...(what is coming???)

Stay tuned for updates as more methods become available!

## What You Will Find in This Documentation

This documentation builds upon the general [NOMAD documentation](https://nomad-lab.eu/prod/v1/staging/docs/explanation/data.html). Here, you will find comprehensive guides on:

- **Using the Plugin**: Step-by-step instructions on how to integrate and use the NOMAD Materials Processing Plugin in your NOMAD Oasis.
- **Data Structures and Supported Methods**: Detailed descriptions of the available schemas, sections, and supported materials processing techniques.
- **Contributing**: Learn how you can contribute to the ongoing development of this plugin.

## About NOMAD

NOMAD is an open-source data management platform tailored for materials science, designed to follow the FAIR principles. It offers a robust framework for managing and sharing materials data in a standardized and interoperable manner. To learn more about NOMAD, visit the [official homepage](https://nomad-lab.eu).

At the moment, the following measurement techniques are supported:

Todo...
We hope this documentation provides all the information you need to make the most of the NOMAD Measurements Plugin. Feel free to [contact](contact.md) us for further questions.

7 changes: 6 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@ edit_uri: ""

nav:
- Home: index.md
- Explanation: explanation/explanation.md
- Explanation:
- Levels of Schema: explanation/levelsofschema.md
- Schemas and Readers: explanation/schemas_and_readers.md
- How-To Guides:
- Install this Plugin: how_to/install.md
- Use this Plugin: how_to/use_this_plugin.md
- Develop this Plugin: how_to/develop.md
- References: reference/references.md
- Tutorials: tutorial/tutorial.md
- Contact: contact.md
plugins:
- search
theme:
Expand Down

0 comments on commit 9b04e51

Please sign in to comment.