Tuesday, March 31, 2015

Civil BIM Hydrology

Civil BIM shouldn’t revolutionize hydrology and hydraulic, calculations but allow us to easily extract the information to calculate the values required to do the calculations. Any Civil BIM product should provide the flexibility to do the calculations as required by the local agency’s hydrology manual. For this post I’m using the LA County Hydrology Manual and the San Diego County Hydrology Manual for examples on how I would expect the work flow to work.

First the model would be created by actual civil objects. Curb and gutters, pavement, concrete swales, grass swales, vegetated swales, etc…. Each one of these objects would be able to have the ability to communicate with the objects around them and with themselves. For instance the pavement object would know where it’s grade breaks are and where that water is flowing to. Often times in the real world this curb and gutter (or any other type of object). The pavement would communicate to the curb and gutter what area of water flows to it, the C or CN values, plus any other objects that contributed flow to the pavement object. May be there is a cut slope and water flows from offsite to onsite and the pavement object would add the information to the pavement object and then onto the curb and gutter object.  The final output from this would be an exhibit showing me where the sheet flow occurs, where the channel flow occurs, and the like (including the arrows showing the flow).


At any time I would be able to put a catch basin into the model and capture water. The catch basin would have the ability to calculate how much water flows into it and how much flows past it or offsite. The calculations could be either the default software provider’s or a formula from a hydrology manual. Ideally we would also have the ability to include a nomograph for the ancient agencies that don’t have a formula related to the capacity of an inlet (or didn’t create one). The calculation output would be something like this showing the areas and where the water is coming from. Starting at Page 223 of the San Diego Hydrology manual provides some good examples on how the workflow should go for the calculations. Everyone’s calculations appear to differ slightly and any Civil BIM product should be flexible enough to do the local agency’s methods.


Any changes to the model would update the calculations. I wouldn’t expect it to happen real time, but the ability to hit a button to update the values. I don’t think we are at a point yet where there is either enough processing power on a desktop or the ability to spread the load of the calculations over a cloud deployment of software.

An additional topic on this would be the ability to do calculations for water quality reports that seem to be all of the rage. Each county, at least in California, appear to have different approaches to the calculations. Any water quality system should have the ability to enter the agency’s formulas and the output them to their preferred format, no matter how unnecessary it might be. This would be enterable in the form.

The focus on this tool shouldn’t be solely on a slick user interface, but a help system that conveys what the user options are and what they mean. Making it a black box without concern for letting the user know what is going on or the ability to change the method of calculations will quickly make it a tool unusable by most users due to agency requirements.

I think most important capability, which is missing in most hydrology programs, is to provide a flexible reporting tool to match what the plan checkers are looking for or the ability to easily create an output of the information into a file that other programs can read. Having done conversions from Civil 3D to HEC-RAS or WSPG this shouldn’t be too hard of a task to complete since it’s usually putting things in the correct location in the output.

Friday, March 13, 2015

Slope Stake Report Blues



For Each xlsShape As Excel.Shape In sheet.Shapes
' 972 is the approx width of the available space.
If xlsShape.Width > sheetWidth Then
= (sheetWidth - 2)
End If
Dim moveDistance As Single
= (sheetWidth - xlsShape.Width) / 2
= xlsShape.Top + 3
= moveDistance - firstColumnWidth






Blog Widget by LinkWithin