EKB WEAP (
http://www.weap21.org/) is the Water Evaluation and Planning system from the Stockholm Environment Institute (SEI, web site:
http://www.sei.se). It's a commercial package, but is free for people in developing country institutions. I've been working with it (because I work at SEI!) and have been thinking about how to run WEAP from Tcl/Tk for various purposes. WEAP can act as a COM server, so
tcom seemed like a good choice.
For anyone else who might want to play with this, here's the example from the WEAP API help translated from VBScript into Tcl:
package require tcom
set weapobj [::tcom::ref createobject "WEAP.WEAPApplication"]
$weapobj Verbose 1
$weapobj Logfile [file join [$weapobj Directory] "WeapErrors.txt"]
$weapobj ActiveArea "Weaping River Basin"
$weapobj ActiveScenario "Supply Measures"
for {set GrowthRate 0} {$GrowthRate < 6} {incr GrowthRate} {
set varobj [$weapobj BranchVariable {\Demand Sites\South City:Annual Activity Level}]
$varobj Expression FALSE "Growth($GrowthRate%)"
$weapobj LoadFavorite "Groundwater Storage"
# Did user cancel?
if {[$weapobj Status] eq "FALSE"} {
break
}
$weapobj ExportResults "C:\\GWresults$GrowthRate.csv" FALSE TRUE
}