def create_request_sfc(dateStart, dateEnd, timeList, stepList, grid, extent,
    paramList, output, typeData=None):
    """
        Genere la structure de requete sur les serveurs de l'ECMWF
        
        INPUTS:

        -date : au format annee-mois-jour

        -heure : au format heure:minute:seconde

        -coord : une liste des coordonnees au format [N,W,S,E]

        -dim_grille : taille de la grille en degre 

        -output : nom & chemin du fichier resultat
    """
    if typeData == 'analyse':
        typeD = 'an'
    else:
        typeD = 'fc'
    struct = {'dataset': 'interim', 'date': dateStart.strftime('%Y-%m-%d') +
        '/to/' + dateEnd.strftime('%Y-%m-%d'), 'time': '/'.join(map(str,
        timeList)), 'stream': 'oper', 'step': '/'.join(map(str, stepList)),
        'levtype': 'sfc', 'type': typeD, 'class': 'ei', 'param': '.128/'.
        join(map(str, paramList)) + '.128', 'area': '/'.join(extent),
        'grid': str(grid) + '/' + str(grid), 'target': output, 'format':
        'netcdf'}
    return struct
