def METHOD_NAME(
    cell_origin,
    position_in_cell,
    volume,
    multiplicity,
    idx,
    length,
    healthy,
    precipitation_counting_level_index,
    displacement,
):
    rainfall = 0.0
    flag = len(idx)
    for i in range(length):
        position_within_column = (
            cell_origin[-1, idx[i]] + position_in_cell[-1, idx[i]]
        )
        if (
            # falling
            displacement[-1, idx[i]] < 0
            and
            # and crossed precip-counting level
            position_within_column < precipitation_counting_level_index
        ):
            rainfall += volume[idx[i]] * multiplicity[idx[i]]  # TODO #599
            idx[i] = flag
            healthy[0] = 0
    return rainfall