Hierarchical model varying indexing of distributions

I have tryed it, but I would like to have a hierarchy. I would like to see if the location of measurement has an effect on my observable. Each location has recordings on different years, so I am thinking that these have a mean of some distribution, say a normal one, based on location. But it is adjusted by some value based on year it was measured (different people worked, equipment changes). Say year 2018 at one location would not have the same effect as the same year 2018 at the other location, which I think that your suggestion would mean. I am new to this type of modelling so I apologise if I missunderstand how things work.

What I accidentaly learned is one can have things like:

beta_location = pm.Normal(“locations”, mu=0,sigma=1,shape=3)
beta_location_year = pm.Normal(“Location_years”, mu = beta_location, sigma=1,shape=(len(number_unique_years),3)

I always tried having shape argument as shape=(3,10), but that works is shape=(10,3) I just couldn’t figurre out how to name it so I could ask google or people about it.