@@ -31,6 +31,7 @@ Public MustInherit Class TimeSeriesFile
3131 BIN
3232 CSV
3333 DFS0
34+ FEWS_PI
3435 GBL
3536 GISMO_WEL
3637 HYBNAT_BCS
@@ -83,6 +84,7 @@ Public MustInherit Class TimeSeriesFile
8384 Public Shared ReadOnly WBL As String = ".WBL" 'SYDRO binary WEL format
8485 Public Shared ReadOnly WEL As String = ".WEL"
8586 Public Shared ReadOnly WVP As String = ".WVP" 'Wave project file
87+ Public Shared ReadOnly XML As String = ".XML"
8688 Public Shared ReadOnly ZRE As String = ".ZRE"
8789 Public Shared ReadOnly ZRX As String = ".ZRX" 'ZRXP format
8890 Public Shared ReadOnly ZRXP As String = ".ZRXP" 'ZRXP format
@@ -112,6 +114,7 @@ Public MustInherit Class TimeSeriesFile
112114 "UVF files (*.uvf)|*.uvf|" &
113115 "WEL files (*.wel, *.kwl)|*.wel;*.kwl|" &
114116 "Wave project files (*.wvp)|*.wvp|" &
117+ "XML files (*.xml)|*.xml|" &
115118 "ZRE files (*.zre)|*.zre|" &
116119 "ZRXP files (*.zrx, *.zrxp)|*.zrx;*.zrxp"
117120
@@ -556,6 +559,8 @@ Public MustInherit Class TimeSeriesFile
556559 Return FileExtensions.CSV
557560 Case FileTypes.DFS0
558561 Return FileExtensions.DFS0
562+ Case FileTypes.FEWS_PI
563+ Return FileExtensions.XML
559564 Case FileTypes.GBL
560565 Return FileExtensions.GBL
561566 Case FileTypes.GISMO_WEL
@@ -614,6 +619,7 @@ Public MustInherit Class TimeSeriesFile
614619 Select Case type
615620 Case TimeSeriesFile.FileTypes.CSV,
616621 TimeSeriesFile.FileTypes.DFS0,
622+ TimeSeriesFile.FileTypes.FEWS_PI,
617623 TimeSeriesFile.FileTypes.SWMM_INTERFACE,
618624 TimeSeriesFile.FileTypes.HYBNAT_BCS
619625 'TODO: ZRXP does actually also support multiple series, but for simplicity's sake, we assume that it doesn't
@@ -812,6 +818,14 @@ Public MustInherit Class TimeSeriesFile
812818 Log.AddLogEntry(levels.info, $"Assuming Wave project file format for file {fileName}." )
813819 fileType = FileTypes.WVP
814820
821+ Case FileExtensions.XML
822+ 'Check file format
823+ If Fileformats.FEWS_PI.verifyFormat(file) Then
824+ 'FEWS PI XML file
825+ Log.AddLogEntry(levels.info, $"Detected FEWS PI XML format for file {fileName}." )
826+ fileType = FileTypes.FEWS_PI
827+ End If
828+
815829 Case FileExtensions.ZRE
816830 Log.AddLogEntry(levels.info, $"Assuming ZRE format for file {fileName}." )
817831 fileType = FileTypes.ZRE
@@ -906,6 +920,8 @@ Public MustInherit Class TimeSeriesFile
906920 FileInstance = New Fileformats.WEL(file)
907921 Case FileTypes.WVP
908922 Throw New Exception( "Wave project files (WVP) need to be loaded using `Wave.Import_File()` or `Wave.Load_WVP()`!" )
923+ Case FileTypes.FEWS_PI
924+ FileInstance = New Fileformats.FEWS_PI(file)
909925 Case FileTypes.ZRE
910926 FileInstance = New Fileformats.ZRE(file)
911927 Case FileTypes.ZRXP
0 commit comments