def nozzleLiftForFloat(nozzleLiftAtInflation, airDensity, gasDensity,
    balloonVolume, balloonMass, currentAltitude, floatingAltitude,
    ventStart=500):
    """Returns the nozzle lift of a balloon in floating configuration.

    This method should only be used for floating flights. Below the venting
    threshold (floatingAltitude-ventStart), the nozzle lift is unchanged.
        Otherwise, it's recalculated.

    Parameters
    ----------
    nozzleLiftAtInflation : scalar
        nozzle lift of the balloon at inflation [kg]
    airDensity : scalar
        density of air at current altitude [kg/m3]
    gasDensity : scalar
        density of the gas at current altitude [kg/m3]
    balloonVolume : scalar
        volume of the balloon at current altitude [m3]
    balloonMass : scalar
        total balloon mass at current altitude [kg]
    currentAltitude : scalar
        altitude at which the nozzle lift is required [m]
    floatingAltitude : scalar
        target altitude for floating conditions [m]
    ventStart : scalar (default 500)
        how many meters below the target floating altitude should the
        venting start. [m]

    Returns
    -------
    CurrentNozzleLift : float [kg].
    """
    if currentAltitude < (floatingAltitude - ventStart):
        # Below the threshold to start venting. The nozzle lift is unchanged.
        return nozzleLiftAtInflation
    else:
        # The balloon has started venting gas, nozzle lift needs to be recalculated.
        currentNozzleLift = (airDensity - gasDensity) * balloonVolume - balloonMass

        return currentNozzleLift