object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 512
  ClientWidth = 716
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnClose = FormClose
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 56
    Top = 311
    Width = 201
    Height = 25
    Caption = 'Buscar y sustituir'
    TabOrder = 0
    OnClick = Button1Click
  end
  object eNombreVar: TEdit
    Left = 56
    Top = 24
    Width = 153
    Height = 21
    TabOrder = 1
    Text = 'eNombreVar'
  end
  object eValorVar: TEdit
    Left = 232
    Top = 24
    Width = 161
    Height = 21
    TabOrder = 2
    Text = 'eValorVar'
  end
  object Button2: TButton
    Left = 408
    Top = 22
    Width = 113
    Height = 25
    Caption = 'Definir Variable'
    TabOrder = 3
    OnClick = Button2Click
  end
  object Memo1: TMemo
    Left = 24
    Top = 72
    Width = 569
    Height = 233
    Lines.Strings = (
      '+SimRes'
      '// Poner los dos archivos que se quieran comparar. '
      
        '// En esta implementaci'#243'n deben tener la misma duraci'#243'n de paso ' +
        'de tiempo '
      
        '// y se tomaran en cuenta la cantidad de cr'#243'nicas del que tenga ' +
        'el menor n'#250'mero de cr'#243'nicas.'
      
        '// Se puede poner uno solo y generar graficos con resultados de ' +
        'la simulaci'#243'n u operaciones sobre ellos'
      ''
      
        'C:\simsee\rundir\{$carpetaCorrida}\simres_{$semillaSim}x{$nCroni' +
        'casSim}.xlt'
      '-SimRes'
      ''
      '+Fechas'
      
        '// Esta secci'#243'n define una ventana de tiempo para realizar el pr' +
        'ocesos.'
      '// Es un filtro sobre los archivos simRes.'
      ''
      
        '//desde. Se procesar'#225'n los pasos de tiempo cuya fecha de inicio ' +
        'sea superior o igual a esta fecha'
      '{$fechaIniSim}'
      
        '//hasta. Se procesar'#225'n los pasos de tiempo cuya fecha de fin sea' +
        ' inferior a esta fecha.'
      '{$fechaFinSim}'
      ''
      '-Fechas'
      ''
      ''
      ''
      '+Indices'
      '// Esta secci'#243'n selecciona los grupos de columnas de los simres.'
      '// Los '#237'ndices son conexiones a los or'#237'genes de datos.'
      '// '
      '// Sintaxis: (nombre) (Actor) (NombreVar) (idSimRes)'
      
        '// (nombre) es el nombre con que se identificar'#225' el grupo de col' +
        'umnas en las operaciones'
      
        '// (Actor) es el nombre del actor como aparece en la fila encabe' +
        'zado de columnas del archivo SimRes'
      
        '// (NombreVar) es el nombre de la variable como aparece en la fi' +
        'la encabezado de columnas. Si la'
      
        '//             variable es de las que tienen varias columnas (un' +
        'a por poste), poniendo el nombre'
      
        '//             completo se selecciona la columna. Por ej. si nom' +
        'breVar= P_P1 nos referimos a la potencia'
      
        '//             del poste 1 del actor en cuesti'#243'n. Si queremos qu' +
        'e el '#237'ndice se refiera al conjunto de '
      
        '//             columnas que representan los diferentes postes, p' +
        'onemos nombrevar=P (sin el _Pn).'
      
        '// (idSimRes) identifca el archivo SimRes sobre el que se define' +
        ' el indice. El idSimRes es 1 para el '
      
        '//             primero de los archivos definidos en la secci'#243'n (' +
        '+SimRes), 2 para el segundo y as'#237
      '//             sucesivamente.'
      
        '//             Si la intenci'#243'n es definir el m'#237'smo '#237'ndice para t' +
        'odos los archivos definidos, poner'
      
        '//             (idSimRes=*) con lo que se definir'#225'n los '#237'ndices ' +
        '(nombre)1, (nombre)2 y as'#237' sucesivamente'
      '//             para cada SimRes.'
      ''
      ''
      '// nomIndice'#9'nomActor'#9'nomVar'#9'numSimRes'
      'i_Dem  dem_UY_2001_2018 P  1'
      ''
      'i_cmg Montevideo cmg 1'
      ''
      ''
      '// potencias de las m'#225'quinas de falla'
      'i_PF1'#9'dem_UY_2001_2018'#9'PF1'#9'1'
      'i_PF2'#9'dem_UY_2001_2018'#9'PF2'#9'1'
      'i_PF3'#9'dem_UY_2001_2018'#9'PF3'#9'1'
      'i_PF4'#9'dem_UY_2001_2018'#9'PF4'#9'1'
      ''
      '// Hidraulicas'
      'i_Bonete Bonete P 1'
      'i_Palmar Palmar P 1'
      'i_Baygorria Baygorria P 1'
      'i_SG SG P 1'
      ''
      'i_QApBonete Bonete QAportesP 1'
      'i_QApPalmar Palmar QAportesP 1'
      'i_QApSG SG QAportesP 1'
      ''
      '// T'#233'rmicas'
      'i_5ta "CB-5ta-FOP" P 1'
      'i_6ta "CB-6ta-FOP" P 1'
      'i_CTR "CTR-Gasoil" P 1'
      'i_GenDis Botnia P 1'
      'i_PTI PTI_GO P 1'
      'i_SalaB SalaB_FO P 1'
      'i_Maldonado TGAA_GO P 1'
      ''
      ''
      ''
      '-Indices'
      ''
      '+CronVars'
      
        '// En esta secci'#243'n se definen las variables CRONIZADAS en la que' +
        ' se guardar'#225'n los resultados'
      '// de las operaciones cronizadas.'
      '// Sintaxis: (nombre)'
      
        '// Simplemente un rengl'#243'n por variable indicando el nombre de la' +
        ' misma.'
      
        '// Estas variables, son matrices de dos dimensinones y almacenan' +
        ' los valores para cada paso de '
      
        '// simulaci'#243'n de los seleccionados por el filtro (+Fechas) y par' +
        'a cada una de las cr'#243'nicas'
      
        '// inclu'#237'das en los archivos SimRes. El valor guardado ser'#225' el r' +
        'esultado de alguna de las operaciones'
      '// definidas en las secciones siguientes.'
      ''
      'falla   // MWh de falla'
      'demanda  // MWh demanda'
      ''
      'gter  // generacion t'#233'rmica'
      'ghid // generacion hidraulica'
      'cmg'
      'QApBonete'
      'QApPalmar'
      'QApSG'
      ''
      '-CronVars'
      ''
      ''
      '+CronOpers'
      '// OPeraciones Cr'#243'nicas.'
      
        '// Estas operaciones son ejecutadas para cada paso de tiempo y c' +
        'ada cr'#243'nica de los archivos SimRes.'
      
        '// El barrido se hace en forma simult'#225'nea sobre los diferentes a' +
        'rchivos SimRes.'
      
        '// Sintaxis: (nombreOper) (resultado) [(resultado)] (param1)....' +
        '(paramN)'
      
        '//   Donde (nombreOper) debe ser una de las operaciones definida' +
        's,'
      
        '//     (resultado) debe ser una de las variables definidas en (+' +
        'CronVar) y los par'#225'metros ser'#225'n los que correspondan'
      '//   a dicha operaci'#243'n.'
      '//'
      ''
      ''
      '// OPERACIONES DEFINIDAS'
      
        '// entre <> ponemos la sintaxis de la operaci'#243'n, luego a descrip' +
        'ci'#243'n.'
      '//'
      '// < suma resCronVar param1Idxs > '
      
        '//       Suma los valres seleccionados por los '#237'ndices (param1Id' +
        'xs) y el resultado se'
      '//       guarda en (resCronVar).'
      '//'
      '// < sumaConSigno resPosCronVar resNegCronVar param1Idxs >'
      
        '//       Suma los valores seleccionados por los '#237'ndices (param1I' +
        'dxs) y el resultado lo'
      
        '//       guarda en (resPosCronVar) o (resNegCronVar) seg'#250'n sea p' +
        'ositivo o negativo.'
      
        '//       Se pens'#243' para analizar el flujo por una interconexi'#243'n e' +
        'ntre pa'#237'ses y poder as'#237
      
        '//       tener por separado flujo de importaci'#243'n y de exportaci'#243 +
        'n.'
      '// '
      '// < promedio resCronVar param1Idxs >'
      
        '//       Caclula el promedio de los valores seleccionados por (p' +
        'aram1Indxs) y lo guarda'
      '//       en (resCronVar)'
      '//'
      '// < sumaProductoConDurpos resCronVar param1Idxs >'
      
        '// sumaProductoConDurposHasta resCronVar param1Idxs kposteHasta_' +
        'integer'
      ''
      
        '// < sumaDobleProductoConDurposTopeado resSPCronVar resRecorteCr' +
        'onVar paramAIdxs paramBIdxs '
      'TopeDeB_NReal>'
      
        '// Calcula la suma producto de los valores seleccionados por par' +
        'amAIdxs y paramBIdxs, considerando topeados'
      '// los valroes B por el valor del par'#225'metro TopeDeB. '
      
        '// Los resultados e cargan en resSPCronVar y los valores recorta' +
        'dos se cargan en resRecorteCronVar.'
      
        '// Si no interesa asignar los recortes se puede poner "nil" en r' +
        'esRecorteCronVar.'
      
        '// Esta operaci'#243'n es '#250'til para calcular remuneraciones al spot. ' +
        'Para ello poner en paramBIdxs los indices'
      
        '// que seleccionan los costos marginales de un nodo y en TopeDeB' +
        '_NReal el tope puesto al precio spot.'
      ''
      ''
      ''
      '// <suma_m resCronVar; params: TDAOfTVarIdxs );'
      ''
      
        '// "suma_m" Esta operaci'#243'n realiza la suma de un conjunto de var' +
        'iables especificadas como '#237'ndices.'
      
        '//          el primer par'#225'metro tiene que ser un entero indicand' +
        'o la cantidad de '#237'ndices que se sumar'#225'n.'
      
        '//          el resto de los par'#225'metros son los nombres de cada u' +
        'no de los '#237'ndices a sumar.'
      
        '//          Por Ejemplo, si los '#237'ndices iA_GWh e iB_GWh seleccio' +
        'nan las energias generadas por la central'
      
        '//          A y la central B respectivamente en todos sus postes' +
        ', la siguiente definicion guardar'#237'a'
      
        '//          la energ'#237'a generada por las dos centrales en la vari' +
        'abel sumE1E2 que tendr'#237'a que definirse en (+CronVar)'
      '//          '
      '//          suma_m sumE1E2 iA_GWh iB_GWh'
      ''
      '// promedio_m( res: TCronVar; params: TDAOfTVarIdxs );'
      
        '// sumaProductoConDurpos_m( res: TCronVar; params: TDAOfTVarIdxs' +
        ' );'
      ''
      ''
      ''
      ''
      'sumaProductoConDurpos_m falla 4 i_PF1 i_PF2 i_PF3 i_PF4'
      'sumaProductoConDurpos demanda i_Dem'
      ''
      
        'sumaProductoConDurpos_m ghid 4 i_Bonete i_Palmar i_Baygorria i_S' +
        'G'
      
        'sumaProductoConDurpos_m gter 7 i_5ta i_6ta i_CTR i_GenDis i_PTI ' +
        'i_SalaB i_Maldonado'
      ''
      'promedio cmg i_cmg'
      'promedio QApBonete i_QApBonete'
      'promedio QApPalmar i_QApPalmar'
      'promedio QApSG i_QApSG'
      ''
      ''
      '-CronOpers'
      ''
      '+PostOpers'
      ''
      '-PostOpers'
      ''
      '+PrintCronVars'
      
        '//nomCronVar'#9'  nombreHoja'#9'titulo'#9'          unidades igitos decim' +
        'ales Print_Todas'#9'Print_promedio'#9
      'n  Print_probAisladas[i]  chart_Mat '
      'minEjeYAuto'#9'maxEjeYAuto minEjeY MaxEjeY'
      
        'histograma demanda            demanda'#9'"falla"           [MWh]   ' +
        ' 8     0'#9'    false       true            0                      ' +
        '   true   '
      '   '
      'true        true        0       0'
      
        'histograma falla              falla'#9'"falla"           [MWh]    8' +
        '     0'#9'    false       true            4  0.05 0.3 0.7 0.95     ' +
        '   true      '
      'true        true        0       0'
      ''
      
        'histograma ghid               GenHidro'#9'"Generaci'#243'n hidr'#225'ulica"  ' +
        ' [MWh]    8     0'#9'    false       true    4  0.1 0.3 0.7 0.9 '
      '       true      '
      'true        true        0       0'
      
        'histograma gter               GenTer'#9'"Gerenaci'#243'n T'#233'rmica"      [' +
        'MWh]    8     0'#9'    false       true    4  0.1 0.3 0.7 0.9 '
      '       true      '
      'true        true        0       0'
      ''
      
        'histograma cmg               cmg'#9'"Costo Marginal"      [USD/MWh]' +
        '    8     0'#9'    false       true    4  0.1 0.3 0.7 0.9 '
      '       true      '
      'true        true        0       0'
      
        'histograma  QApBonete           QApBonete'#9'"QApBonete"      [m3/s' +
        ']    8     0'#9'    false       true    4  0.1 '
      '0.3 0.7 0.9        true      '
      'true        true        0       0'
      
        'histograma  QApPalmar           QApPalmar'#9'"QApPalmar"      [m3/s' +
        ']    8     0'#9'    false       true    4  0.1 '
      '0.3 0.7 0.9        true      '
      'true        true        0       0'
      
        'histograma  QApSG               QApSG'#9#9'"QApSG"      [m3/s]    8 ' +
        '    0'#9'    false       true    4  0.1 0.3 0.7 0.9 '
      '       true      true      '
      '  true        0       0'
      ''
      ''
      '-PrintCronVars')
    TabOrder = 4
  end
end
