Exemple #1
0
    def get_nu_1st_2nd(self):
        import pandas as pd
        filename = './fom/nus_mom.csv'
        fom = pd.read_csv(filename).to_numpy()

        # For now, grep proj and rom relerr at the same time
        if self.info['init'] == 'zero':
            self.info['J0'] = mypostpro.find_nearest(self.outputs['t'][0, :],
                                                     501)
        elif self.info['init'] == 'ic':
            self.info['J0'] = 0
        files_dict = self.cdict('nu')
        nbs = []
        ms = []
        sds = []
        merr = []
        verr = []
        sderr = []
        for nb, fnames in files_dict.items():
            for fname in fnames:
                nuss = mypostpro.read_nuss(fname)
                nuss[:, 2] = nuss[:, 2] / 40
                avgidx1 = mypostpro.find_nearest(nuss[:, 1],
                                                 int(self.info['J0']))
                rom_mean = mypostpro.cmean(nuss[avgidx1:-1, :], 2)
                rom_var = mypostpro.cvar(nuss[avgidx1:-1, :], rom_mean, 2)
                rom_sd = mypostpro.csd(nuss[avgidx1:-1, :], rom_mean, 2)
                [mean_err, var_err,
                 sd_err] = mypostpro.cnuss_err(fom[0][0], fom[0][1], fom[0][1],
                                               rom_mean, rom_var, rom_sd)
            merr.append(mean_err)
            verr.append(var_err)
            sderr.append(sd_err)
            nbs.append(int(nb))
            ms.append(rom_mean)
            sds.append(rom_sd)
        self.nbs, self.nus_ms, self.nus_sds, self.mnuserr, self.stdnuserr = [
            list(tuple)
            for tuple in zip(*sorted(zip(nbs, ms, sds, merr, sderr)))
        ]
        return
Exemple #2
0
    fws = []
    m_list = []
    sd_list = []

    for fw, fnames in dict_final:
        # get the FOM data
        for fname in fnames:

            nuss = mypostpro.read_nuss(fname)
            nuss[:, 2] = nuss[:, 2] / 40
            avgidx1 = mypostpro.find_nearest(nuss[:, 1], int(sys.argv[3]))
            rom_mean = mypostpro.cmean(nuss[avgidx1:-1, :], 2)
            rom_var = mypostpro.cvar(nuss[avgidx1:-1, :], rom_mean, 2)
            rom_sd = mypostpro.csd(nuss[avgidx1:-1, :], rom_mean, 2)
            [mean_err, var_err,
             sd_err] = mypostpro.cnuss_err(fom_mean, fom_var, fom_sd, rom_mean,
                                           rom_var, rom_sd)
        merr_list.append(mean_err)
        verr_list.append(var_err)
        sderr_list.append(sd_err)
        fws.append(float(fw))
        m_list.append(rom_mean)
        sd_list.append(rom_sd)

    data = np.column_stack((fws, merr_list, sderr_list, m_list, sd_list))
    #                      sd_list, fom_means, fom_stds))
    data = data[data[:, 0].argsort()]
    print(data)

    anchor = setup.find_anchor()
    solver = checker.rom_checker(fname, '^.*_(.*)rom_.*$')