# Case Metadata Format The `case.yml` file contains metadata for simulation cases. This file is used by multiphasepy to manage case information, validation data, and workflow parameters. ```yaml name: "Name of the Case" validation: "alpha.air": experiment: "validation/experiment/alpha.dat" reference: "validation/reference/line.csv" simulation: "postProcessing/../line.csv" keywords: BUBBLE SIZE: "monodisperse" BUBBLE SIZE CHANGES: "coalescence-breakup" workflow: params: cores: 4 container: "oras:///:.sif" partition: name: "compute" ntasks: 16 ``` ## File Location The metadata file should be placed in the root directory of each simulation case: ```text simulation-case/ ├── Allrun ├── case.yml # Metadata file ├── system/ ├── constant/ └── validation/ ``` ## File Format The `case.yml` uses YAML format and supports the following top-level keys: ## Schema ### name Human-readable name for the simulation case. **Type:** `string` ### workflow Workflow-related configuration for job scheduling and execution. #### workflow.params Parameters for workflow execution. ##### workflow.params.cores Number of CPU cores to use for the simulation. **Type:** `integer` **Example:** ```yaml workflow: params: cores: 4 ``` ##### workflow.params.container Container image URL for running the simulation in a containerized environment. **Type:** `string` **Example with Apptainer|Singularity:** ```yaml workflow: params: container: "oras:///:.sif" ``` **Example with Docker:** ```yaml workflow: params: container: "docker:///:" ``` ##### workflow.params.partition Cluster partition configuration for job scheduling. **Type:** `object` **Properties:** - `name` (string): Name of the partition/queue - `ntasks` (integer): Number of tasks **Example:** ```yaml workflow: params: partition: name: "compute" ntasks: 16 ``` ### validation Validation data configuration for comparing simulation results with experimental or reference data. **Type:** `object` Each field in the validation section represents a physical quantity to be validated. The key format is typically `` (e.g., `alpha.air`, `U.water`). **Properties for each field:** - `experiment` (string): Path to experimental data file - `reference` (string): Path to reference/baseline data file - `simulation` (string): Path to simulation output data file **Example:** ```yaml validation: "alpha.air": experiment: "validation/alpha.dat" reference: "validation/reference/line.csv" simulation: "postProcessing/sampleFields/4/line.csv" "U.water": experiment: "validation/velocity.dat" reference: "validation/reference/velocity.csv" simulation: "postProcessing/sampleFields/4/velocity.csv" ``` ### keywords Keywords for categorizing and searching simulation cases. Keywords follow a controlled vocabulary defined in the reference keywords file. **Type:** `object` Each keyword category contains an applicable value. **Example:** ```yaml keywords: BUBBLE SIZE: "monodisperse" BUBBLE SIZE CHANGES: "coalescence-breakup" ```