<p>SEG-D is an uncommon format. From my experience, here is how you need to approach this problem. You can't easily jump straight from SEG-D to SU. I've had extensive experience with SU and the best methodology is to first take your current seismic data type (SEG-D) and convert to SEG-Y. Only after converting to SEG-Y format can you then jump to SU. </p>

<p>So, here is an outline and workflow of a solution:</p>

<blockquote>
  <p>1.) Download and use this tool for SEG-D to SEG-Y format: <a href="http://users.chariot.net.au/~witek/segd2segy.htm" rel="nofollow noreferrer">http://users.chariot.net.au/~witek/segd2segy.htm</a></p>
  
  <p>2.) Now that you have all your SEG-D data converted to SEG-Y data, use the following BASH  script to convert a single SEG-Y file to SU:</p>
</blockquote>



<pre><code>#!/bin/bash
echo Provide Input File: ;
read sdata;
segyread tape=<span class="math-container">${sdata} verbose=1 endian=0 segyclean &gt; $</span>{sdata}.su
echo "New File: ${sdata}.su";
rm -rf binary header;
echo Done.;
</code></pre>

<p>***Keep in mind that - based on the type of machine you have - endian may need to be set to 1.</p>

CC BY-SA 4.0
2018-11-15T14:52:57.233Z
2018-11-17T17:01:35.610Z
2018-11-17T17:01:35.610Z
nate
<p>for pipe, disk and fixed-block 8mm drives ,you need set param use_stdio=1</p>

<p>segdread tape=1.segd use_stdio=1 > 1.su</p>

CC BY-SA 4.0
2020-03-23T07:34:31.823Z
Are you sure? I don't know these programs, but it looks as `stdout` redirection to me.
peterh
CC BY-SA 4.0
2020-03-22T19:09:36.663Z
2020-03-22T19:09:36.663Z
runnan cai
<p>I tried to convert segd format to su format using seismic unix by below command:</p>

<pre><code>segdread tape=1.segd &gt; 1.su
</code></pre>

<p>but I have an error:</p>

<pre><code>segdread: Error with length of first record
    ... first record = 270320 bytes differs from ((1 + n_gh + n_str * (n_cs + n_sk) + n_ec + n_ex) * 32)
        with n_gh=2, n_str=1, n_cs=16, n_sk=0, n_ec=32, n_ex=32
</code></pre>

<p>I would be grateful if you could help me to fix it.</p>

<seismic>
converting segd data to SU format using seismic unix
Nora11
# converting segd data to SU format using seismic unix

(Asked by: username_0 on 2018-11-12)

I tried to convert segd format to su format using seismic unix by below command:

```
segdread tape=1.segd > 1.su

```

but I have an error:

```
segdread: Error with length of first record
    ... first record = 270320 bytes differs from ((1 + n_gh + n_str * (n_cs + n_sk) + n_ec + n_ex) * 32)
        with n_gh=2, n_str=1, n_cs=16, n_sk=0, n_ec=32, n_ex=32

```

I would be grateful if you could help me to fix it.

**Tags:** seismic


---

## 2 answers

### Answer by username_1 on 2018-11-15. Score: 2

SEG-D is an uncommon format. From my experience, here is how you need to approach this problem. You can't easily jump straight from SEG-D to SU. I've had extensive experience with SU and the best methodology is to first take your current seismic data type (SEG-D) and convert to SEG-Y. Only after converting to SEG-Y format can you then jump to SU.

So, here is an outline and workflow of a solution:

> 1.) Download and use this tool for SEG-D to SEG-Y format: <http://users.chariot.net.au/~witek/segd2segy.htm>
>
> 2.) Now that you have all your SEG-D data converted to SEG-Y data, use the following BASH script to convert a single SEG-Y file to SU:

```
#!/bin/bash
echo Provide Input File: ;
read sdata;
segyread tape=${sdata} verbose=1 endian=0 segyclean > ${sdata}.su
echo "New File: ${sdata}.su";
rm -rf binary header;
echo Done.;

```

\*\*\*Keep in mind that - based on the type of machine you have - endian may need to be set to 1.


---

### Answer by username_2 on 2020-03-22. Score: 1

for pipe, disk and fixed-block 8mm drives ,you need set param use\_stdio=1

segdread tape=1.segd use\_stdio=1 > 1.su

> **Comments:**
> **username_3**: Are you sure? I don't know these programs, but it looks as `stdout` redirection to me.  

---

