示例#1
0
 def test_ficticia_ignore_in_value_inic(símismo):
     líms_paráms = {'A': (0, 1), 'B': (2, 3)}
     for m in métodos:
         with símismo.subTest(método=m):
             mstr = muestrear_paráms(líms_paráms=líms_paráms,
                                     método=m,
                                     ficticia=True)
             simul_sens(símismo.mod,
                        mstr_paráms=mstr,
                        mapa_paráms=None,
                        t_final=5,
                        var_egr='A')
示例#2
0
def anlzr_sens(mod, método, líms_paráms, mapa_paráms, t_final, var_egr,
               ops_método=None, tipo_egr=None, ficticia=True, f_simul_arch=None, simulation=None, dim=None):
    método = método.lower()
    if tipo_egr:
        tipo_egr = tipo_egr.lower()

    if ops_método is None:
        ops_método = {}

    mstr = muestrear_paráms(líms_paráms, método, mapa_paráms=mapa_paráms, ficticia=ficticia)
    # n_param * Ns
    if simulation is None:
        simulation = simul_sens(mod, mstr_paráms=mstr, mapa_paráms=mapa_paráms, t_final=t_final, var_egr=var_egr,
                                guardar=False)  # 250(Ns)* xarray
    else:
        simulation = simulation
    # 150 NS * xarray (ts*3)=simulation['0']['y'].values (150*21*3)
    # import matplotlib.pyplot as ppt
    # for i in range(len(simulation)):
    #     ppt.plot(simulation[str(i)]['y'].values)
    #     ppt.savefig(f"D:\\Thesis\\pythonProject\\png\\{i}.png")
    #     ppt.close()

    # sample_size*xarray --> 100*
    return anlzr_simul(
        método=método, líms_paráms=líms_paráms, mstr=mstr, mapa_paráms=mapa_paráms, ficticia=ficticia,
        simulation=simulation, var_egr=var_egr, ops_método=ops_método, tipo_egr=tipo_egr,
        f_simul_arch=f_simul_arch, dim=dim
    )
示例#3
0
 def test_correr_todas_simuls(símismo):
     direc = dic_direcs['sens_todas']
     simul_sens(símismo.mod,
                símismo.mstr,
                mapa_paráms=símismo.mapa_paráms,
                t_final=10,
                guardar=direc,
                var_egr=['A'],
                paralelo=False)
     n_iter = len(list(símismo.mstr.values())[0])
     archivos = set([
         f for f in os.listdir(direc)
         if os.path.isfile(os.path.join(direc, f))
     ])
     símismo.assertSetEqual(archivos,
                            set([f'{í}.json' for í in range(n_iter)]))
示例#4
0
    def test_buscar_faltan(símismo):
        direc = dic_direcs['algunas_faltan']

        índs = [3, 4, 5, 6, 11]
        simul_sens(símismo.mod,
                   símismo.mstr,
                   mapa_paráms=símismo.mapa_paráms,
                   t_final=10,
                   guardar=direc,
                   var_egr=['A'],
                   índices_mstrs=índs,
                   paralelo=False)
        faltan = buscar_simuls_faltan(símismo.mstr, direc=direc)

        símismo.assertSetEqual(set(faltan),
                               set(i for i in range(100) if i not in índs))
示例#5
0
    def test_correr_simuls_por_índices(símismo):
        direc = dic_direcs['por_índice']
        simul_sens(símismo.mod,
                   símismo.mstr,
                   mapa_paráms=símismo.mapa_paráms,
                   t_final=10,
                   guardar=direc,
                   var_egr=['A'],
                   índices_mstrs=(0, 20),
                   paralelo=False)

        archivos = set([
            f for f in os.listdir(direc)
            if os.path.isfile(os.path.join(direc, f))
        ])
        símismo.assertSetEqual(archivos,
                               set([f'{í}.json' for í in range(0, 20)]))
示例#6
0
    def test_correr_simuls_faltan(símismo):
        direc = dic_direcs['algunas_faltan']
        índs = [3, 4, 5, 6, 11]
        simul_sens(símismo.mod,
                   símismo.mstr,
                   mapa_paráms=símismo.mapa_paráms,
                   t_final=10,
                   guardar=direc,
                   var_egr=['A'],
                   índices_mstrs=índs,
                   paralelo=False)
        guardar_mstr_paráms(símismo.mstr, os.path.join(direc, 'mstr.json'))
        simul_faltan(símismo.mod,
                     os.path.join(direc, 'mstr.json'),
                     mapa_paráms=símismo.mapa_paráms,
                     t_final=10,
                     direc=direc,
                     var_egr=['A'])

        todavía_faltan = buscar_simuls_faltan(mstr=símismo.mstr, direc=direc)
        símismo.assertEqual(len(todavía_faltan), 0)