Surfer version 11 and above opens SRF files created in Surfer 7 and above. Surfer files created in versions 6 and prior are no longer supported and cannot be opened. If you attempt to open a Surfer 6 (or older) SRF file in Surfer 11 (or newer), you will get the following error:
Surfer 5 and 6 SRF files are no longer supported by Surfer. To convert this file to a format that can be read, please open and resave it in either Surfer 7, 8, 9 or 10. For more information, please contact firstname.lastname@example.org.
- If you do not have a version of Surfer that can open the files, submit a support request containing the SRF files and any data files they use, and we will send you back the converted files.
- If you have a version of Surfer that can open the file type, use the script below:
- Copy the script below from Sub Main to End Sub.
- Open Scripter and press CTRL+V on your keyboard to paste the script.
- Change the line Shell "C:\Program Files\Golden Software\Surfer\Surfer.exe" so the version is the correct version.
- Change the line: Directory = file_directory = "C:\Temp\" to the desired directory that contains your SRF files.
- Click the Script | Run command. The new SRF files are created in the same directory with _S10 appended to the file names. These files can be opened in the current version of Surfer.
Sub Main 'Clears all messages currently in the Immediate pane Debug.Clear '================================== ' User Variables '================================== file_extension = "srf" file_directory = "C:\temp\" '================================== 'Verifies file_extension has no period and file_directory ends in a back slash file_extension = LCase(Right(file_extension,(Len(file_extension) - InStrRev(file_extension,".")))) If Len(file_directory)-InStrRev(file_directory,"\") <> 0 Then file_directory = file_directory + "\" 'Open Surfer 10 and use that instance to run the script Shell "C:\Program Files\Golden Software\Surfer 10\Surfer.exe" Dim SurferApp As Object Set SurferApp = GetObject(,"Surfer.Application") SurferApp.Visible = True 'Defines the types of files in the chosen directory to loop through. 'Directs the script to a specific error message if no files exist in the directory. srf_file = Dir( file_directory + "*." + file_extension) On Error GoTo FileError 'Loops through all of the SRF files in the chosen directory While srf_file <> "" 'Defines the name of the converted file that will be saved out_file = file_directory + left(srf_file, Len(srf_file)-(Len(srf_file)-InStrRev(srf_file,".")+1) ) + "_S10.srf" 'Opens the SRF file in a plot document Dim Plot As Object Set Plot = SurferApp.Documents.Open(file_directory + srf_file) 'Saves the SRF file to the Surfer 10 file format Plot.SaveAs(out_file) 'Prints the name of the file that was just converted Debug.Print srf_file 'Gets the next SRF file in the directory srf_file = Dir() Wend 'Closes Surfer SurferApp.Quit Exit Sub 'Print a meaningful error message for each file that did not grid correctly FileError: Debug.Print "Error: " + srf_file + " " + Err.Description Resume Next End Sub
Updated November 2021