| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- # -*- 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
- __GUAHON = ['1710-3190-1']
- __GUAELS =['1126-29162-1', '1124-29161-1']
- __ELSHON = ['28181-29181-1', '28181-29182-2']
- __HONNIC = ['3301-4411-1', '3310-4407-1']
- __NICCRI = ['4406-4412-1', '4750-4408-1']
- __CRIPAN = ['6500-56050-1', '6400-58350-1', '6000-56050-1']
- #__ELSHON_IND_28181_29182=['28181-29181-1', '28181-29182-2']
- #__IMP_TOT_ELSIND28181_29182=['28181-29181-1', '28181-29182-2']
- #__IMP_TOT_HONIND28181_29182=['28181-29181-1', '28181-29182-2']
- __EXP_TOT_GUA_NS = []
- __IMP_TOT_SAL = []
- __IMP_TOT_HON = []
- __IMP_TOT_NIC =[]
- __IMP_TOT_CRI =[]
- __IMP_TOT_PAN = []
- #__CRIPAN_IND_56050_6000=['6500-56050-1', '6400-58350-1', '6000-56050-1']
- #__IMP_TOT_CRIIND_56050_6000=['6500-56050-1', '6400-58350-1', '6000-56050-1']
- #__IMP_TOT_PANIND_56050_6000=['6500-56050-1', '6400-58350-1', '6000-56050-1']
- __INTER = {'GUAHON': __GUAHON,
- 'GUAELS':__GUAELS,
- 'ELSHON': __ELSHON,
- #'ELSHON_IND_28181_29182': __ELSHON_IND_28181_29182,
- #'IMP_TOT_ELSIND28181_29182': __IMP_TOT_ELSIND28181_29182,
- #'IMP_TOT_HONIND28181_29182':__IMP_TOT_HONIND28181_29182,
- #'CRIPAN_IND_56050_6000':__CRIPAN_IND_56050_6000,
- #'IMP_TOT_CRIIND_56050_6000':__IMP_TOT_CRIIND_56050_6000,
- #'IMP_TOT_PANIND_56050_6000':__IMP_TOT_PANIND_56050_6000,
- 'HONNIC': __HONNIC,
- 'NICCRI': __NICCRI,
- 'CRIPAN': __CRIPAN,
- 'EXP_TOT_GUA_NS': __EXP_TOT_GUA_NS,
- 'IMP_TOT_SAL': __IMP_TOT_SAL,
- 'IMP_TOT_HON': __IMP_TOT_HON,
- 'IMP_TOT_NIC': __IMP_TOT_NIC,
- 'IMP_TOT_CRI': __IMP_TOT_CRI,
- 'IMP_TOT_PAN': __IMP_TOT_PAN}
- 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]:
- try:
- l = int(argwhere(brnames == i))
- lmct[item].append(l)
- except Exception:
- 0
- 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=[1,2,3])
-
- 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 == 'CRIPAN':
- d[key] = -1
- elif key == 'IMP_TOT_HON':
- d[key] = -1
- elif key == 'IMP_TOT_PAN':
- d[key] = -1
- elif key == 'EXP_TOT_GUA_NS':
- d[key] = -1
- elif key == 'IMP_TOT_HONIND28181_29182':
- d[key] = -1
- elif key == 'CRIPAN_IND_56050_6000':
- d[key] = -1
- elif key == 'IMP_TOT_CRIIND_56050_6000':
- d[key] = -1
- elif key == 'IMP_TOT_PANIND_56050_6000':
- d[key] = -1
- else:
- d[key] = 1
-
- return d
|