All Forums

Variable for orifice height


I want to include a variable to the orifice height of my network and I tried to implement this through the source codes of SWMM 5.0. I am looking a particular function to do this. 

Please look at the following example.


Manning´s roughness coefficient for the pervious areas of the subcatchments. (referring "subcatch.c")
     Subcatch[j].subArea[PERV].N    = x[1];

I believe x[1] is for the Manning's coefficient. Likewise what would be the function which can be used have the height of the orifice?


Thanks a lot.


You need to be a member of SWMM 5 or SWMM or EPASWMM - (not formally associated with EPA) to add comments!

Join SWMM 5 or SWMM or EPASWMM - (not formally associated with EPA)

Email me when people reply –


  • Thank you very much. I will look XSECTION in detail. Thanks again.
  • The orifice height is not in link.c - the orifice height is read in the XSECTION section and is the same variable as the diameter of a circular link or the height of a rectangular link depending on the type of orifice.  

    If you want to set the height then you need to set the height in XSECTION.  Here is how SWMM 5 exports the Orifice Height in the Delphi GUI Code - it is the 3rd parameter of the line


    with Project.Lists[ORIFICE] do   

    for I := 0 to Count-1 do   

    begin      L := TLink(Objects[I]);     

    Line := Format('%-16s', [Strings[I]]);     

    Line := Line + Tab + Format('%-12s', [L.Data[ORIFICE_SHAPE_INDEX]]);     

    Line := Line + Tab + Format('%-16s', [L.Data[ORIFICE_HEIGHT_INDEX]]);     

    if SameText(L.Data[ORIFICE_SHAPE_INDEX], 'CIRCULAR') then       

    Line := Line + Tab + '0         '     

    else        Line := Line + Tab + Format('%-10s', [L.Data[ORIFICE_WIDTH_INDEX]]);     

    Line := Line + Tab + '0         ' + Tab + '0';     



  • I am sorry, I think I didn't really explain the things. I just took an example for a subcatchment and showed the function. Likewise, I need to include a variable to the orifice height. 


    Let me explain the things like this. I have a sewer network and I wanted to control optimally the sewer network. To do that, I am controlling the orifice heights. The optimization module that I am using is dealt with the genetic algorithms and I wanted to keep this orifice height as a variable, which is going to be decided by the optimization module. 


    There, I wanted to find a function which represent the orifice height and then I can include a variable to this height. I have gone through "link.c" but couldn't understand a correct function.


    Hope you understood it now. I've just used the manning's coeffcient in the above text to explain this and no relevance to the work that I am doing.


  • I am not sure what you are trying to model here.   Do you want to have an orifice in your subcatchment? You can also send the runoff from the subcatchment to a node connected to an orifice so that the orifice controls the flow.  


    Yes, x[1] is the Manning's coefficient for the Subcatchment.

This reply was deleted.