4# --------------------------------------------------------------------------------------------
6# Auxiliary script to convert csv files from input-tables to input files.
8# --------------------------------------------------------------------------------------------
10if [ -z $JPP_DIR ]; then
11 echo "Variable JPP_DIR undefined."
15source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
20set_variable WORKDIR ${TMPDIR:-/tmp}
23 usage "$script <directory> <detector identifier>"\
24 "\nThe directory corresponds to the GIT repository \"calibration/input-tables\""
28 fatal "Wrong number of arguments."
34if [[ ! -d $DIR/data/${DETOID} ]]; then
35 fatal "No directory $DIR/data/${DETOID}"
49 if [[ -f $TRIPOD_CSV ]]; then
51 printf "# Data from %s\n" ${TRIPOD_CSV:t} > $TRIPOD_TXT
52 egrep -v "^#" $TRIPOD_CSV | tail -n +2 | tr ',' ' ' >> $TRIPOD_TXT
57# Create hydrophone file.
67 if [[ -f $HYDROPHONE_CSV ]]; then
69 egrep -v "^#" $HYDROPHONE_CSV | tail -n +2 | tr ',' ' ' > $WORKDIR/hydrophones.txt
71 printf "# Data from %s\n" ${HYDROPHONE_CSV:t} > $HYDROPHONE_TXT
73 while read -A BUFFER; do
75 set_variable STRING $BUFFER[1]
76 set_variable FLOOR $BUFFER[2]
77 set_variable X $BUFFER[3]
78 set_variable Y $BUFFER[4]
79 set_variable ANGLE_DEG $BUFFER[5]
80 set_variable Z $BUFFER[6]
85 let "CT = cos($ANGLE_DEG * $PI / 180.0)"
86 let "ST = sin($ANGLE_DEG * $PI / 180.0)"
88 let "X1 = $ST * $X0 + $CT * $Y0"
89 let "Y1 = $CT * $X0 - $ST * $Y0"
91 printf "%4d %2d %6.2f %6.2f %6.2f\n" $STRING $FLOOR $X1 $Y1 $Z >> $HYDROPHONE_TXT
93 done < $WORKDIR/hydrophones.txt
95 rm -f $WORKDIR/hydrophones.txt
100# Create transmitter file.
103# \param 2 output file
105function transmitter()
110 if [[ -f $TRANSMITTER_CSV ]]; then
112 egrep -v "^#" $TRANSMITTER_CSV | tail -n +2 | tr ',' ' ' > $WORKDIR/transmitters.txt
114 printf "# Data from %s\n" ${TRANSMITTER_CSV:t} > $TRANSMITTER_TXT
116 while read -A BUFFER; do
118 set_variable ID $BUFFER[1]
119 set_variable STRING $BUFFER[2]
120 set_variable FLOOR $BUFFER[3]
121 set_variable X $BUFFER[4]
122 set_variable Y $BUFFER[5]
123 set_variable ANGLE_DEG $BUFFER[6]
124 set_variable Z $BUFFER[7]
129 let "CT = cos($ANGLE_DEG * $PI / 180.0)"
130 let "ST = sin($ANGLE_DEG * $PI / 180.0)"
132 let "X1 = $ST * $X0 + $CT * $Y0"
133 let "Y1 = $CT * $X0 - $ST * $Y0"
135 printf "%2d %4d %2d %6.2f %6.2f %6.2f\n" $ID $STRING $FLOOR $X1 $Y1 $Z >> $TRANSMITTER_TXT
137 done < $WORKDIR/transmitters.txt
139 rm -f $WORKDIR/transmitters.txt
144# Create waveform file.
147# \param 2 output file
154 if [[ -f $WAVEFORM_CSV ]]; then
156 egrep -v "^#" $WAVEFORM_CSV | tail -n +2 | tr ',' ' ' > $WORKDIR/waveforms.txt
158 printf "# Data from %s\n" ${WAVEFORM_CSV:t} > $WAVEFORM_TXT
160 while read -A BUFFER; do
162 set_variable WAVEFORM_ID $BUFFER[1]
163 set_variable EMITTER_ID $BUFFER[2]
165 printf "%3d %3d\n" $WAVEFORM_ID $EMITTER_ID >> $WAVEFORM_TXT
167 done < $WORKDIR/waveforms.txt
169 rm -f $WORKDIR/waveforms.txt
174# Create mechanics file.
176# \param 1 detector identifier
177# \param 2 output file
183 if [[ $1 =~ ORC ]]; then
185 cat>$MECHANICS_TXT<<EOF
189 elif [[ $1 =~ ARC ]]; then
191 cat>$MECHANICS_TXT<<EOF
195 fatal "Invalid detector identifier $1."
200# Create sound velocity file.
202# \param 1 detector identifier
203# \param 2 output file
205function sound_velocity()
207 SOUND_VELOCITY_TXT=$2
209 if [[ $1 =~ ORC ]]; then
211 cat>$SOUND_VELOCITY_TXT<<EOF
2121538.00 -17e-3 -2000.00
214 elif [[ $1 =~ ARC ]]; then
216 cat>$SOUND_VELOCITY_TXT<<EOF
2171541.00 -17e-3 -2000.00
220 fatal "Invalid detector identifier $1."
225# Create disable file.
227# \param 1 detector identifier
228# \param 2 output file
234 cat>$DISABLE_TXT<<EOF
235#list of bad transmissions
240# Create trigger parameters file.
242# \param 1 detector identifier
243# \param 2 output file
245function trigger_parameters()
247 TRIGGER_PARAMETERS_TXT=$2
249 cat>$TRIGGER_PARAMETERS_TXT<<EOF
257# Create fit parameters file.
259# \param 1 detector identifier
260# \param 2 output file
262function fit_parameters()
264 FIT_PARAMETERS_TXT=$2
266 cat>$FIT_PARAMETERS_TXT<<EOF
277tripod $DIR/data/${DETOID}/${DETOID}_tripods.csv tripod.txt
278hydrophone $DIR/data/${DETOID}/${DETOID}_hydrophones.csv hydrophone.txt
279transmitter $DIR/data/${DETOID}/${DETOID}_transmitters.csv transmitter.txt
280waveform $DIR/data/${DETOID}/${DETOID}_waveforms.csv waveform.txt
281mechanics ${DETOID} mechanics.txt
282sound_velocity ${DETOID} sound_velocity.txt
283disable ${DETOID} disable.txt
284trigger_parameters ${DETOID} acoustics_trigger_parameters.txt
285fit_parameters ${DETOID} acoustics_fit_parameters.txt