def get_environment_human_p_transmission(contamination_probability, human, environmental_infection_knob):
    """
    computes probability of virus transmission to human via environmental contamination.
    NOTE: the forumlation used here is completely experimental. We assume it to be proportional to
        - virus strength at the location
        - susceptibility of the person which acts as a proxy for inverse of immunity
    We further degrade this probability via reduction factors.

    Args:
        contamination_probability (float): current virus strength at a location. It is used as a proxy for probability.
        human (covid19sim.human.Human): `human` for whom we need to compute this probability of transmission.
        environmental_infection_knob (float): a global factor to calibrate probabilities such that total fraction of environmental transmission is as observed in the real world.

    Returns:
        (float): probability of environmetal contamination
    """
    p_infection = contamination_probability * human.normalized_susceptibility
    p_infection *= environmental_infection_knob
    return p_infection