The current profiling workflow was originally implemented with esm1.6 specific use cases, including:
- hardcoded layout structures
- esm1.6 specific layout tuple handling
- model specific perturbation block construction
- assumptions about layout and search configs
While this worked well for the original scope, it makes it more difficult to introduce new models without modifying core workflow logic. Since I am incorporating OM3 profiling as part of this PR #48, I'll propose and outline some changes to that same PR to generalise the workflow a bit so it can be model agnostic and extensible.