.DAT files (SEG2/SEGD) conversion into .SU - Header issue

Hi everyone,
and thanks for the help forum here.

  1. Issue:
    I am writing to you because I face an issue when trying to open some .DAT file with the picking software Sardine.exe. I think that the .DAT files are .SEG2/.SEGD format, generated by a Geometrics Smartseis.
    The .DAT files are not readable by sardine.exe because of a bad data format I think. The line np.require(tr_seg2.data, dtype=np.float32) solves this, but then I can’t save the data again into .SEG2 with obspy.

2: Possible solution:
Anyway, my attempt is to read those .DAT files with obspy (which works very well) and convert them into another readable format.
.SU appears the be the only candidate for my Sardine.exe software, because saving .SEG2 is not possible with obspy.

When I convert from SEG2 → SU, I have to read the SEG2 header fields (tr_seg2.stats.seg2) and copy the relevant fields into the SU header (tr_su.stats.su.trace_header).

  1. New issue:
    This was almost 100% working, BUT I face an issue when filling the source_coordinate and group_coordinate fields, because they only accept integers… And my positions on the field often have decimal spacing (e.g. some shots coordinates at least).

I am pretty stuck here for a few days with this…
I also tried different things (like saving .SEGY files) but they cant be read by my picking software.

I attach my code and one example file, if this makes things clearer for you.
If anyone has a suggestion here, that would be much welcome!! :slightly_smiling_face:

(this issue might have some common points with topics #2022 or #2634 on github, I think)