示例#1
0
 def test_simular_grupo(símismo):
     vals_extern = [{'Escala': 1}, {'Escala': 2}]
     mod = ModeloPrueba()
     ops = OpsSimulGrupo(5, extern=vals_extern)
     res = mod.simular_grupo(ops)
     for corr, vl in zip(res.values(), vals_extern):
         símismo.assertEqual(corr['Escala'].vals.values[0], vl['Escala'])
示例#2
0
    def test_diario(símismo):
        mod = ModeloPrueba(unid_tiempo='días')
        mod.conectar_var_clima('Vacío', 'بارش', conv=1, combin='total')

        res = mod.simular(EspecTiempo(100, f_inic=símismo.fechas[0]),
                          clima=símismo.clima,
                          vars_interés='Vacío')

        npt.assert_equal(res['Vacío'].vals[:, 0], símismo.lluvia[:101])
示例#3
0
 def test_guardar_cada_con_fecha(símismo):
     mod = ModeloPrueba(unid_tiempo='días')
     res = mod.simular(
         t=EspecTiempo(10, '2001-01-01', guardar_cada=2))['Escala']
     npt.assert_equal(res.vals, np.arange(11, step=2).reshape((6, 1)))
     pdt.assert_index_equal(res.vals.indexes[_('fecha')],
                            pd.date_range('2001-01-01',
                                          periods=6,
                                          freq='2D'),
                            check_names=False)
示例#4
0
 def test_simular_grupo_combin(símismo):
     mod = ModeloPrueba()
     ops = OpsSimulGrupoCombin([5, 6],
                               extern=[{
                                   'Escala': 1
                               }, {
                                   'Escala': 2
                               }])
     res = mod.simular_grupo(ops)
     símismo.assertEqual(len(res), 4)
示例#5
0
 def test_simular_grupo_con_lista_nombres(símismo):
     mod = ModeloPrueba()
     nombres = ['corrida 1', 'corrida 2']
     ops = OpsSimulGrupo(5,
                         extern=[{
                             'Escala': 1
                         }, {
                             'Escala': 2
                         }],
                         nombre=nombres)
     res = mod.simular_grupo(ops)
     símismo.assertSetEqual(set(nombres), set(res))
示例#6
0
    def test_anual(símismo):
        mod = ModeloPrueba(unid_tiempo='año')
        mod.conectar_var_clima('Vacío', 'بارش', conv=1, combin='total')

        res = mod.simular(EspecTiempo(2, f_inic=símismo.fechas[0]),
                          clima=símismo.clima,
                          vars_interés='Vacío')

        ref = np.array([
            np.sum(x) for x in [
                símismo.lluvia[:366], símismo.lluvia[366:366 + 365],
                símismo.lluvia[366 + 365:366 + 365 + 365]
            ]
        ])
        npt.assert_equal(res['Vacío'].vals[:, 0], ref)
示例#7
0
 def _simul_con_extern(extern, ref, var_ref='Vacío', fecha=True):
     f_inic = '2000-01-01' if fecha else None
     res = ModeloPrueba(unid_tiempo='días').simular(t=EspecTiempo(
         10, f_inic=f_inic),
                                                    extern=extern)
     npt.assert_equal(res[var_ref].vals.values.reshape(np.array(ref).shape),
                      ref)
示例#8
0
 def test_mapa_de_simul(símismo):
     frm = mapa.FormaDinámicaNumérica(arch_frm_numérica, col_id='Id')
     extern = {'Vacío': np.arange(len(frm.ids))}
     res = ModeloPrueba(dims=(215, )).simular(t=10, extern=extern)
     mapa.dibujar_mapa_de_res(forma_dinámica=frm,
                              res=res,
                              var='Vacío',
                              t=3,
                              directorio=símismo.dir_)
示例#9
0
    def test_mensual(símismo):
        mod = ModeloPrueba(unid_tiempo='mes')
        mod.conectar_var_clima('Vacío', 'بارش', conv=1, combin='suma')

        res = mod.simular(EspecTiempo(2, f_inic=símismo.fechas[0]),
                          clima=símismo.clima,
                          vars_interés='Vacío')

        ref = np.array([
            np.sum(x) for x in [
                símismo.lluvia[:31], símismo.lluvia[31:31 +
                                                    29], símismo.lluvia[31 +
                                                                        29:31 +
                                                                        29 +
                                                                        31]
            ]
        ])
        npt.assert_equal(res['Vacío'].vals[:, 0], ref)
示例#10
0
    def test_mapa_de_simul_grupo(símismo):
        ops = OpsSimulGrupo(t=3,
                            extern=[{
                                'Vacío': 1
                            }, {
                                'Vacío': 3
                            }],
                            nombre=['701', '101'])
        res = ModeloPrueba().simular_grupo(ops)

        frm = mapa.FormaDinámicaNombrada(arch_frm_nombrada, col_id='COD_MUNI')
        mapa.dibujar_mapa_de_res(forma_dinámica=frm,
                                 res=res,
                                 var='Vacío',
                                 t=3,
                                 directorio=símismo.dir_)
示例#11
0
 def test_simular_t_fecha(símismo):
     mod = ModeloPrueba(unid_tiempo='días')
     res = mod.simular(t=EspecTiempo(10, '2001-01-01'))['Escala']
     pdt.assert_index_equal(res.vals.indexes[_('fecha')],
                            pd.date_range('2001-01-01', periods=11),
                            check_names=False)
示例#12
0
 def test_simular_paralelo(símismo):
     mod = ModeloPrueba()
     ops = OpsSimulGrupoCombin(5, extern=[{'Escala': 1}, {'Escala': 2}])
     sin_paralelo = mod.simular_grupo(ops)
     con_paralelo = mod.simular_grupo(ops, paralelo=True)
     símismo.assertEqual(sin_paralelo, con_paralelo)
示例#13
0
 def test_t_numérico_extern_fecha(símismo):
     extern = pd.DataFrame(data={'Vacío': np.arange(4)},
                           index=pd.date_range('2000-01-02', '2000-01-05'))
     with símismo.assertRaises(TypeError):
         ModeloPrueba(unid_tiempo='días').simular(t=EspecTiempo(10),
                                                  extern=extern)
示例#14
0
 def test_simular_t_int(símismo):
     mod = ModeloPrueba()
     res = mod.simular(t=10)['Escala']
     npt.assert_equal(res.vals, np.arange(11).reshape((11, 1)))
示例#15
0
 def test_guardar_cada(símismo):
     mod = ModeloPrueba()
     res = mod.simular(t=EspecTiempo(10, guardar_cada=2))['Escala']
     npt.assert_equal(res.vals, np.arange(11, step=2).reshape((6, 1)))
     npt.assert_equal(res.t.eje(), np.arange(11, step=2))
示例#16
0
 def test_paso_inválido(símismo):
     mod = ModeloPrueba()
     with símismo.assertRaises(ValueError):
         mod.simular(EspecTiempo(100, tmñ_paso=0))
示例#17
0
 def test_paso(símismo):
     mod = ModeloPrueba()
     res = mod.simular(t=EspecTiempo(10, tmñ_paso=2))['Escala']
     npt.assert_equal(res.vals, np.arange(21, step=2).reshape((11, 1)))
     npt.assert_equal(res.vals.indexes[_('fecha')], np.arange(21, step=2))