anchor.diff:              passbands(i) = trim(filters(i))
           end do
   
  +        call log_note('initializing bolometric correction tables')
           ! initialize bolometric correction tables
           select case (trim(bc_type))
               case ('marcs')
  
positive.code:         call log_note('bolometric correction tables successfully initialized')
      end subroutine bc_init
  
      subroutine bc_eval(teff, logg, logl, magnitudes)
          use interpolate, only: lagrange
  
          integer :: i, j, k, teff_index, logg_index
          real(dp) :: m_bol
          real(dp), intent(in) :: teff, logg, logl
          real(dp), parameter  :: m_bol_sun = 4.74
          real(dp), dimension(4) :: coeffs
          real(dp), dimension(:,:), allocatable :: bc_loggs
          real(dp), dimension(:), allocatable, intent(out) :: magnitudes
  
  !f2py intent(in) teff, logg, logl
  !f2py intent(out) magnitudes
  
          if (allocated(magnitudes) .eqv. .false.) then
              call log_note('allocating memory for magnitudes in bc_eval')
              allocate(magnitudes(n_passbands))
          else
              call log_warn('magnitudes in bc_eval already allocated')
              deallocate(magnitudes)
              allocate(magnitudes(n_passbands))
          end if
  
          ! define bolometric magnitude
          m_bol = m_bol_sun - 2.5*logl
  
negative.code:     character(len=15) :: bc_type
      character(len=5), dimension(:), allocatable :: passbands
  
      ! no private routines allowed with f2py
      !private :: marcs, phoenix_amescond, vc_semiemp
      !public  :: bc_init, bc_eval, bc_clean
  
  