I was thinking more of normalising it in the definition of logp:
clase ...
def logp(self, x):
...
mu_w = mu_w - mu_w.mean()
return pm.Normal.dist(mu=mu_w, tau=priorvar).logp(x)
and with
mu = tt.exp(b0 + mu_phi + tt.log(offset))
However doing so seems to render rho unidentifiable.