makeMCT.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # -*- coding: utf-8 -*-
  2. # =============================================================================
  3. # Copyright (C) 2018 Mercados Electricos de Centroamérica. All rights reserved
  4. # =============================================================================
  5. """Crea limites de trasnferencia entre área de Control
  6. """
  7. from numpy import argwhere
  8. from pandas import read_excel
  9. # Se definen las líneas que componenn las interconexiones entre las areas de
  10. # control
  11. #__GUAHON = ['1710-3190-1']
  12. __GUA = ['1126-29162-1', '1124-29161-1','1710-3190-1']
  13. __ES = ['1126-29162-1', '1124-29161-1','28181-29181-1', '28181-29182-2']
  14. #__ESAHON = ['28181-29181-1', '28181-29182-2']
  15. __HON = ['1710-3190-1', '28181-29181-1', '28181-29182-2','3301-4411-1','3310-4407-1']
  16. __HONNIC = ['3301-4411-1', '3310-4407-1']
  17. __NICCRC = ['4412-50050-1', '4408-50000-1']
  18. __CRCPAN = ['6500-56050-1', '6400-58350-1', '6000-56050-1']
  19. __INTER = {#'GUAHON': __GUAHON,
  20. 'GUA': __GUA,
  21. #'ESAHON': __ESAHON,
  22. 'ES': __ES,
  23. 'HON': __HON,
  24. 'HONNIC': __HONNIC,
  25. 'NICCRC': __NICCRC,
  26. 'CRCPAN': __CRCPAN}
  27. def linmct(brnames):
  28. """Construye un diccionario con el indice que corresponde al nombre del
  29. circuito o linea que copone la interconexión entre las áreas de control
  30. """
  31. lmct = {}
  32. for item in __INTER:
  33. lmct[item] = []
  34. for i in __INTER[item]:
  35. l = int(argwhere(brnames == i))
  36. lmct[item].append(l)
  37. return lmct
  38. def readmct(file):
  39. """Lee la información de Máximas Capacidades de Trasnferencia del archivo
  40. Excel del caso a resolver.
  41. """
  42. mct = read_excel(file, 'mct', index_col=[0,1,2])
  43. return mct
  44. def set_dir_flujo():
  45. """Consruye un diccionario en el cual se define la dirección del circuito
  46. que compone la interconexión.
  47. En el caso de la interconexión entre Costa Rica y Panamá, las líneas se
  48. encuentran definidas en el sentido Sur-Norte, por lo que su dirección de
  49. flujo corresponde a -1
  50. """
  51. d = {}
  52. for key in __INTER.keys():
  53. if key == 'CRCPAN':
  54. d[key] = -1
  55. elif key == 'HON':
  56. d[key] = -1
  57. else:
  58. d[key] = 1
  59. return d