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

set auto_path [linsert $auto_path 0  $env(OAG_TOP_DIR)/oag/apps/lib/$env(HOST_ARCH)]

APSStandardSetup

# Make a bunch with a profile that matches the equilibrium with HHC

set usage {usage: makeDiagConfig -output <filename> -patternFile <filename> -nPerBunch <number>(1000) -limit <number>}
set output ""
set patternFile ""
set limit 0
set nPerBunch 1000
set args $argv
if {[APSStrictParseArguments {output patternFile nPerBunch limit}] || ![string length $output] || ![string length $patternFile] \
      || [expr $nPerBunch<=0]} {
    return -code error "$usage"
}
if [file exists $output] {
   return -code error "in use: $output"
}
if ![file exists $patternFile] {
    return -code error "not found: $patternFile"
}

set BucketNumberList [exec sdds2stream -column=BucketNumber $patternFile]
set IntensityList [exec sdds2stream -column=Intensity $patternFile]
set pid 1
set number 0
foreach bn $BucketNumberList intensity $IntensityList {
    if [expr $intensity<=0.0] continue
    set pid [expr 1+$nPerBunch*$bn]
    set n3 [format %03d $number]
    lappend elementList WP$n3 WP$n3 WP$n3 WP$n3
    lappend parameterList START_PID END_PID DISABLE LABEL
    lappend valueList $pid [expr $pid+$nPerBunch-1] 0 0
    lappend stringList "" "" "" "Bucket $bn"
    lappend elementList SA$n3 SA$n3 SA$n3 SA$n3
    lappend parameterList START_PID END_PID DISABLE LABEL
    lappend valueList $pid [expr $pid+$nPerBunch-1] 0 0
    lappend stringList "" "" "" "Bucket $bn"
    incr number
    if [expr $number>=$limit] break
}

exec sddsmakedataset $output \
    -column=ElementName,type=string -data=[join $elementList ,] \
    -column=ElementParameter,type=string -data=[join $parameterList ,] \
    -column=ParameterValue,type=double -data=[join $valueList ,] \
    -column=ParameterValueString,type=string -data=[join $stringList ,]

