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 the files are too large to email, please zip them and upload them here. If you upload the files to our Sharefile account via the previous hyperlink, please also submit a support request to let us know that the files are there.
- 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 September 4, 2020