Data model#
MoDaCor uses three nested containers so numerical values, physical meaning, and pipeline organization remain explicit:
ProcessingData
└── "sample" DataBundle
├── "signal" BaseData
│ ├── signal numerical array
│ ├── units Pint unit
│ ├── uncertainties named absolute 1σ arrays
│ ├── weights and axes
│ └── rank_of_data
├── "Q" BaseData
└── "mask" BaseData