diff --git a/README.md b/README.md index 5564f74..e357a35 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,6 @@ # DIMA: Data Integration and Metadata Annotation -DIMA (Data Integration and Metadata Annotation) is a Python package designed for the **Laboratory of Atmospheric Chemistry** to support the integration of multi-instrument data in HDF5 format. It is tailored for data from diverse experimental campaigns, including: - -- **beamtimes**, -- **kinetic flowtube studies**, -- **smog chamber experiments**, and -- **field campaigns**. +DIMA (Data Integration and Metadata Annotation) is a Python package designed for the **Laboratory of Atmospheric Chemistry** to support the integration of multi-instrument data in HDF5 format. It is tailored for data from diverse experimental campaigns, including **beamtimes**, **kinetic flowtube studies**, **smog chamber experiments**, and **field campaigns**. ## Key Features @@ -21,44 +16,63 @@ DIMA provides reusable operations for data integration, manipulation, and extrac 4. **Jupyter notebooks** Demonstrates DIMA’s core functionalities, such as data integration, HDF5 file creation, visualization, and metadata annotation. Key notebooks include examples for data sharing, OpenBis ETL, and workflow demos. -## Adaptability to Experimental Campaign Needs - -The `instruments/` module is designed to be highly adaptable, accommodating new instrument types or file reading capabilities with minimal code refactoring. The module is complemented by instrument-specific dictionaries of terms in YAML format, which facilitate automated annotation of observed variables with: - - `standard_name` - - `units` - - `description` - - as suggested by [CF metadata conventions](http://cfconventions.org/). -### Versioning and Community Collaboration - The instrument-specific dictionaries in YAML format provide a human readable interface for community-based development of instrument vocabularies. These descriptions can potentially be enhanced with semantic annotations for interoperability across research domains. - ## Repository Structure + +## Requirements + +For **Windows** users, the following are required: + +1. **Git Bash**: Install [Git Bash](https://git-scm.com/downloads) to run shell scripts (`.sh` files). + +2. **Conda**: Install [Anaconda](https://www.anaconda.com/products/individual) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html). + +3. **PSI Network Access**: Ensure access to PSI’s network and access rights to source drives for retrieving campaign data from YAML files in the `input_files/` folder. + +:bulb: **Tip**: Editing your system’s PATH variable ensures both Conda and Git are available in the terminal environment used by Git Bash. + + +## Getting Started + +### Download DIMA + +Open a **Git Bash** terminal. + +Navigate to your `GitLab` folder, clone the repository, and navigate to the `dima` folder as follows: + + ```bash + cd path/to/GitLab + git clone --recurse-submodules https://gitlab.psi.ch/5505/dima.git + cd dima + ``` + +### Install Python Interpreter + +Open **Git Bash** terminal. + +**Option 1**: Install a suitable conda environment `pyenv5505` inside the repository `dima` as follows: + + ```bash + cd path/to/GitLab/dima + Bash setup_env.sh + ``` + +Open **Anaconda Prompt** or a terminal with access to conda. + +**Option 2**: Install conda enviroment from YAML file as follows: + ```bash + cd path/to/GitLab/dima + conda env create --file environment.yml + ``` + ## Software arquitecture