Beispiel #1
0
    def verificar_leer_egr(cls):
        try:
            arch_egr, arch_ref = cls.refs_prb_leer_egr()
        except NotImplementedError:
            return

        egr = cls.leer_arch_resultados(arch_egr)

        try:
            ref = cargar_json(arch_ref)
        except FileNotFoundError:
            avisar(
                _('\nNo encontramos diccionario con los valores corectos de referencia para comprobar que el'
                  '\nmodelo sí esté leyendo bien los archivos de egresos. Lo generaremos con base en el los valores'
                  '\nactualmente leídos por el modelo. Asegúrate que los valores generados en'
                  '\n\t"{}"'
                  '\nestén correctos, y si no lo son, bórralo. En el futuro, se empleará este fuente para '
                  '\ncomprobar la función de lectura de egresos.').format(
                      arch_ref))
            for var, val in egr.items():
                if isinstance(val, np.ndarray):
                    egr[var] = val.tolist()
            guardar_json(egr, arch=arch_ref)

            ref = egr

        for var in ref:
            npt.assert_equal(ref[var], egr[var], err_msg=var)
Beispiel #2
0
    def verificar_inic_dic_vals(cls):
        try:
            arch_inic, arch_ref = cls.refs_prb_vals_inic()
        except NotImplementedError:
            return

        mod = cls(arch_inic)

        try:
            ref = cargar_json(arch_ref)
        except FileNotFoundError:
            avisar(
                _('\nNo encontramos diccionario con los valores corectos de referencia para comprobar que el'
                  '\nmodelo sí esté leyendo bien los datos iniciales. Lo generaremos con base en el los valores'
                  '\nactualmente leídos por el modelo. Asegúrate que los valores generados en'
                  '\n\t"{}"'
                  '\nestén correctos, y si no lo son, bórralo. En el futuro, se empleará este fuente para '
                  '\ncomprobar la función de lectura de datos iniciales.').
                format(arch_ref))
            d_vals = copiar_profundo(mod.variables)
            for d_v in d_vals.values():
                if isinstance(d_v['val'], np.ndarray):
                    d_v['val'] = d_v['val'].tolist()
            guardar_json(d_vals, arch=arch_ref)

            ref = d_vals

        for var in mod.variables:
            npt.assert_equal(ref[var]['val'],
                             mod.obt_val_actual_var(var),
                             err_msg=var)
Beispiel #3
0
    def verificar_avanzar(cls, n_pasos=3):
        try:
            arch_ref = cls.refs_prb_avanzar()
            arch_inic = cls.refs_prb_vals_inic()[0]
        except NotImplementedError:
            return

        mod = cls(archivo=arch_inic)
        res = mod.simular(t_final=n_pasos)

        try:
            ref = xr.Dataset.from_dict(cargar_json(arch_ref))
        except FileNotFoundError:
            avisar(
                _('\nNo encontramos diccionario con los valores corectos de referencia para comprobar que el'
                  '\nmodelo sí esté simulando correctamente. Lo generaremos con base en el los valores'
                  '\nactualmente leídos por el modelo. Asegúrate que los valores generados en'
                  '\n\t"{}"'
                  '\nestén correctos, y si no lo son, bórralo. En el futuro, se empleará este fuente para '
                  '\ncomprobar la función de simulación de modelo.').format(
                      arch_ref))

            guardar_json(res.to_dict(), arch=arch_ref)

            ref = res

        xr.testing.assert_equal(ref, res)
Beispiel #4
0
    def cargar_ref_avanzar(cls, arch_ref, res):
        """

        Parameters
        ----------
        arch_ref :
        res : xr.DataSet

        Returns
        -------

        """
        try:
            return xr.Dataset.from_dict(cargar_json(arch_ref))
        except FileNotFoundError:
            avisar(
                _('\nNo encontramos diccionario con los valores corectos de referencia para comprobar que el'
                  '\nmodelo sí esté simulando correctamente. Lo generaremos con base en el los valores'
                  '\nactualmente leídos por el modelo. Asegúrate que los valores generados en'
                  '\n\t"{}"'
                  '\nestén correctos, y si no lo son, bórralo. En el futuro, se empleará este fuente para '
                  '\ncomprobar la función de simulación de modelo.').format(
                      arch_ref))

            guardar_json(res.to_dict(), arch=arch_ref)

            return res
Beispiel #5
0
    def cargar_ref_ejemplo_vals_inic(símismo):
        if not os.path.isfile(símismo.dic_prb_datos_inic):
            avisar(_('\nNo encontramos diccionario con los valores corectos de referencia para comprobar que el'
                     '\nmodelo sí esté leyendo bien los datos iniciales. Lo generaremos con base en el los valores'
                     '\nactualmente leídos por el modelo. Asegúrate que los valores generados en'
                     '\n\t"{}"'
                     '\nestén correctos, y si no lo son, bórralo. En el futuro, se empleará este fuente para '
                     '\ncomprobar la función de lectura de datos iniciales.').format(símismo.dic_prb_datos_inic))
            d_vals = copiar_profundo(símismo.variables)
            for d_v in d_vals.values():
                if isinstance(d_v['val'], np.ndarray):
                    d_v['val'] = d_v['val'].tolist()
            guardar_json(d_vals, arch=símismo.dic_prb_datos_inic)

        return cargar_json(símismo.dic_prb_datos_inic)
Beispiel #6
0
    def cargar_ref_ejemplo_egr(símismo):
        if not os.path.isfile(símismo.dic_prb_egr):
            avisar(_('\nNo encontramos diccionario con los valores corectos de referencia para comprobar que el'
                     '\nmodelo sí esté leyendo bien los egresos de modelos. Lo generaremos con base en el los valores'
                     '\nactualmente leídos por el modelo. Asegúrate que los valores generados en'
                     '\n\t"{}"'
                     '\nestén correctos, y si no lo son, bórralo. En el futuro, se empleará este fuente para '
                     '\ncomprobar la función de lectura de egresos.').format(símismo.dic_prb_egr))
            d_egr = símismo.leer_archivo_egr(n_años_egr=1, archivo=símismo.prb_arch_egr)
            for var, val in d_egr.items():
                if isinstance(val, np.ndarray):
                    d_egr[var] = val.tolist()

            guardar_json(d_egr, arch=símismo.dic_prb_egr)

        d_egr = cargar_json(símismo.dic_prb_egr)

        return d_egr
Beispiel #7
0
    def cargar_ref_vals_inic(cls, arch_ref, mod):

        try:
            return cargar_json(arch_ref)
        except FileNotFoundError:
            avisar(
                _('\nNo encontramos diccionario con los valores corectos de referencia para comprobar que el'
                  '\nmodelo sí esté leyendo bien los datos iniciales. Lo generaremos con base en el los valores'
                  '\nactualmente leídos por el modelo. Asegúrate que los valores generados en'
                  '\n\t"{}"'
                  '\nestén correctos, y si no lo son, bórralo. En el futuro, se empleará este fuente para '
                  '\ncomprobar la función de lectura de datos iniciales.').
                format(arch_ref))
            d_vals = copiar_profundo(mod.variables)
            for d_v in d_vals.values():
                if isinstance(d_v['val'], np.ndarray):
                    d_v['val'] = d_v['val'].tolist()
            guardar_json(d_vals, arch=arch_ref)

            return d_vals
Beispiel #8
0
 def guardar(símismo):
     guardar_json(símismo.apli.receta, arch=símismo.apli.ubic_archivo)