program operator_make
implicit none
integer, parameter::rdp=selected_real_kind(20,40)
integer, parameter :: v=mode_number    !mode number
integer, parameter :: n=no_of_states    !number of states
integer, dimension(n,n)::index1
integer::i,j
real(kind=rdp), dimension(n,n)::coeff0,coeff1,coeff2,strength

open(unit=11, status='old', file='input_file')
do i=1,n
do j=i,n
read(11,*)index1(i,j),coeff0(i,j),coeff1(i,j),coeff2(i,j),strength(i,j)
end do
end do

open(unit=12, status='new', file='operator-elements.out')
do i=1,n
do j=i,n
write(12,30)'h',i,j,'k',v,' = ',coeff1(i,j),', ev'
end do
end do

do i=1,n
do j=i,n
write(12,30)'h',i,j,'g',v,' = ',coeff2(i,j),', ev'
end do
end do

30     format(a1,i1.1,i1.1,a1,i0,a3,f11.8,a4)
end program operator_make

