StormNET can model culvert and bridge structures along with roadway overflow quite easily.
Start by placing a detention pond at the headwater of the culvert and a junction at the tailwater of the culvert. Then, define a pipe (link) between the pond and the junction to represent the culvert flow. Also, define a second link as a open channel user-defined cross section between the upstream pond and the downstream junction (or from the pond to any downstream junction where the roadway overflow will flow to). This second link will be defined as open channel geometry representing the roadway geometry that acts as a weir for the road overflow. You need to be concerned with the offset defined for the roadway link so that it represents the roadway elevation. Finally, define the detention pond storage curve to represent the storage area that is available behind the culvert.
Alternatively, you can externally model the culvert using HEC-RAS, and then simply define an outlet structure (between the upstream and downstream junctions) with a corresponding discharge versus elevation rating curve that was determined from HEC-RAS.
Sincerely,
Chris E. Maeder, M.S., P.E.
Senior Technical Engineer
chris.maeder@bossintl.com