def get_rpath_psp(kind, exchange, atomicnumber=None):
    """
    Get the ftp path to get the PSP

    :param kind: (str) Source of Pseudopotentials
    :param exchange: (str) 'LDA' or 'GGA'
    :param atomicnumber: (int) Atomic Number
    :return:
    """
    rpath = None
    if kind == 'FHI' and exchange == 'LDA':
        rpath = '/pub/abinitio/Psps/LDA_FHI/'
    elif kind == 'FHI' and exchange == 'GGA':
        rpath = '/pub/abinitio/Psps/GGA_FHI/'
    elif kind == 'GTH' and exchange == 'LDA':
        rpath = '/pub/abinitio/Psps/LDA_GTH/'
    elif kind == 'CORE' and exchange == 'LDA':
        rpath = '/pub/abinitio/Psps/LDA_Core/'
    elif kind == 'HGH' and exchange == 'LDA':
        rpath = '/pub/abinitio/Psps/LDA_HGH/'
    elif kind == 'HGH' and exchange == 'GGA':
        rpath = '/pub/abinitio/Psps/GGA_HGH/'
    elif kind == 'TM' and exchange == 'LDA':
        if atomicnumber is None:
            raise ValueError('Atomic number required')
        rpath = '/pub/abinitio/Psps/LDA_TM.psps/' + str(atomicnumber).zfill(2
            ) + '/'
    elif kind == 'AE' and exchange == 'DEN':
        rpath = '/pub/abinitio/Psps/AE_DEN/'
    elif kind == 'FC' and exchange == 'DEN':
        rpath = '/pub/abinitio/Psps/FC_DEN/'
    elif kind == 'PAW' and exchange == 'LDA':
        rpath = ' https://www.abinit.org/ATOMICDATA/JTH-LDA-atomicdata.tar.gz'
    elif kind == 'PAW' and exchange == 'PBE':
        rpath = ' https://www.abinit.org/ATOMICDATA/JTH-PBE-atomicdata.tar.gz'
    elif kind == 'ONC' and exchange == 'PBE':
        rpath = (
            ' http://www.pseudo-dojo.org/pseudos/nc-sr_pbe_standard_psp8.tgz')
    else:
        print('Not know kind of PSP')
    return rpath
