Labeled coords and dims in hierarchical group setting with different sizes

Just looking through your model quickly, it looks like you have have a separate adaptation parameter for every combination of participant and experiment (i.e., dims=("participants","Experiment")). So 2 per participant. I assume this is not what you want. I would assume you want 1 per participant, but have these participant-level parameters drawn from separate hyper parameters. But you have a single list of participant IDs and no way to figure out which condition/group/Experiment each is associated with. So you can do something like this?

adaptation_offset = pm.Normal('a_offset',
                              mu=0,
                              sigma=1,
                              dims="participants"
)
adaptation = pm.Deterministic("adaptation",
                              mu_adap[exp_idx] +
                              (adaptation_offset * sigma_adap[exp_idx])
)

If I didn’t screw that up, it should create 1 adaptation_offset per participant, and then creates the per-participant adaptation by selecting the appropriate, experiment-specific value of mu_adap and sigma_adap. Similar sorts of things can be done for the other parameters.