Hey all HEC-RAS Controllers-

Unfortunately I don't have experience using R (yet). So I'm opening this up to the HECRASController community out there for assistance. The following is Mr. Ferguson's call for help and collaboration regarding automating HEC-RAS using R. Please comment below and respond directly to Mr. Ferguson if you wish to share ideas.
The HEC RAS Controller has been used in
several different environments (VBA, Matlab etc.) and I am trying to establish
how to get it working in R. From what I can find online, there have already
been several attempts and would really appreciate any advice or collaboration.
So far I have followed a similar process to
‘Toby’ in this post
on the online HEC RAS Controller help forum. The process relies on an R package
called R-DCOMClient. A slight difference in my script is to construct the
variable ‘strMessages’ as an empty character matrix;
-------
strMessages<-matrix(character())
--------
which appears to satisfy the data type
required by the underlying COM method (Compute_CurrentPlan).
However, I’ve then found another error stemming
from R-DCOMClient requiring a related R package called ‘R-DCOMServer’. Unfortunately,
as far as I’m aware, this package and its prerequisites are no longer available
(also, for separate reasons, I need to use an R version no older than
3.1.). This means I’ve hit a dead-end.
I am wondering whether anyone has found a
way past this problem OR has found an entirely different solution for running
controller in R?
Any advice or offers to collaborate would
be welcome!
I am happy to see other HEC-RAS R users!
ReplyDeleteI have not tried using the controller from R but I would be interested to know if there is a solution to this problem.
I have written R scripts to do things like rewrite parts of geometry files and access the hdf files to retrieve results.
Looking forward to some discussion on this topic.
I have done many things successfully in MatLab with this book. I have done a few plotting and GIS analyses of RAS output with R. I’m certain more can be done, but I haven’t dug into it substantially yet. I’m very interested in having some R packages for RAS developed.
ReplyDeleteThis doesn't quite work yet. But perhaps others can help this along. Maybe we build a temp vbs script to run the plan?
ReplyDeletestrRASProject = "C:\\Users\\m.modeler\\Documents\\HEC_RAS_EXAMPLES\\Example Projects\\1D Unsteady Flow Hydraulics\\Balde Eagle Creek\\BaldEagle.prj"
comName<-"RAS503.HECRASController"
pathofvbscript = paste0(getwd(),"\\runRAS.vbs")
sink(pathofvbscript)
cat("Dim HRC As New ",comName, "\n", sep="")
cat("Dim strRASProject As String\n")
cat('strRASProject = "',strRASProject,'"\n', sep="")
cat("HRC.Project_Open strRASProject\n")
cat("Dim lngMessages As Long\n")
cat("Dim strMessages() As String\n")
cat("HRC.Compute_CurrentPlan lngMessages, strMessages\n")
cat("HRC.QuitRas")
sink()
shell(shQuote(normalizePath(pathofvbscript)), "cscript", flag = "//nologo")
file.remove(pathofvbscript)