# -*- coding: utf-8 -*- # ============================================================================= # Copyright (C) 2018 Mercados Electricos de Centroamérica. All rights reserved # ============================================================================= """Crea limites de trasnferencia entre área de Control """ from numpy import argwhere from pandas import read_excel # Se definen las líneas que componenn las interconexiones entre las areas de # control __GUAESA = ['1126-29162-1', '1124-29161-1'] __GUAHON = ['1710-3190-1'] __ESAHON = ['28181-29181-1', '28181-29182-2'] __HONNIC = ['3301-4411-1', '3310-4407-1'] __NICCRC = ['4412-50050-1', '4408-50000-1'] __CRCPAN = ['6500-56050-1', '6400-58350-1', '6000-56050-1'] __INTER = {'GUAESA': __GUAESA, 'GUAHON': __GUAHON, 'ESAHON': __ESAHON, 'HONNIC': __HONNIC, 'NICCRC': __NICCRC, 'CRCPAN': __CRCPAN} def linmct(brnames): """Construye un diccionario con el indice que corresponde al nombre del circuito o linea que copone la interconexión entre las áreas de control """ lmct = {} for item in __INTER: lmct[item] = [] for i in __INTER[item]: l = int(argwhere(brnames == i)) lmct[item].append(l) return lmct def readmct(file): """Lee la información de Máximas Capacidades de Trasnferencia del archivo Excel del caso a resolver. """ mct = read_excel(file, 'mct', index_col=[0, 1]) return mct def set_dir_flujo(): """Consruye un diccionario en el cual se define la dirección del circuito que compone la interconexión. En el caso de la interconexión entre Costa Rica y Panamá, las líneas se encuentran definidas en el sentido Sur-Norte, por lo que su dirección de flujo corresponde a -1 """ d = {} for key in __INTER.keys(): if key == 'CRCPAN': d[key] = -1 else: d[key] = 1 return d