Error IndexError: index out of bounds

here is the code.

thanks a lot for your help.

import matplotlib.pyplot as plt
import numpy as np
from scipy import stats
import seaborn as sns
import arviz as az
import numpy as np
import pymc3 as pm
import os
import theano.tensor as tt
from theano.compile.ops import as_op

lon_start=-10
lon_res=0.25
lat_start=40
lat_res=0.25
level_height=500
time_res=10800   #3h
time_start_index=88
time_dur=12
time_release_interval=3600

num_lon=80
num_lat=80
num_Conc=10


m_srs_sum=np.zeros((2*num_lat,2*num_lon,num_Conc)) 

for i in range(num_Conc):
    m_srs_sum[20][20][i]=1


Y=np.ones(num_Conc)
basic_model = pm.Model()
with basic_model:

    # Priors for unknown model parameters   
    longitude_i = pm.DiscreteUniform("longitude_i", lower=1, upper=79)   
    latitude_i = pm.DiscreteUniform("latitude_i", lower=1, upper=79)
    releaserate = pm.Uniform("releaserate", lower=1, upper=100,transform=None)
    sigma_model=1
    m_srs_model = pm.Data('m_srs_model', m_srs_sum)

    
    lon_index=pm.theanof.intX(longitude_i)
    lat_index=pm.theanof.intX(latitude_i)

    grid_area = 100 * 1000 * lon_res * 100 * 1000 * lat_res 
    grid_volume = grid_area * level_height
    
    
    matrix_temp = m_srs_model[lat_index][lon_index]
    #factor=releaserate*1000*time_release_interval/3600  / grid_volume / time_res * 10 ** 9
    factor=releaserate*1000/time_release_interval  / grid_volume  * 10 ** 9
    result_ConcCal=factor*matrix_temp
    
    
    Y_pre=result_ConcCal
  
    
    Y_obs=pm.Normal("Y_obs", mu=Y_pre, sigma=sigma_model, observed=Y)
    trace_g=pm.sample(draws=20000,tune=1000,chains=20,cores=4)