Did you try increasing target_accept? If not, I would suggest doing so, like this:
trace_normal = pm.sample(target_accept = 0.9)
If that doesn’t help, then you might reinspect the priors (the scales/“widths” in particular), but I haven’t looked at your data.
If you still have issues, then you may have to dig into the sampling process a bit. This notebook goes pretty deep, but I would definitely try