Using ICM Ruby Scripts to Import 2K SWMM5 Files to ICM
](https://www.linkedin.com/in/robertdickinson/)
Helping across the full stormwater spectrum: SWMM (50+ yrs), InfoSWMM/ESRI (20 yrs), InfoWorks ICM (15 yrs), & Autodesk AEC Collection (5 yrs) Grandpa (10 yrs)
December 6, 2025
This is a simple yet powerful article about the awesomeness of Ruby scripting in ICM InfoWorks. I now have thousands of SWMM5 models in ICM (something I wanted to do for years - but you know importing them one by one is not that much fun). Why do I want this? I want to be able to compare ICM InfoWorks to SWMM5 for a whole range of models and not the simple models we used to test SWMM4 and SWMM5.
How was this accomplished? At AWI or Autodesk Water we had a Ruby Hackathon a few months ago lead by our talented Water PM Nathan Gerdts, PE and we created a lot of useful Ruby code - you can see our GitHub for some of this code. In the Hackathon our stellar engineer for SSF Kate Maschmann, PE made a giant contribution to the software import capability. She use ICM Exchange to import ALL of the scenarios from InfoSWMM to an ICM SWMM Network which is much better than the one scenario at a time menu import in ICM. I was amazed at what she accomplished and used her code and applied it to SWMM5 and not InfoSWMM. As you know SWMM5 does not have scenarios so I changed the Ruby importer to find all inp files in a directory and import them to ICM SWMM. It works very fast and in a few minutes I had all of my GitHub SWMM5 models imported. The beauty of her code is not only is the network created but the model run and ancillary data.
The banner image shows what this looks like after it is imported and the five steps you take in Ruby to do the import. AWI is all for open source so you can get this code from out GitHub and see the readme files in markdown for the two Ruby Scripts. I will be using these 2K files for a lot of extended testing such as the Bill James Similarity Index which I have mentioned on LinkedIn,
The ruby code is in two files, one for the UI and one for Exchange (you need ICM Ultimate to run Exchange). You can see in Figure 1 a diagram of the UI code and in Figure 2 a diagram of the EX Code. The readme markdown files can be see on the Innovyze or Autodesk Water Infrastructure (AWI) GitHub for the UI Ruby and EX Ruby Code. A note on how the diagrams were made, I used DeepSeek to read the Ruby Code and create a Nano Banana Pro prompt and of course Nano for the diagram. The Markdown files were made with Claude Opus 4.5Figure 1 - Nano Banana Diagram of UI Ruby Code
Figure 1 - Nano Banana Diagram of UI Ruby Code
Figure 2 - Nano Banana Diagram of the Exchange Ruby Code