From 9b04e51442865bf5250ba2e2bb09546ae51c027d Mon Sep 17 00:00:00 2001 From: Sebastian Brueckner Date: Wed, 4 Sep 2024 14:04:02 +0200 Subject: [PATCH] update docs analog to Measurements --- docs/contact.md | 19 ++++++++++ .../{explanation.md => levelsofschema.md} | 30 +++++++-------- docs/explanation/schemas_and_readers.md | 14 +++++++ docs/how_to/develop.md | 3 ++ docs/how_to/install.md | 35 ++++++++++++++++++ docs/how_to/use_this_plugin.md | 32 +--------------- docs/how_to/use_this_plugin_old.md | 31 ++++++++++++++++ docs/index.md | 37 +++++++++++++++---- mkdocs.yml | 7 +++- 9 files changed, 155 insertions(+), 53 deletions(-) create mode 100644 docs/contact.md rename docs/explanation/{explanation.md => levelsofschema.md} (92%) create mode 100644 docs/explanation/schemas_and_readers.md create mode 100644 docs/how_to/develop.md create mode 100644 docs/how_to/install.md create mode 100644 docs/how_to/use_this_plugin_old.md diff --git a/docs/contact.md b/docs/contact.md new file mode 100644 index 00000000..f7ed1a13 --- /dev/null +++ b/docs/contact.md @@ -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 | [andrea.albino@physik.hu-berlin.de](mailto:andrea.albino@physik.hu-berlin.de) | tba | [@aalbino2](https://github.com/aalbino2) | +| Dr. Hampus Näsström | [hampus.naesstroem@physik.hu-berlin.de](mailto:hampus.naesstroem@physik.hu-berlin.de) | tba | [@hampusnasstrom](https://github.com/hampusnasstrom) | +| Sarthak Kapoor | [sarthak.kapoor@physik.hu-berlin.de](mailto:sarthak.kapoor@physik.hu-berlin.de) | tba | [@ka-sarthak](https://github.com/ka-sarthak) | +| Dr. José Marquez | [josemarquez@physik.hu-berlin.de](mailto:josemarquez@physik.hu-berlin.de) | tba | [@Pepe-Marquez](https://github.com/Pepe-Marquez) | +| Dr. Sebastian Brückner (**Coordinator**) | [sebastian.brueckner@physik.hu-berlin.de](mailto:sebastian.brueckner@physik.hu-berlin.de) | 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. diff --git a/docs/explanation/explanation.md b/docs/explanation/levelsofschema.md similarity index 92% rename from docs/explanation/explanation.md rename to docs/explanation/levelsofschema.md index 4f0886f1..c76a9199 100644 --- a/docs/explanation/explanation.md +++ b/docs/explanation/levelsofschema.md @@ -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. @@ -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. @@ -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 diff --git a/docs/explanation/schemas_and_readers.md b/docs/explanation/schemas_and_readers.md new file mode 100644 index 00000000..fb13e67d --- /dev/null +++ b/docs/explanation/schemas_and_readers.md @@ -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 + diff --git a/docs/how_to/develop.md b/docs/how_to/develop.md new file mode 100644 index 00000000..bec6b544 --- /dev/null +++ b/docs/how_to/develop.md @@ -0,0 +1,3 @@ +# How to develop thi plugin + +!!! Todo: short descrioption how to develop and contribute to this plugin \ No newline at end of file diff --git a/docs/how_to/install.md b/docs/how_to/install.md new file mode 100644 index 00000000..6d85472e --- /dev/null +++ b/docs/how_to/install.md @@ -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 +``` + + diff --git a/docs/how_to/use_this_plugin.md b/docs/how_to/use_this_plugin.md index 66b5bb61..282eacd2 100644 --- a/docs/how_to/use_this_plugin.md +++ b/docs/how_to/use_this_plugin.md @@ -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 \ No newline at end of file diff --git a/docs/how_to/use_this_plugin_old.md b/docs/how_to/use_this_plugin_old.md new file mode 100644 index 00000000..66b5bb61 --- /dev/null +++ b/docs/how_to/use_this_plugin_old.md @@ -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 + diff --git a/docs/index.md b/docs/index.md index 7873da60..34d311f6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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. diff --git a/mkdocs.yml b/mkdocs.yml index bf155313..370418af 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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: