def mass_surface_balsa_monokote_cf(
        chord,
        span,
        mean_t_over_c=0.08
):
    """
    Estimates the mass of a lifting surface constructed with balsa-monokote-carbon-fiber construction techniques.
    Warning: Not well validated; spar sizing is a guessed scaling and not based on structural analysis.
    :param chord: wing mean chord [m]
    :param span: wing span [m]
    :param mean_t_over_c: wing thickness-to-chord ratio [unitless]
    :return: estimated surface mass [kg]
    """
    mean_t = chord * mean_t_over_c
    ### Balsa wood + Monokote + a 1" dia CF tube spar.
    monokote_mass = 0.061 * chord * span * 2  # 0.2 oz/sqft

    rib_density = 200  # mass density, in kg/m^3
    rib_spacing = 0.1  # one rib every x meters
    rib_width = 0.003  # width of an individual rib
    ribs_mass = (
            (mean_t * chord * rib_width) *  # volume of a rib
            rib_density *  # density of a rib
            (span / rib_spacing)  # number of ribs
    )

    spar_mass_1_inch = 0.2113 * span * 1.5  # assuming 1.5x 1" CF tube spar
    spar_mass = spar_mass_1_inch * (
            mean_t / 0.0254) ** 2  # Rough GUESS for scaling, FIX THIS before using seriously!

    return (monokote_mass + ribs_mass + spar_mass) * 1.2