Variables not appearing in pm.sample_posterior_predictive

Using the model below, I expect to be able to use az.plot_ppc to be able to see if the models is able to predict values for travel_time_obs. Yet when I go to run that command, I am told that other var names are not present. Code and error message posted below.

KeyError: 'var names: "[\'alarms_obs\' \'latent\'] are not present" in dataset'

second_model = pm.Model()



with second_model:
    #constants
    A = pm.Data('A', 61.13) #miles square
    n = pm.Data('n', 33) #number of engine companies
    
    # Priors for unknown model parameters
    α = pm.Uniform('α',0,50) #pm.HalfNormal('α',sigma=100) #not a lot known about this varibale as it would requier experimental data 0
    β = pm.Uniform('β',1,10)  #pm.HalfNormal('β',sigma=100) #not a lot known about this varibale as it would requier experimental data 2.2
    γ = pm.HalfNormal('gamma',sigma = 1) # has to be a fractional exponent according to Kolesar [1975] .3
    λ = pm.Gamma('λ', alpha=1, beta=1)
    alarms_obs = pm.Poisson('alarms_obs', mu= λ, observed = incident_data['alarms_per_hour'])
    #sigma_y = pm.HalfNormal('sigma_y', sigma=100)
    ϕ = pm.HalfNormal('sigma_y', sigma=1) #shape parameter for Wald distribution is likely to be less than 1 given the sharp peak seen in the  travel time data



    #ES
    mu = pm.Normal('mu', mu=0,sigma=1)
    alpha_raw = pm.Normal("alpha_raw", mu=0, sigma=0.1)
    alpha_w = pm.Deterministic("alpha_w", pt.exp(alpha_raw))
    beta_n_w = pm.Deterministic("beta_n_w", pt.exp(mu / alpha_w))
    beta_w = pm.Deterministic("beta_w", (beta_n_w * incident_data['service_time'].max())-(1/3600))
    
    # Sampling distribution of observed service times
    latent = pm.Weibull('latent',alpha=alpha_w, beta=beta_n_w, observed = experiment)

    ES = pm.Deterministic('ES', beta_w*pt.gamma(1 + 1/alpha_w))

    # Expected value of travel_time
    ET = pm.Deterministic('ET',α + β*(A/(n-λ*ES))**γ)

    # Sampling distribution of observed travel times
    travel_time_obs = pm.Wald('travel_time_obs', mu=ET, phi=ϕ, observed=incident_data['travel_time']+ (1/60)) 
    #pm.Normal("Y_obs", mu=ET, sigma=sigma_y, observed=incident_data['travel_time'])
  
    trace2 = pm.sample(draws=4000, chains=4, nuts_sampler='nutpie')

with second_model:
    trace2.extend(pm.sample_prior_predictive(draws=50))
    idata_posterior = pm.sample_posterior_predictive(trace2, var_names=['travel_time_obs', 'latent', 'alarms_obs'],
                                                     return_inferencedata=True,
                                                     extend_inferencedata=True,
                                                     predictions=False)
az.plot_ppc(idata_posterior, data_pairs={'travel_time_obs': 'travel_time_obs'}, num_pp_samples=100)