def parse_line(line):
    """Parse raw data line into vector of floats.

    Args:
        line (str): raw data line from nodout

    Returns:
        raw_data (list of floats): [nodeID, xdisp, ydisp, zdisp]

    """
    # first 10 characters (int)
    nodeID = float(line[0:10])
    # X,Y,Z-Disp are the next 3 columns, each are 12 characters:
    # [-]#.#####E[+/-]##
    try:
        xdisp = float(line[10:22])
    except ValueError:
        xdisp = 0.0

    try:
        ydisp = float(line[22:34])
    except ValueError:
        ydisp = 0.0

    try:
        zdisp = float(line[34:46])
    except ValueError:
        zdisp = 0.0

    raw_data = [nodeID, xdisp, ydisp, zdisp]

    return raw_data