#!/bin/sh  
# \
exec oagtclsh "$0" "$@"

# input files:
# 
#
# output files: processWaterSystems.sdds

set auto_path [linsert $auto_path 0  /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]
APSStandardSetup


proc MakeFile {} {
    set data(ParameterNames) "InstallLocation"
    set data(ColumnNames) "System SupplyTemperature DifferentialPressure SupplyPressure SupplyFlow ReturnFlow MixingValvePosition BypassValvePosition"
    set data(ParameterInfo.InstallLocation) "type SDDS_STRING"
    set data(ColumnInfo.System) "type SDDS_STRING"
    set data(ColumnInfo.SupplyTemperature) "type SDDS_STRING"
    set data(ColumnInfo.DifferentialPressure) "type SDDS_STRING"
    set data(ColumnInfo.SupplyPressure) "type SDDS_STRING"
    set data(ColumnInfo.SupplyFlow) "type SDDS_STRING"
    set data(ColumnInfo.ReturnFlow) "type SDDS_STRING"
    set data(ColumnInfo.MixingValvePosition) "type SDDS_STRING"
    set data(ColumnInfo.BypassValvePosition) "type SDDS_STRING"
    set data(Parameter.InstallLocation) "/net/epics-ops/web_roots/ops/MechanicalEngineering/processWaterSystems.sdds"

    lappend data(Column.System) P-RF-LT
    lappend data(Column.SupplyTemperature) G:PW:PR-LT:SupTempAi
    lappend data(Column.DifferentialPressure) G:PW:PR-LT:DiffPresAi
    lappend data(Column.SupplyPressure) ""
    lappend data(Column.SupplyFlow) G:PW:PR-LT:SupFloAi
    lappend data(Column.ReturnFlow) G:PW:PR-LT:RetFloAi
    lappend data(Column.MixingValvePosition) G:PW:PR-LT:MixValAi
    lappend data(Column.BypassValvePosition) G:PW:PR-LT:ByPassValAi

    lappend data(Column.System) P-RF-KLY
    lappend data(Column.SupplyTemperature) G:PW:PRKLY:SupTempAi
    lappend data(Column.DifferentialPressure) G:PW:PRKLY:DiffPresAi
    lappend data(Column.SupplyPressure) ""
    lappend data(Column.SupplyFlow) G:PW:PRKLY:SupFloAi
    lappend data(Column.ReturnFlow) G:PW:PRKLY:RetFloAi
    lappend data(Column.MixingValvePosition) G:PW:PRKLY:MixValAi
    lappend data(Column.BypassValvePosition) G:PW:PRKLY:ByPassValAi

    lappend data(Column.System) P-RF-PAR
    lappend data(Column.SupplyTemperature) G:PW:PRPAR:SupTempAi
    lappend data(Column.DifferentialPressure) G:PW:PRPAR:DiffPresAi
    lappend data(Column.SupplyPressure) ""
    lappend data(Column.SupplyFlow) G:PW:PRPAR:SupFloAi
    lappend data(Column.ReturnFlow) G:PW:PRPAR:RetFloAi
    lappend data(Column.MixingValvePosition) G:PW:PRPAR:MixValAi
    lappend data(Column.BypassValvePosition) G:PW:PRPAR:ByPassValAi

    lappend data(Column.System) P-IW-SY-A
    lappend data(Column.SupplyTemperature) G:PW:IWSYA:SupTempAi
    lappend data(Column.DifferentialPressure) G:PW:IWSYA:DiffPresAi
    lappend data(Column.SupplyPressure) ""
    lappend data(Column.SupplyFlow) G:PW:IWSYA:SupFloAi
    lappend data(Column.ReturnFlow) G:PW:IWSYA:RetFloAi
    lappend data(Column.MixingValvePosition) G:PW:IWSYA:MixValAi
    lappend data(Column.BypassValvePosition) G:PW:IWSYA:ByPassValAi

    lappend data(Column.System) P-RF-SY
    lappend data(Column.SupplyTemperature) ST-H2O:PLC:PUMP:PWTempDegFM
    lappend data(Column.DifferentialPressure) ST-H2O:PLC:PUMP:DiffPressPSIM
    lappend data(Column.SupplyPressure) ""
    lappend data(Column.SupplyFlow) ST-H2O:PLC:PUMP:SupplyFlowGpmM
    lappend data(Column.ReturnFlow) ST-H2O:PLC:PUMP:ReturnFlowGpmM
    lappend data(Column.MixingValvePosition) ST-H2O:PLC:PUMP:MixValveOpenPerCentM
    lappend data(Column.BypassValvePosition) ST-H2O:PLC:PUMP:BypassValveOpenManPerCentM

    for {set i 1} {$i <= 5} {incr i} {
        lappend data(Column.System) P-RF-$i
        lappend data(Column.SupplyTemperature) RF${i}-H2O:PLC:PUMP:PWTempDegFM
        lappend data(Column.DifferentialPressure) RF${i}-H2O:PLC:PUMP:DiffPressPSIM
        lappend data(Column.SupplyPressure) ""
        lappend data(Column.SupplyFlow) RF${i}-H2O:PLC:PUMP:SupplyFlowGpmM
        lappend data(Column.ReturnFlow) RF${i}-H2O:PLC:PUMP:ReturnFlowGpmM
        lappend data(Column.MixingValvePosition) RF${i}-H2O:PLC:PUMP:MixValveOpenPerCentM
        lappend data(Column.BypassValvePosition) RF${i}-H2O:PLC:PUMP:BypassValveOpenManPerCentM
    }

    lappend data(Column.System) P-RFLD-A
    lappend data(Column.SupplyTemperature) G:PW:RFLDA:SupTempAi
    lappend data(Column.DifferentialPressure) G:PW:RFLDA:DiffPresAi
    lappend data(Column.SupplyPressure) ""
    lappend data(Column.SupplyFlow) G:PW:RFLDA:SupFloAi
    lappend data(Column.ReturnFlow) G:PW:RFLDA:RetFloAi
    lappend data(Column.MixingValvePosition) G:PW:RFLDA:MixValAi
    lappend data(Column.BypassValvePosition) G:PW:RFLDA:ByPassValAi

    lappend data(Column.System) SR-EAA
    lappend data(Column.SupplyTemperature) S02-H2O:PLC:PUMP:SupplyTemp2DegFM
    lappend data(Column.DifferentialPressure) S02-H2O:PLC:PUMP:DiffPress2PSIM
    lappend data(Column.SupplyPressure) ""
    lappend data(Column.SupplyFlow) S02-H2O:PLC:PUMP:SupplyFlow2GpmM
    lappend data(Column.ReturnFlow) S02-H2O:PLC:PUMP:ReturnFlow2GpmM
    lappend data(Column.MixingValvePosition) S02-H2O:PLC:PUMP:MixValve2OpenPerCentM
    lappend data(Column.BypassValvePosition) S02-H2O:PLC:PUMP:BypassValve2OpenManPerCentM

    for {set sector 2} {$sector <= 40} {incr sector 2} {
        set ssector [format %02d $sector]
        
        lappend data(Column.System) SR-${ssector}A
        lappend data(Column.SupplyTemperature) S${ssector}-H2O:PLC:PUMP:SupplyTempDegFM
        lappend data(Column.DifferentialPressure) S${ssector}-H2O:PLC:PUMP:DiffPressPSIM
        lappend data(Column.SupplyPressure) S${ssector}-H2O:PLC:PUMP:PumpHeadPressM
        lappend data(Column.SupplyFlow) S${ssector}-H2O:PLC:PUMP:SupplyFlowGpmM
        lappend data(Column.ReturnFlow) S${ssector}-H2O:PLC:PUMP:ReturnFlowGpmM
        lappend data(Column.MixingValvePosition) S${ssector}-H2O:PLC:PUMP:MixValveOpenPerCentM
        lappend data(Column.BypassValvePosition) S${ssector}-H2O:PLC:PUMP:BypassValveOpenManPerCentM
    }


    set data(Column.System) [list $data(Column.System)]
    set data(Column.SupplyTemperature) [list $data(Column.SupplyTemperature)]
    set data(Column.DifferentialPressure) [list $data(Column.DifferentialPressure)]
    set data(Column.SupplyPressure) [list $data(Column.SupplyPressure)]
    set data(Column.SupplyFlow) [list $data(Column.SupplyFlow)]
    set data(Column.ReturnFlow) [list $data(Column.ReturnFlow)]
    set data(Column.MixingValvePosition) [list $data(Column.MixingValvePosition)]
    set data(Column.BypassValvePosition) [list $data(Column.BypassValvePosition)]
    
    sdds save ../DataLogging/processWaterSystems.sdds data
    
}

MakeFile

