docs: def _read(self, directory, filename, session, path, name, extension, spatial, spatialReferenceID, replaceParamFile):
          """
          Storm Pipe Network File Read from File Method
          """
          # Set file extension property
          self.fileExtension = extension
  
          # Dictionary of keywords/cards and parse function names
          KEYWORDS = {'CONNECT': spc.connectChunk,
                      'SJUNC': spc.sjuncChunk,
                      'SLINK': spc.slinkChunk}
  
          sjuncs = []
          slinks = []
          connections = []
  
          # Parse file into chunks associated with keywords/cards
          with open(path, 'r') as f:
              chunks = pt.chunk(KEYWORDS, f)
  
          # Parse chunks associated with each key
          for key, chunkList in iteritems(chunks):
              # Parse each chunk in the chunk list
              for chunk in chunkList:
                  # Call chunk specific parsers for each chunk
                  result = KEYWORDS[key](key, chunk)
  
                  # Cases
                  if key == 'CONNECT':
                      connections.append(result)
                  elif key == 'SJUNC':
                      sjuncs.append(result)
                  elif key == 'SLINK':
                      slinks.append(result)
  
          # Create GSSHAPY objects
          self._createConnection(connections)
          self._createSjunc(sjuncs)
          self._createSlink(slinks)