subroutine swin_write(nunit,swin_outf,l,fre,smv,smn,sme,nf, # n_win,sv,sn,se, nfft,jmin,jmax,ierr) c c writes single window file with h/v and spectra c originally written by Fortunat Kind c modified by a.tento 05/03 v.1.0 c a.tento 02/04 v.1.1. updated comments c implicit none character*200 swin_outf integer nunit, l, nf, n_win,nfft, jmin,jmax,ierr real fre, smv, smn, sme, sv, sn, se dimension fre(nf), sv(nfft), sn(nfft), se(nfft), # smv(nf,n_win),smn(nf,n_win),sme(nf,n_win) c c include 'main.h' include 'parameters.h' include 'window.h' c character*200 row, fnout integer jlen, nfa, k, j1, j2 c c ierr = 0 fnout = swin_outf j1 = jlen(fnout) j1 = j1 + 1 j2 = j1 + 3 write(fnout(j1:j2),100)l 100 format(i3.3) open(unit=nunit,file=fnout,status='unknown') c * copy the window definitions: write(nunit,*) '### window used in the H/V ratio processing:' row=data_file(l) j1 = jlen(row) write(nunit,10) row(1:j1),start_time(l), end_time(l), & idV(l), idN(l), idE(l), idsta(l) 10 format(1x,'# ',a,' ',2f13.2,4(1x,a3)) * copy the parameter definitions write(nunit,'(1x,a)') '#' write(nunit,*) '# parameters actually used in the processing:' write(nunit,'(1x,a)') '### section processing' write(nunit,21) freq_spacing write(nunit,22) offset_rem write(nunit,23) taper write(nunit,25) smooth write(nunit,26) merge_type write(nunit,29) single_win_out write(nunit,30) average_spectra_out nfa= jmax-jmin +1 if(nfa .ne. nf) write(nunit,300) 21 format(1x,'# freq_spacing:',a) 22 format(1x,'# offset_rem:',a) 23 format(1x,'# taper:',a) 24 format(1x,'# instrument_resp:',a) 25 format(1x,'# smooth:',a) 26 format(1x,'# merge_type:',a) 27 format(1x,'# single_component:',a) 28 format(1x,'# average_type:',a) 29 format(1x,'# single_win_out:',a) 30 format(1x,'# average_spectra_out:',a) 300 format(' # WARNING : output frequency limits have been changed', # ' by the smoothing procedure') write(nunit,'(1x,a)') '### end processing' * print separator and output header write(nunit,'(1x,''#'',30(''-''))') write(nunit,127)kunits(l),kv(l),kn(l),ke(l) 127 format(1x,'# labels: ', 4(1x,a12)) write(nunit,'(1x,''# n_freq_samples: '',i6)') nfa write(nunit,400) 400 format(' # freq mergedHV ', # 'ns_HV ew_HV specvert ', # 'spec-ns spec-ew') * write out data do k=jmin,jmax write(nunit,40) fre(k), # smv(k,l),smn(k,l),sme(k,l), # sv(k), sn(k), se(k) end do 40 format(1x,g15.7,6(2x,g15.7)) close(nunit) return end