def atom_solvation(atom):
    """Returns the atomic solvation parameter of an atomium atom. The atomic
    solvation parameters are taken from Yamashita et al (1990).

    :param Atom atom: an atomium atom object.
    :rtype: ``float``"""
    specials = {'O': {'GLU': ['OE1', 'OE2'], 'ASP': ['OD1', 'OD2']}, 'N': {
        'HIS': ['ND1', 'NE2'], 'ARG': ['NH1', 'NH2']}}
    if atom.element == 'C':
        return 18
    if atom.element == 'S':
        return -5
    if atom.element in specials:
        if atom.charge != 0:
            return -37 if atom.element == 'O' else -38
        if atom.residue and atom.residue.name in specials[atom.element]:
            if atom.name in specials[atom.element][atom.residue.name]:
                return -23 if atom.element == 'O' else -23.5
        return -9
    return 0
