inseis_source_wavelet.c 1.87 KB
Newer Older
Tilman Steinweg's avatar
Tilman Steinweg committed
1
/*-----------------------------------------------------------------------------------------
Florian Wittkamp's avatar
Florian Wittkamp committed
2
 * Copyright (C) 2016  For the list of authors, see file AUTHORS.
Tilman Steinweg's avatar
Tilman Steinweg committed
3
 *
Florian Wittkamp's avatar
Florian Wittkamp committed
4
 * This file is part of IFOS.
Tilman Steinweg's avatar
Tilman Steinweg committed
5
 * 
Florian Wittkamp's avatar
Florian Wittkamp committed
6
 * IFOS is free software: you can redistribute it and/or modify
Tilman Steinweg's avatar
Tilman Steinweg committed
7
8
9
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, version 2.0 of the License only.
 * 
Florian Wittkamp's avatar
Florian Wittkamp committed
10
 * IFOS is distributed in the hope that it will be useful,
Tilman Steinweg's avatar
Tilman Steinweg committed
11
12
13
14
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
Florian Wittkamp's avatar
Florian Wittkamp committed
16
 * along with IFOS. See file COPYING and/or <http://www.gnu.org/licenses/gpl-2.0.html>.
Tilman Steinweg's avatar
Tilman Steinweg committed
17
18
19
20
21
22
23
24
-----------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------
 *   Read source wavelet in su format                                  
 *  ----------------------------------------------------------------------*/
#include "fd.h"
#include "segy.h"

Florian Wittkamp's avatar
Florian Wittkamp committed
25
void  inseis_source_wavelet(float *section, int ns, int ishot, int SH){
Tilman Steinweg's avatar
Tilman Steinweg committed
26
27
28
29

	/* declaration of extern variables */
	extern int MYID;
	extern char SIGNAL_FILE[STRING_SIZE];
Florian Wittkamp's avatar
Florian Wittkamp committed
30
    extern char SIGNAL_FILE_SH[STRING_SIZE];
31
32
33
34
	/* declaration of local variables */
	int j;
	float dump;
	segy tr;
Tilman Steinweg's avatar
Tilman Steinweg committed
35
	char data[STRING_SIZE];
Florian Wittkamp's avatar
Florian Wittkamp committed
36
37
38
    FILE *fpdata;
    
    if(SH==0) {
39
        sprintf(data,"%s.shot%d.su",SIGNAL_FILE,ishot);
Florian Wittkamp's avatar
Florian Wittkamp committed
40
    } else {
41
        sprintf(data,"%s.shot%d.su",SIGNAL_FILE_SH,ishot);
Florian Wittkamp's avatar
Florian Wittkamp committed
42
43
    }
    
Tilman Steinweg's avatar
Tilman Steinweg committed
44
	fpdata = fopen(data,"r");
Florian Wittkamp's avatar
Florian Wittkamp committed
45
	if (fpdata==NULL) declare_error(" Source wavelet not found ");
Tilman Steinweg's avatar
Tilman Steinweg committed
46
47
48
49
50
51
52
53
54
55
56
57

	/* SEGY (without file-header) */
	fread(&tr,240,1,fpdata);
	fread(&tr.data,4,ns,fpdata);
			
	for(j=0;j<ns;j++){
	    dump=tr.data[j];
	    section[j+1]=dump;
	}
			  
	fclose(fpdata);
}