code: def etv(b, component, dataset, solve_for=None, **kwargs):
      
  
      time_ephem = b.get_parameter(qualifier='time_ephems', component=component, dataset=dataset, context=['dataset', 'model'])  # need to provide context to avoid getting the constraint
      time_ecl = b.get_parameter(qualifier='time_ecls', component=component, dataset=dataset)
      etv = b.get_parameter(qualifier='etvs', component=component, dataset=dataset)
  
      if solve_for in [None, etv]:
          lhs = etv
          rhs = time_ecl - time_ephem
      else:
          raise NotImplementedError
  
      return lhs, rhs, {'component': component, 'dataset': dataset}
docs: compute the ETV column from the time_ephem and time_ecl columns (used in the
          ETV dataset)