Version 0 of Running WEAP from Tcl with tcom

Updated 2007-07-13 22:38:36 by EKB

EKB WEAP 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 "Growth($GrowthRate%)"

    $weapobj LoadFavorite "Groundwater Storage"

    # Did user cancel?
    if {[$weapobj Status] eq "FALSE"} {
        break
    }

    $weapobj ExportResults "C:\\GWresults$GrowthRate.csv" FALSE TRUE
 }

Category Example | Category Windows | Category Science