#! /bin/csh
#
#                           egbert (tranmt) batch

# read setting from control file
set cf_mtbatch = $1
batch/read_cf_setting.awk $cf_mtbatch > setting.csh
source setting.csh
#cat setting.csh
#rm setting.csh
echo " " 

# loop over stations
@ i=1
@ k=1
@ l=1
@ m=1 + $arraynum_offset

set min = 0

while ($i<100)
	    
    # read files from control file $cf_mtbatch
    set start_line = `batch/get_start_line.awk $cf_mtbatch`
    @ recnum = $start_line + $i
    echo $recnum      > stations.tmp
    cat <$cf_mtbatch >> stations.tmp 
    batch/read_cf_files.awk stations.tmp >files.csh
    source files.csh
    rm files.csh

    @ lmax= $#arraysizes + $arraynum_offset
    if ($site == "") then
	if ($i == 1) then
	    echo error reading control file
	    echo " "
	    exit(1)
	else if ($multmtrn == n && !($what == zmm && ($edi == y || $plot == y))) then
	    exit(0)
	else if ($m > $lmax) then
	    exit(0)
	else if ($m <= $lmax) then
	    @ i++
	    continue
	endif
    endif
    if ($multmtrn == y) then
       batch/read_cf_weights.awk stations.tmp >weights.csh
       source weights.csh
#       cat weights.csh
       rm weights.csh 
    endif
    rm stations.tmp

    # loop over runs
    @ j=1
    while ($j <= $#runnum)
   	   
	if ($mtuasc == y) then	
	    echo $site$runnum[$j].tbl >TBLfil.dat
	    echo $mtupath >>TBLfil.dat
	    echo $ascpath >>TBLfil.dat	    
	    echo $site$runnum[$j] : mtu-asc ...
	    mtu-asc >log/log.mtu-asc_$site$runnum[$j]
	    # mtu-bin >log/log.mtu-bin_$site$runnum[$j]
	    if (-e $mtupath/$site$runnum[$j].txt) \
		cp $mtupath/$site$runnum[$j].txt $ascpath/$site$runnum[$j].txt
	    if (-e $mtupath/$site$runnum[$j].cts) \
		cp $mtupath/$site$runnum[$j].cts $ascpath/$site$runnum[$j].cts
	    #if (-e $mtupath/$site$runnum[$j]r.cts) \
	    #	cp $mtupath/$site$runnum[$j]r.cts $ascpath/$site$runnum[$j]r.cts

            # Below: obsolete -- gaps recognised by dnff (4th line of clk file)
	    # align data for remote reference 
            # -- to assign fully appropriate set numbers in dnff would be to complex
	    # of course, hsmp and l3/4ns have to be identical at both stations
            # run at site2 has to start later (or at the same time).
	    #if ($remote == y) then
	    #	@ ifr=3
	    #    while ($ifr <= 4)
	    #	    set hsmp = 1
	    #	    if ($ifr == 3) then
	    #	    	set lns = 2
	    #	    else if ($ifr == 4) then
	    #	    	set lns = 16
	    #	    endif
	    #	    echo $site$runnum[$j]_$ifr : aligning with $site2$runnum[1] for remote reference "->" $site$runnum[$j]\r_$ifr ...
	    #	    batch/align_rem_asc.awk -v hsmp=$hsmp -v lns=$lns \
            #                                $ascpath/$site$runnum[$j]_$ifr.hdr \
            #                                $ascpath/$site2$runnum2[1]_$ifr.hdr $ascpath/$site$runnum[$j]_$ifr.asc \ 
            #                                   > $ascpath/$site$runnum[$j]\r_$ifr.asc
	    #	    set wc_asc = `wc $ascpath/$site$runnum[$j]\r_$ifr.asc`
            #       if ($wc_asc[1] == 0) then
	    #	        rm $ascpath/$site$runnum[$j]\r_$ifr.asc
	    #		echo $site$runnum[$j]\r_$ifr.asc not created -- $site2$runnum2[1] obviously does not start later
	    #		break
	    #	    else
	    #		cp $ascpath/$site2$runnum2[1]_$ifr.hdr $ascpath/$site$runnum[$j]\r_$ifr.hdr
	    #		# PlotTBL and Syscalaj output (*.txt and *.cts)
	    #		if (-e $ascpath/$site$runnum[$j]\r.txt) rm $ascpath/$site$runnum[$j]\r.txt
	    #		if (-e $ascpath/$site$runnum[$j]\r.cts) rm $ascpath/$site$runnum[$j]\r.cts
	    #		ln -s $ascpath/$site$runnum[$j].txt $ascpath/$site$runnum[$j]\r.txt
	    #		ln -s $ascpath/$site$runnum[$j].cts $ascpath/$site$runnum[$j]\r.cts
	    #		# continuous run (24Hz) doesn't have to be aligned -> links
	    #		if (-e $ascpath/$site$runnum[$j]\r_5.hdr) rm $ascpath/$site$runnum[$j]\r_5.hdr
	    #		if (-e $ascpath/$site$runnum[$j]\r_5.asc) rm $ascpath/$site$runnum[$j]\r_5.asc
	    #		ln -s $ascpath/$site$runnum[$j]_5.hdr $ascpath/$site$runnum[$j]\r_5.hdr
	    #		ln -s $ascpath/$site$runnum[$j]_5.asc $ascpath/$site$runnum[$j]\r_5.asc
	    #	    endif
	    #	    @ ifr++
	    #    end
	    #endif
	    if ($asczip1 == y) then
		@ ifr=1
		while ($ifr <= 5)
		    set  do_freq = `gawk -v freqs=$freqs -v f=$ifr 'BEGIN{if (match(freqs,f)){print "y"}else{print "n"}}'`

		    if ($do_freq == y) then
			if (-e $ascpath/$site$runnum[$j]_$ifr.asc.gz) \
                            rm $ascpath/$site$runnum[$j]_$ifr.asc.gz
			echo $site$runnum[$j]_$ifr : gzip asc ...
			gzip $ascpath/$site$runnum[$j]_$ifr.asc
			#if (-e $ascpath/$site$runnum[$j]\r_$ifr.asc.gz) \
                        #    rm $ascpath/$site$runnum[$j]\r_$ifr.asc.gz
			#    if ($remote == y && -e $ascpath/$site/$runnum[$j]\r_$irf.asc) then
			#    echo $site$runnum[$j]\r_$ifr : gzip asc ...
			#    gzip $ascpath/$site$runnum[$j]\r_$ifr.asc
			#endif
		    endif
		    @ ifr++
		end
	    endif
	    echo " "

	endif
       
	# frequencies to be treated
	@ ifr=1
	while ($ifr <= 5)
		
	    set  do_freq = `gawk -v freqs=$freqs -v f=$ifr 'BEGIN{if (match(freqs,f)){print "y"}else{print "n"}}'`

	    if ($do_freq == y) then

		if ($fourier == y) then
		    
		    # create station.clk file
		    cat < $ascpath/$site$runnum[$j]_$ifr.hdr > station.clk
		    if ($read_clk == n) then
			gawk '{if (FNR==2) print " ",$1, $2, $3,"0 0 0"}' $ascpath/$site$runnum[$j]_$ifr.hdr >> station.clk
		    else if ($read_clk == y) then
			cat < $clkfile >> station.clk
		    endif

		    # read cts and txt file
		    batch/read_sp_setting.awk -v ifr=$ifr station.clk $ascpath/$site$runnum[$j].txt \
                                               > sp_setting.csh
		    source sp_setting.csh

		    # create station.clk cont'd
		    if ($fs == 320 || $fs == 384 || $fs == 2560 || $fs == 3072) then
			echo $lns $hsmp >> station.clk
		    endif
		    cat < station.clk > $ascpath/$site$runnum[$j]_$ifr.clk

		    # create *.sp file
		    echo $site                              > $ascpath/$site$runnum[$j]_$ifr.sp
		    echo $lat $lon $elev                   >> $ascpath/$site$runnum[$j]_$ifr.sp

		    # calculate declination from igrf and coordinates
		    set lon = `gawk -v lon=$lon 'BEGIN{if(lon>180){lon=lon-360};print lon}'`
		    echo $date $lat $lon
		    geomag32 '/localdisk/mju/TS/src/EMTF/geomag/igrf' 2004.0 D K0.00 $lat $lon > declination.dat
		    echo `batch/get_declination.awk declination.dat` >> $ascpath/$site$runnum[$j]_$ifr.sp

		    echo $nch                              >> $ascpath/$site$runnum[$j]_$ifr.sp
		    echo $dt                               >> $ascpath/$site$runnum[$j]_$ifr.sp
		    echo "0. 0."                           >> $ascpath/$site$runnum[$j]_$ifr.sp
		    @ ich=1
		    while ($ich <= 5)
			if ($chnm[$ich] > 0) then
			    echo $chid[$ich]               >> $ascpath/$site$runnum[$j]_$ifr.sp
			    echo $comp_config[$ich]        >> $ascpath/$site$runnum[$j]_$ifr.sp
			    echo $count_conv[$ich]   " 1"  >> $ascpath/$site$runnum[$j]_$ifr.sp
			    echo "RI"                      >> $ascpath/$site$runnum[$j]_$ifr.sp
#			    if ($nch <= 3) then
#				batch/get_system_response.awk -v ich=$chnm[$ich] $ascpath/am01j21.cts \
#                                       > sensors/$site$runnum[$j]_$chnm[$ich].cts
				batch/get_system_response.awk -v ich=$chnm[$ich] $ascpath/$site$runnum[$j].cts \
                                       > sensors/$site$runnum[$j]_$chnm[$ich].cts
#			    else
#				batch/get_system_response_rel.awk -v ich=$chnm[$ich] $ascpath/$site$runnum[$j].cts \
#                                       > sensors/$site$runnum[$j]_$chnm[$ich].cts
#			    endif
			    echo $site$runnum[$j]_$chnm[$ich].cts >> $ascpath/$site$runnum[$j]_$ifr.sp
			endif
       		        @ ich++     
		    end

		    # echo $fs
		    cd options
		    # links to cf_decset
		    rm -f cf_decset cf_pwset

		    ln -sf cf_decset_$ifr cf_decset
		    if (($ifr == 3 || $ifr == 4) && $nch == 5) then
			ln -sf cf_pwset_34 cf_pwset
		    else if (($ifr == 3 || $ifr == 4) && $nch == 2) then
			ln -sf cf_pwset_34_2 cf_pwset
		    else if ($ifr == 5 && $nch == 5) then
			ln -sf cf_pwset_5 cf_pwset
		    else if ($ifr == 5 && $nch == 2) then
			ln -sf cf_pwset_5_2 cf_pwset
		    endif 
		    cd ..
	
		    # overwrite control file paths.cfg
		    echo $ascpath  > paths.cfg
		    echo $ascpath >> paths.cfg
		    echo $badpath >> paths.cfg
		    echo ./options/cf_decset >> paths.cfg
		    echo ./options/cf_pwset  >> paths.cfg
		    echo $fftpath >> paths.cfg
	    
		    # dnff
		    echo $site$runnum[$j]_$ifr.asc >dnff_opt
		    echo n >>dnff_opt
		    if (-e $fftpath/$site$runnum[$j]_$ifr.f$nch) rm $fftpath/$site$runnum[$j]_$ifr.f$nch

		    if (-e $ascpath/$site$runnum[$j]_$ifr.asc.gz) then
			echo $site$runnum[$j]_$ifr : gunzip asc ...
			gunzip $ascpath/$site$runnum[$j]_$ifr.asc.gz
		    endif

		    echo $site$runnum[$j]_$ifr : dnff ...

		    dnff -a <dnff_opt >log/log.dnff_$site$runnum[$j]_$ifr
#	            dnff -b4 <dnff_opt >log/log.dnff_$site$runnum[$j]_$ifr

		    if ($asczip2 == y) then
			echo $site$runnum[$j]_$ifr : gzip asc ...
			gzip $ascpath/$site$runnum[$j]_$ifr.asc
		    endif
		    
#	            rm dnff_opt
#		    rm f_scratch

		endif

	    endif
	    @ ifr++
	end
	@ j++
    end    
    
    if ($tranmt == y || $multmtrn == y) then
	cd options
	    # find basic sampling rate (and again: nch)
	    @ ifr=3
	    while ($ifr <= 5)
		set  do_freq = `gawk -v freqs=$freqs -v f=$ifr 'BEGIN{if (match(freqs,f)){print "y"}else{print "n"}}'`
		if ($do_freq == y) then
		    set nch = `gawk '{if (FNR==1) print $2}' < $ascpath/$site$runnum[1]_$ifr.hdr`
		    set dt  = `gawk '{if (FNR==1) print 1/$1}' < $ascpath/$site$runnum[1]_$ifr.hdr`
		    set fs  = `gawk '{if (FNR==1) print int($1)}' < $ascpath/$site$runnum[1]_$ifr.hdr` 
		    @ ifr = 10
		endif
		@ ifr++
	    end
	    # links to cf_decset
	    rm -f cf_decset 
	    if (($fs == 3072 || $fs == 384) || $fs == 24) then
		# note that in Europe, we have: 2560/320/24Hz, w/ 320/24=13.3,
                # whereas in NA:                3072/384/24Hz, w/ 384/24=16
                # => cf_decset_345 should be adjusted for data from Europe (50Hz)
		ln -sf cf_decset_345 cf_decset
	    else if (($fs == 2560 || $fs == 320) || $fs == 24) then
		# note that in Europe (50Hz), we have: 2560/320/24Hz, w/ 320/24=13.3,
                # whereas in NA:                       3072/384/24Hz, w/ 384/24=16
                # => slightly adjusted in cf_decset_345_50: 
                # 13.3/4=3.33 => 3 (approximation)
		ln -sf cf_decset_345_50 cf_decset
            else if ($fs == 2400 || $fs == 150 || $fs == 15) then
		#ln -sf cf_decset_$freqs+ cf_decset
		ln -sf cf_decset_345+ cf_decset
	    endif

	    # calc_bs_nod	    	
	    calc_bsn cf_decset $dt 8 n >../log/log.calc_bsn_$freqs
	    #cp new_bs_nod ../bs_nod
	cd ..
    endif

    # tranmt processing
    if ($tranmt == y) then
	    
	# overwrite control file cf_options
	echo $fftpath >options.tmp
        echo $zxxpath >>options.tmp
	    
	if ($remote == n) then
	    echo "Single station (cleaned up)" > cf_options

	    echo $site\_$freqs >cf_tranmt
	    echo cf_options   >>cf_tranmt
	else 
	    echo "RR station (cleaned up)" > cf_options

	    if ($nch == 2) then
		set refsite = `echo $site3`
		set refrunnum = `echo $runnum3`
	    else
		set refsite = `echo $site2`
		set refrunnum = `echo $runnum2`
	    endif

       	    echo $site\RR$refsite\_$freqs > cf_tranmt
       	    echo cf_options              >> cf_tranmt
	endif

	# write cf_options file from mtbatch control file (input file)
	echo $fftpath >> cf_options
        echo $zxxpath >> cf_options
	echo bs_nod   >> cf_options
	echo $robust  robust  >> cf_options
	echo $remote  remote reference >> cf_options
        echo n e field ref >> cf_options
	echo "n    output coherence vs set no.(if yes provide file name on next line)" >> cf_options
	if ($cohsort == n) then
	    echo 0. 0. 0. 0. 0    coherence sorting parameters >> cf_options
        else if ($cohsort == y) then
	    echo $coh_target $cohp1 $cohp2 $coh_min $nu_min >> cf_options
	endif
	echo "1 # of rotation angles" >> cf_options
    	echo "0.     rotation angles" >> cf_options
	#cat cf_options

	# accounting for non-default channel ordering
	set ifr = `gawk -v freqs=$freqs 'BEGIN{print substr(freqs,1,1)}'`
        if ($nch == 5) then
	    echo 3 4    > ref.cfg
	    echo 3     >> ref.cfg
	    echo 5 1 2 >> ref.cfg
  	    if ($remote == y) then
		if (-e $fftpath/$site2$runnum2[1]_$ifr.f2) then
		    set nch2 = 2 # -> 2H
		    set ref_chan1 = 1
		    set ref_chan2 = 2
		else if (-e $fftpath/$site2$runnum2[1]_$ifr.f3) then
		    set nch2 = 3 # -> 3H
		    set ref_chan1 = 1
		    set ref_chan2 = 2
		else if (-e $fftpath/$site2$runnum2[1]_$ifr.f4) then
		    set nch2 = 4 # -> 2E+2H
		    set ref_chan1 = 3
		    set ref_chan2 = 4
		else if (-e $fftpath/$site2$runnum2[1]_$ifr.f5) then 
		    set nch2 = 5 # -> 5 comp.
		    set ref_chan1 = 3
		    set ref_chan2 = 4
	        endif
                @ ref_chan1 = $nch + $ref_chan1
                @ ref_chan2 = $nch + $ref_chan2
		echo $ref_chan1 $ref_chan2 >> ref.cfg
	    endif
        else if ($nch == 2) then # for 2E/2H stations
	    # get nch for site2
	    if (-e $fftpath/$site2$runnum2[1]_$ifr.f2) then
		set nch2 = 2 # -> 2H
    	        echo 3 4    > ref.cfg
	        echo 2     >> ref.cfg
	        echo 1 2 >> ref.cfg
	    else if (-e $fftpath/$site2$runnum2[1]_$ifr.f3) then
		set nch2 = 3 # -> 3H
    	        echo 3 4    > ref.cfg
	        echo 2     >> ref.cfg
	        echo 5 1 2 >> ref.cfg
	    else if (-e $fftpath/$site2$runnum2[1]_$ifr.f4) then
		set nch2 = 4 # -> 2E+2H
    	        echo 5 6    > ref.cfg
	        echo 2     >> ref.cfg
	        echo 1 2   >> ref.cfg
	    else if (-e $fftpath/$site2$runnum2[1]_$ifr.f5) then
		set nch2 = 5 # -> 5 comp. site
    	        echo 5 6    > ref.cfg
	        echo 3     >> ref.cfg
	        echo 7 1 2 >> ref.cfg
	    endif
  	    if ($remote == y) then
		if (-e $fftpath/$site3$runnum3[1]_$ifr.f2) then
		    set nch3 = 2 # -> 2H
		    set ref_chan1 = 1
		    set ref_chan2 = 2
		else if (-e $fftpath/$site3$runnum3[1]_$ifr.f3) then
		    set nch3 = 3 # -> 3H
		    set ref_chan1 = 1
		    set ref_chan2 = 2
		else if (-e $fftpath/$site3$runnum3[1]_$ifr.f4) then
		    set nch3 = 4 # -> 2E+2H
		    set ref_chan1 = 3
		    set ref_chan2 = 4
		else if (-e $fftpath/$site3$runnum3[1]_$ifr.f5) then
		    set nch3 = 5 # -> 5 comp. 
		    set ref_chan1 = 3
		    set ref_chan2 = 4
	        endif
                @ ref_chan1 = $nch + $nch2 + $ref_chan1
                @ ref_chan2 = $nch + $nch2 + $ref_chan2
		echo $ref_chan1 $ref_chan2 >> ref.cfg
	    endif
	endif

	# number of stations
	@ nsta=1
	if ($nch == 2) @ nsta++
	if ($remote == y) @ nsta++
	echo $nsta >> cf_tranmt

	# site itself
       	set ntapes = `gawk -v freqs=$freqs -v nruns=$#runnum 'BEGIN{print length(freqs)*nruns}'`
        echo $ntapes $nch >> cf_tranmt
        @ j=1
        while ($j <= $#runnum) 
	    @ ifr=3
	    while ($ifr <= 5)
		set  do_freq = `gawk -v freqs=$freqs -v f=$ifr 'BEGIN{if (match(freqs,f)){print "y"}else{print "n"}}'`
		if ($do_freq == y) then
		    echo $site$runnum[$j]_$ifr.f$nch >> cf_tranmt
		endif
		@ ifr++
	    end
	    @ j++
	end
	# for 2E station: site of magnetic fields
	if ($nch == 2) then 
            set ntapes = `gawk -v freqs=$freqs -v nruns=$#runnum2 'BEGIN{print length(freqs)*nruns}'`
	    echo $ntapes $nch2 >>cf_tranmt
	    @ j=1
	    while ($j <= $#runnum2) 
	        @ ifr=3
	        while ($ifr <= 5)
		    set  do_freq = `gawk -v freqs=$freqs -v f=$ifr 'BEGIN{if (match(freqs,f)){print "y"}else{print "n"}}'`
		    if ($do_freq == y) then
			    echo $site2$runnum2[$j]_$ifr.f$nch2 >> cf_tranmt
		    endif
		    @ ifr++
		end
		@ j++
	    end
	endif
	# remote reference 
	if ($remote == y) then
            set ntapes = `gawk -v freqs=$freqs -v nruns=$#refrunnum 'BEGIN{print length(freqs)*nruns}'`
	    echo $ntapes 5 >>cf_tranmt
	    @ j=1
	    while ($j <= $#refrunnum) 
	        @ ifr=3
	        while ($ifr <= 5)
		    set  do_freq = `gawk -v freqs=$freqs -v f=$ifr 'BEGIN{if (match(freqs,f)){print "y"}else{print "n"}}'`
		    if ($do_freq == y) then
			if ($nch == 5) then
			    echo $refsite$refrunnum[$j]_$ifr.f$nch2 >>cf_tranmt
			else if ($nch == 2) then
			    echo $refsite$refrunnum[$j]_$ifr.f$nch3 >>cf_tranmt
			endif
		    endif
		    @ ifr++
		end
		@ j++
	    end
	endif
	echo n >>cf_tranmt
		
	echo cf_tranmt >tranmt_opt
	echo n >>tranmt_opt
		    
	if ($remote == n) then
	    echo $site\_$freqs " : tranmt processing ..."
	    if ($nch == 2) then 
		echo " [2E; magnetics:    "$site2"]"
	    endif
	    tranmt -sref.cfg <tranmt_opt >log/log.tranmt_$site\_$freqs
	else
	    echo $site\_$freqs " : tranmt remote processing ..."
	    if ($nch == 2) then 
		echo " [2E; magnetics:    "$site2"]"
	    endif
	    echo " [remote reference: "$refsite"]"
	    tranmt -sref.cfg < tranmt_opt >log/log.tranmt_$site\RR$refsite\_$freqs
	endif
       	# rm tranmt_opt
       		
    endif
           
    # multmtrn processing
    if ($multmtrn == y) then
	    
	if ($k == 1) then
       	    echo $arraysizes[$l] >array_$arrayname\_$m\_$freqs.cfg
       	    echo bs_nod >>array_$arrayname\_$m\_$freqs.cfg
	    @ nchtot=0
       	endif 

       	set ntapes = `gawk -v freqs=$freqs -v nruns=$#runnum 'BEGIN{print length(freqs)*nruns}'`
       	echo $ntapes $nch >>array_$arrayname\_$m\_$freqs.cfg
       	echo $weights     >>array_$arrayname\_$m\_$freqs.cfg
		
       	@ j=1
       	while ($j <= $#runnum) 
	    @ ifr=3
	    while ($ifr <= 5)
		set  do_freq = `gawk -v freqs=$freqs -v f=$ifr 'BEGIN{if (match(freqs,f)){print "y"}else{print "n"}}'`
		if ($do_freq == y) then
       	            echo $fftpath/$site$runnum[$j]_$ifr.f$nch >>array_$arrayname\_$m\_$freqs.cfg
		endif
		@ ifr++
	    end
       	    @ j++
       	end
       	echo $site >>array_$arrayname\_$m\_$freqs.cfg
       	
	# accounting for non-default channel ordering
	if ($k == 1) then
	    echo $arraysizes[$l] > ref.cfg
	endif
	echo $site >> ref.cfg
	echo 5     >> ref.cfg
        if ($nch == 5) then
	    echo `gawk -v nt=$nchtot 'BEGIN{print 3+nt, 4+nt, 5+nt, 1+nt, 2+nt}'` >> ref.cfg
	else # for 2E stations
	    if ($k == 1) then
		echo "error: "$arrayname\_$m
		echo "       2E station must not be first station of the array!" 
		echo "       [fields of all 2E stations of an array are related" 
	        echo "       to the horizontal magnetic field of the 1st station]"
		echo " "
	        exit 1
	    endif
	    echo `gawk -v nt=$nchtot 'BEGIN{print "3 4 5", 1+nt, 2+nt}'` >> ref.cfg
 		
	endif
	@ nchtot = $nchtot + $nch

       	if ($k == $arraysizes[$l]) then
       	    echo $arrayname\_$m\_$freqs"          " >>array_$arrayname\_$m\_$freqs.cfg
       	    
       	    cp array_$arrayname\_$m\_$freqs.cfg array.cfg

       	    echo $arrayname\_$m\_$freqs : multmtrn ...    
       	    multmtrn -sref.cfg
	    echo " "
       	    
       	    if (-e $multpath) then
       		if (! -e $multpath/S0)  mkdir $multpath/S0
       		if (! -e $multpath/SN)  mkdir $multpath/SN
       		if (! -e $multpath/Pw)  mkdir $multpath/Pw
       		if (! -e $multpath/M)   mkdir $multpath/M
       		if (! -e $multpath/zmm) mkdir $multpath/zmm
       	    endif
       	    if (-e $arrayname\_$m\_$freqs.S0) mv $arrayname\_$m\_$freqs.S0 $multpath/S0
       	    if (-e $arrayname\_$m\_$freqs.SN) mv $arrayname\_$m\_$freqs.SN $multpath/SN
       	    if (-e $arrayname\_$m\_$freqs.Pw) mv $arrayname\_$m\_$freqs.Pw $multpath/Pw
       	    if (-e $arrayname\_$m\_$freqs.M)  mv $arrayname\_$m\_$freqs.M  $multpath/M
       	    if (-e $site\_$arrayname\_$m\_$freqs.zmm) mv *$arrayname\_$m\_$freqs.zmm $multpath/zmm
       	endif
       	
    endif

# convert to edi
    if ($edi == y) then
        set work_dir = `pwd`
        if ($what == zss || $what == zrr) then
	    cd $zxxpath
	    if ($what == zrr) then
		if ($nsites == 2) then
		    set refsite = `echo $site2`
		else
		    set refsite = `echo $site3`
		endif
		set name = $site\RR$refsite
		set ext = .zrr
	    else 
		set name = $site 
		set ext = .zss
	    endif
            if (-e $name\_$freqs.edi) rm $name\_$freqs.edi
	    echo $name\_$freqs " : converting to edi"
	    zss2edi 1 $name\_$freqs $ext dec > $work_dir/log/log.zss2edi_$name\_$freqs
	    # eliminate NaN and replace by 1.0E+32 (= value for EDI variable 'EMPTY')
    	    sed -e {s/NAN/1.0E+32/} $name\_$freqs.edi > $name\_$freqs.edi_tmp
	    mv $name\_$freqs.edi_tmp $name\_$freqs.edi
	else if ($what == zmm) then
	    cd $multpath/zmm
	    set ext = .zmm
            set name = $site\_$arrayname\_$m\_$freqs
            if (-e $name.edi) rm $name.edi
	    echo $name " : converting to edi"
	    zss2edi 1 $name $ext dec > $work_dir/log/log.zss2edi_$name
	    # eliminate NaN and replace by 1.0E+32 (= value for EDI variable 'EMPTY')
	    sed -e {s/NAN/1.0E+32/} $name.edi > $name.edi_tmp
	    mv $name.edi_tmp $name.edi
	endif
	cd $work_dir
    endif

    # plotting
    if ($plot == y) then
	if ($what == zss || $what == zrr) then
	    set name = $site
	    if ($what == zrr) then
		if ($nsites == 2) then
		    set refsite = `echo $site2`
		else
		    set refsite = `echo $site3`
		endif
		set name = $site\RR$refsite
	    endif
	    echo $name\_$freqs " : plotting ... =>"  $zxxpath/$name\_$freqs.eps
	    mtzxxplt_batch $zxxpath/$name\_$freqs.z* $tmin $tmax $absind 200 c t 0. 1
# below: Only for Ministik test run (2H & 2E station)
#            mtzxxplt_2e2h $zxxpath/$name\_$freqs.z* $tmin $tmax 200 c t 0. 1
	    #rhophzxxplt $zxxpath/$name\$ifr.z* $tmin $tmax $absind 200 c t 0. 1
	    #indarrzxxplt $zxxpath/$name\$ifr.z* $tmin $tmax $absind 200 c t 0. 1
 	    echo " "
	else if ($what == zmm) then
	    set file = $multpath/zmm/$site\_$arrayname\_$m\_$freqs.zmm
	    echo $site\_$arrayname\_$m\_$freqs " : plotting ... =>"  $file:r.eps 
	    mtzxxplt_batch $file $tmin $tmax $absind 200 c t 0. 1
# below: Only for Ministik test run (2H & 2E station)
#           mtzxxplt_2e2h $file $tmin $tmax 200 c t 0. 1
	    echo " "
	endif
    endif

    if ($multmtrn == y || ($what == zmm && ($edi == y || $plot == y))) then
	if ($k == $arraysizes[$l]) then
	    @ l++
	    @ m++
	    @ k=1
	else
	    @ k++
	endif
    endif

    @ i++
end








