public Routing_Data(string pfsname)
    {
      _pfsHandle = new PFSSection(pfsname);

      Location = new Location("Location");
      _pfsHandle.AddKeyword(Location._keyword);
      Attributes = new Attributes("Attributes");
      _pfsHandle.AddKeyword(Attributes._keyword);
      Elevation_Parameters = new Elevation_Parameters("Elevation_Parameters" );
      _pfsHandle.AddSection(Elevation_Parameters._pfsHandle);

      Discharge_Parameters = new Discharge_Parameters("Discharge_Parameters" );
      _pfsHandle.AddSection(Discharge_Parameters._pfsHandle);

    }
    internal Routing_Data(PFSSection Section)
    {
      _pfsHandle = Section;

      for (int i = 1; i <= Section.GetSectionsNo(); i++)
      {
        PFSSection sub = Section.GetSection(i);
        switch (sub.Name)
        {
        case "Elevation_Parameters":
          Elevation_Parameters = new Elevation_Parameters(sub);
          break;
        case "Discharge_Parameters":
          Discharge_Parameters = new Discharge_Parameters(sub);
          break;
          default:
            _unMappedSections.Add(sub.Name);
          break;
        }
      }

      Location = new Location(_pfsHandle.GetKeyword("Location", 1));
      Attributes = new Attributes(_pfsHandle.GetKeyword("Attributes", 1));
    }