Speeding things up with Segyio
[cmake] [GCC] [Python2] [Python3] [pip]
Seismic surveying generates a massive amount of data, which isn’t easily read without the proper software. When Research & Technology placed an order to Software Innovation in Bergen for a tool to make it easier to read and write seismic data, they got a lot more in return.
“The order was a standalone product that could write onto the data and to do this we would need a library that could make the data readable. But as we did our research, we couldn’t find any existing solutions that were good enough and we soon realized we had to create our own,” Jørgen Kvalsvik explains.
Because seismic surveys generate staggering amounts of data, you need the right software to be able to read and make sense of it. And to make sure they had the right tools, segyio was born.
While segyio might sound like a droid’s name, the explanation behind it is pretty simple: SEG-Y is the most common format for files containing seismic data and IO simply means “input output”. Simply put, it lets the user access massive amounts of data - and then read or write onto it.
“R&T had a tool available already, which was based on routines more than a decade old. Additionally, it had been coded in a language that made it very difficult to put into actual production and make it available to others,” he says.
Fancy a trip down memory lane? Then check out this 1950's video of the library component of EDSAC (Electronic Delay Storage Automatic Computer), the world’s first stored-program computer to operate a regular computing service:
faster than the previous tool
Contributing more than code
Kvalsvik emphasizes the opportunities that working open source brings. It’s more than just being a simpler way of distributing software or collaborating across offices, companies or even borders:
“People often forget that contributions are more than just code. Testing, user feedback and functionality requests are all incredibly valuable to the project. Qualified users going through the code and providing feedback means we get a better result in the end.”
One example was a user that requested functionality with xarray, an open source project and Python package. Unfortunately, the team behind segyio didn’t have the funding available to complete the task.
“Then, the user wrote a NetCDF conversion that we didn’t know of, which meant that we could use our library as something we hadn’t thought of. This is one of the great aspects of working in open source; our software can be used in entirely new ways.” Kvalsvik says.
Jørgen explains the biggest advantages to working open source.
Full steam ahead
The amount of users and contributors to the project isn’t the only thing that makes segyio a project still worth keeping an eye out for in the future. If you want, you can even have a go at the tool from within the Debian operating system - a stamp of approval in itself. Yet the work is far from over and they have a long list of things they would like to do but would require a sponsor.
“There is usability needs we don’t know of yet, that we know will appear, as well as new products we can create here that will mean segyio has to grow. Other than that it’s about maintaining the speed, usability and staying on top of technology in order to provide a product that people will want to use,” Kvalsvik says.
Jørgen talks about segyio's future and the challenges it may bring.
Want to stay updated on Loop?
Lars Petter Ø. Hauge
Kjell W. Kongsvik