def explore(df, key):
    """Function to explore a dictionary that is THREE levels deep and return the data sitting at 
    the end of key. 

    Parameters
    ----------
    df : dict 
        Dictionary that you want to search through. 
    
    Examples
    ---------
    Consider a dictionary that has `df['layer']['cloud']['w0'] = [0,0,0]` 
    
    >>>explore(df, 'w0')
    [0,0,0]
    """
    check = [False, True, True]
    if df.get(key) is None:
        for i in df.keys():
            try:
                if df[i].get(key) is None:
                    for ii in df[i].keys():
                        try:
                            if df[i][ii].get(key) is not None:
                                return df[i][ii].get(key)
                        except AttributeError:
                            check[2] = False
                else:
                    return df[i].get(key)
            except AttributeError:
                check[1] = False
    elif df.get(key) is not None:
        return df.get(key)
    if True not in check:
        raise Exception(
            'The key that was entered cloud not be found within three layers of the specified dictionary'
            )
