docs: def _createStructure(self, linkResult, replaceParamFile):
          """
          Create GSSHAPY Structure Objects Method
          """
          # Constants
          WEIRS = ('WEIR', 'SAG_WEIR')
  
          CULVERTS = ('ROUND_CULVERT', 'RECT_CULVERT')
  
          CURVES = ('RATING_CURVE', 'SCHEDULED_RELEASE', 'RULE_CURVE')
  
          header = linkResult['header']
  
          # Initialize GSSHAPY StreamLink object
          link = StreamLink(linkNumber=header['link'],
                            type=linkResult['type'],
                            numElements=header['numstructs'])
  
          # Associate StreamLink with ChannelInputFile
          link.channelInputFile = self
  
          # Create Structure objects
          for s in linkResult['structures']:
              structType = s['structtype']
  
              # Cases
              if structType in WEIRS:
                  # Weir type handler
                  # Initialize GSSHAPY Weir object
                  weir = Weir(type=structType,
                              crestLength=vrp(s['crest_length'], replaceParamFile),
                              crestLowElevation=vrp(s['crest_low_elev'], replaceParamFile),
                              dischargeCoeffForward=vrp(s['discharge_coeff_forward'], replaceParamFile),
                              dischargeCoeffReverse=vrp(s['discharge_coeff_reverse'], replaceParamFile),
                              crestLowLocation=vrp(s['crest_low_loc'], replaceParamFile),
                              steepSlope=vrp(s['steep_slope'], replaceParamFile),
                              shallowSlope=vrp(s['shallow_slope'], replaceParamFile))
  
                  # Associate Weir with StreamLink
                  weir.streamLink = link
  
              elif structType in CULVERTS:
                  # Culvert type handler
                  # Initialize GSSHAPY Culvert object
                  culvert = Culvert(type=structType,
                                    upstreamInvert=vrp(s['upinvert'], replaceParamFile),
                                    downstreamInvert=vrp(s['downinvert'], replaceParamFile),
                                    inletDischargeCoeff=vrp(s['inlet_disch_coeff'], replaceParamFile),
                                    reverseFlowDischargeCoeff=vrp(s['rev_flow_disch_coeff'], replaceParamFile),
                                    slope=vrp(s['slope'], replaceParamFile),
                                    length=vrp(s['length'], replaceParamFile),
                                    roughness=vrp(s['rough_coeff'], replaceParamFile),
                                    diameter=vrp(s['diameter'], replaceParamFile),
                                    width=vrp(s['width'], replaceParamFile),
                                    height=vrp(s['height'], replaceParamFile))
  
                  # Associate Culvert with StreamLink
                  culvert.streamLink = link
  
              elif structType in CURVES:
                  # Curve type handler
                  pass
  
          return link