Skip to content

local variable 'Nfreq' referenced before assignment #2

@brettlv

Description

@brettlv

output_fourier_chains = a.get_MCMC_fourier_chains(location=None)
19 fourier_chains = output_fourier_chains['fourier_chains']
20 fourier_stats = output_fourier_chains['fourier_stats']

File ~/opt/anaconda3/lib/python3.9/site-packages/pycecream/init.py:637, in pycecream.get_MCMC_fourier_chains(self, location)
634 ang_freq = list(self.fourier_info['angular frequency'])
635 Nfreq = len(self.fourier_info)
--> 637 dat_fourier = pd.DataFrame(np.loadtxt(results_dir + '/CREAM_allpars_BIG.dat')[:, :2*Nfreq])
638 fourier_cols_sine = ['sine '+str(af) for af in ang_freq]
639 fourier_cols_cos = ['cos ' + str(af) for af in ang_freq]

UnboundLocalError: local variable 'Nfreq' referenced before assignment

def get_MCMC_fourier_chains(self,location = None):
    '''
    retrieve the fourier parameters
    :param location:
    :return:
    '''
    #locate the simulation results
    simulation_dir = self.get_simulation_dir(location=location)

    results_dir_list = glob.glob(simulation_dir + '/simulation_files/output_2*')

    self.output_parameters = pd.DataFrame()
    idx_chain = 0
    for results_dir in results_dir_list:
        if idx_chain == 1:
            #try loading fourier chains (only do once)
            fourier_info = np.loadtxt(results_dir + '/cream_gvalues.dat',skiprows = 1)
            self.fourier_info = pd.DataFrame(fourier_info,columns = ['angular frequency','prior std',
                                                                     'gvalue sine','gvalue cos'])
            ang_freq = list(self.fourier_info['angular frequency'])
            Nfreq = len(self.fourier_info)

        dat_fourier = pd.DataFrame(np.loadtxt(results_dir + '/CREAM_allpars_BIG.dat')[:, :2*Nfreq])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions