Beispiel #1
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 #2
0
    def acción_bt_abrir(símismo):
        apli = símismo.apli
        archivo = diálogo.askopenfilename(
            filetypes=[(apli.Trads['ArchivoTinamit'], '*.tin')],
            title=apli.Trads['CargarModeloConectado'])

        if archivo:

            símismo.apli.ubic_archivo = archivo
            receta = cargar_json(archivo)

            if 'conv_tiempo' not in receta.keys(
            ) or 'conexiones' not in receta.keys():
                Ctrl.CajaAviso(apli=símismo.apli,
                               texto=apli.Trads['ArchivoCorrupto'])

            símismo.apli.Modelo = modelo = Conectado()
            símismo.apli.receta = receta

            try:
                modelo.estab_mds(receta['mds'])
            except KeyError:
                pass

            try:
                modelo.estab_bf(receta['bf'])
            except KeyError:
                pass

            l_mod = list(modelo.modelos)

            for conex in receta['conexiones']:
                mod_fuente = conex['modelo_fuente']

                mod_recip = l_mod[(l_mod.index(mod_fuente) + 1) % 2]

                modelo.conectar_vars(dic_vars={
                    mod_fuente: conex['vars'][mod_fuente],
                    mod_recip: conex['vars'][mod_recip]
                },
                                     modelo_fuente=mod_fuente,
                                     conv=conex['conv'])

            if len(receta['conv_tiempo']):
                if receta['conv_tiempo'][l_mod[0]] == 1:
                    modelo.estab_conv_unid_tiempo(
                        mod_base=l_mod[0],
                        conv=receta['conv_tiempo'][l_mod[1]])
                else:
                    modelo.estab_conv_unid_tiempo(
                        mod_base=l_mod[1],
                        conv=receta['conv_tiempo'][l_mod[0]])

            receta['conexiones'] = modelo.conexiones
            receta['conv_tiempo'] = modelo.conv_tiempo

            símismo.pariente.ContCjEtapas.ir_a_caja(1)
            símismo.pariente.bloquear_cajas([2, 3, 4])
            símismo.pariente.desbloquear_cajas([1])
Beispiel #3
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 #4
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 #5
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 #6
0
    def acción_bt_abrir(símismo):
        apli = símismo.apli
        archivo = diálogo.askopenfilename(
            filetypes=[(apli.Trads['ArchivoTinamit'], '*.tin')],
            title=apli.Trads['CargarModeloConectado'])

        if archivo:

            símismo.apli.ubic_archivo = archivo
            receta = cargar_json(archivo)

            if 'conv_tiempo' not in receta.keys(
            ) or 'conexiones' not in receta.keys():
                Ctrl.CajaAviso(apli=símismo.apli,
                               texto=apli.Trads['ArchivoCorrupto'])

            símismo.apli.Modelo = modelo = Conectado()
            símismo.apli.receta = receta

            try:
                modelo.estab_mds(receta['mds'])
            except KeyError:
                pass

            try:
                modelo.estab_bf(receta['bf'])
            except KeyError:
                pass

            for conex in receta['conexiones']:
                modelo.conectar_vars(**conex)

            if len(receta['conv_tiempo']):
                modelo.conv_tiempo_mods = receta['conv_tiempo']

            receta['conexiones'] = modelo.conexiones
            receta['conv_tiempo'] = modelo.conv_tiempo_mods

            símismo.pariente.ContCjEtapas.ir_a_caja(1)
            símismo.pariente.bloquear_cajas([2, 3, 4])
            símismo.pariente.desbloquear_cajas([1])