anchor.diff:                      BB = 1.0/300,    &
                       CC = 1.0/100
   
  -        allocate_SVD = .false.
           STEPS = 500
           call init_lindblad_fit()
   
  
positive.code: 
          call init_lindblad_fit()
  
          write(*,*) 'READING EXTERNAL EVOPS'
          call flush()
          call open_files('r')
          call read_evops()
          call close_files('r')
  
          write(*,*) 'OUTPUTTING EVOPS'
          call flush()
          call open_files('w')
          call write_fitted_evops()
          call close_files('w')
  
          write(*,*) 'OUTPUTTING DISS'
          call flush()
          call open_files('D')
          call write_fitted_diss()
          call close_files('D')
  
      end subroutine do_lindblad_fit_work
  
      subroutine only_convert_to_exciton()
          integer(i4b) :: r
  
          allocate_SVD = .false.
          call init_lindblad_fit()
  
          write(*,*) 'READING EXTERNAL EVOPS'
          call flush()
          call open_files('r')
          call read_evops()
          call close_files('r')
  
          do r=1,STEPS
            call superops_to_exc_4indexed(Evops(:,:,:,:,r),type)
          end do
  
negative.code:       end if
  
      end function ind
  
      subroutine evops_derivative()
        integer(i4b)        :: i,j,k,l, tind
  
        do i=1,Nl1
        do j=1,Nl2
        do k=1,Nl1
        do l=1,Nl2
        do tind=2,size(Evops,5)-1
  
          DEvops(i,j,k,l,tind) = (Evops(i,j,k,l,tind+1) - Evops(i,j,k,l,tind-1)) / timeStep / 2
  
        end do
  
        DEvops(i,j,k,l,1) = DEvops(i,j,k,l,2) - (DEvops(i,j,k,l,3)-DEvops(i,j,k,l,2))
        DEvops(i,j,k,l,size(Evops,5)) = DEvops(i,j,k,l,size(Evops,5)-1) + (DEvops(i,j,k,l,size(Evops,5)-1)-DEvops(i,j,k,l,size(Evops,5)-2))
  
        end do
        end do
        end do
        end do
  
      end subroutine evops_derivative
  
      subroutine read_evops()
        integer (i4b)       :: i, file_ios
  