def status(prog_comp, obs_comp):
    """
    Compute weighting factor representative of observation and program status.
        - 1.0 if observation and program have not been observed
        - 1.5 if program has been partially observed
        - 2.0 if observation has been partially observed

    Parameters
    ----------
    prog_comp : float
        fraction of program completed.

    obs_comp : float
        fraction of observation completed.

    Returns
    -------
    wstatus : float
        program status weighting factor
    """
    if prog_comp > 0.0:
        wstatus = 1.5
        if obs_comp > 0.0:
            wstatus = 2.0
    else:
        wstatus = 1.
    return wstatus