This document defines the repository-wide storage layout and the top-level workflow boundaries.
Use it together with the layer READMEs when adding new models, datasets, studies, or promoted result summaries.
Store released model artifacts in models/, estimator implementations in estimators/, canonical evaluation data in data/evaluation/..., and canonical modelling data in data/modelling/....
The repository is organized as a layered workflow:
- Build reusable OCV modelling artifacts in
ocv_id/anddata/modelling/.... - Build ESC-specific dynamic-identification artifacts in
ESC_Id/. - Produce released ESC or ROM model artifacts in
models/. - Build or curate canonical evaluation datasets in
data/evaluation/.... - Tune estimator covariances in
autotuning/against a versioned evaluation suite. - Run benchmark and robustness studies in
Evaluation/. - Promote lightweight summaries and selected figures into
results/....
Stable configurable entry points are:
../ocv_id/runOcvIdentification.m../ocv_id/stdy/runOcvModellingInspection.m../ESC_Id/runDynamicIdentification.m../Evaluation/runBenchmark.m../Evaluation/Injection/runInjectionStudy.m../Evaluation/initSOCs/runInitSocStudy.m../Evaluation/NoiseTuningSweep/sweepNoiseStudy.m../autotuning/runAutotuning.m
../Evaluation/mainEval.m is a fixed example scenario script built on top of runBenchmark.m.
data/
modelling/
raw/
interim/
processed/
synthetic/
derived/
evaluation/
raw/
interim/
synthetic/
processed/
derived/
shared/
Lifecycle meanings:
raw: immutable source datainterim: transformed but not yet canonicalprocessed: canonical model-ready or benchmark-ready datasetssynthetic: generated modelling datasets or evaluation-side synthetic builder assetsderived: generated reusable artifacts derived from another datasetshared: cross-domain metadata reused by modelling and evaluation
Canonical evaluation locations are:
- raw source profiles:
data/evaluation/raw/... - synthetic builder-side assets:
data/evaluation/synthetic/... - processed nominal benchmark datasets:
data/evaluation/processed/<suite_version>/nominal/*.mat - derived evaluation cases:
data/evaluation/derived/<suite_version>/<dataset_family>/<case_id>/dataset.mat
Generated derived evaluation datasets also save:
manifest.json- optional
manifest.mat
Example derived case:
data/evaluation/derived/desktop_atl20_bss_v1/additive_measurement_noise/case_001/
Helpers added for this registry:
utility/dataRegistry/ensureDataRegistryLayout.mutility/dataRegistry/resolveEvaluationDatasetPath.mutility/dataRegistry/resolveEvaluationOutputRoot.mutility/dataRegistry/writeDerivedDatasetManifest.mutility/dataRegistry/readDerivedDatasetManifest.mutility/dataRegistry/summarizeEvaluationSuiteManifests.mutility/dataRegistry/resolveModellingDatasetPath.mutility/dataRegistry/resolveModellingOutputRoot.mutility/dataRegistry/classifyModellingArtifactPath.m
Canonical modelling locations are:
- raw source modelling data:
data/modelling/raw/... - interim OCV preparation assets:
data/modelling/interim/... - processed identification inputs:
data/modelling/processed/ocv/...data/modelling/processed/dynamic/... - synthetic modelling datasets:
data/modelling/synthetic/... - derived reusable modelling artifacts:
data/modelling/derived/ocv_models/...data/modelling/derived/identification_results/...data/modelling/derived/validation_results/...
Evaluation and autotuning outputs are split into two classes:
- summary artifacts: lightweight, Git-trackable outputs such as metrics tables, manifests, metadata, and selected published plots
- heavy artifacts: local-only outputs such as full estimator time-series performance, merged MAT result bundles, study-detail MAT files, and autotuning checkpoints
Trackable summary outputs belong under:
results/evaluation/...results/autotuning/...results/ocv/...results/figures/...
Promoted summary filenames should use stable stems:
autotuning__<suite_version>__<scenario_or_model_id>__summary.mdautotuning__<suite_version>__<scenario_or_model_id>__summary.jsonevaluation__<suite_version>__<scenario_or_model_id>__summary.mdevaluation__<suite_version>__<scenario_or_model_id>__summary.jsonocv__<suite_version>__<scenario_or_model_id>__summary.mdocv__<suite_version>__<scenario_or_model_id>__summary.json
Heavy local-only outputs stay in workflow-local artifact locations such as:
data/evaluation/derived/...Evaluation/.../results/...autotuning/results/...
Use one lightweight summary artifact per study or scenario, keep any full time-series MAT output optional and local-only, and route routine generated figures to results/figures/.... Keep assets/ for stable hand-curated repository visuals only.
For autotuning studies, it is also valid to promote a compact tuned-parameter artifact such as results/autotuning/<suite_version>/autotuning__<suite_version>__<scenario_or_model_id>__tuned_params.json.