def elsymb_to_Z(elsymb):
    """
  Converts element symbol to nuclear charge, e.g. "C" -> 6

  Parameters
  ----------

  elsymb : str
    Element symbol, e.g. "C". Case insensitive.

  Returns
  -------
  int
    Z for the ion. (e.g. 6 for C)
  """
    ellist = ('h', 'he', 'li', 'be', 'b', 'c', 'n', 'o', 'f', 'ne', 'na',
        'mg', 'al', 'si', 'p', 's', 'cl', 'ar', 'k', 'ca', 'sc', 'ti', 'v',
        'cr', 'mn', 'fe', 'co', 'ni', 'cu', 'zn', 'ga', 'ge', 'as', 'se',
        'br', 'kr', 'rb', 'sr', 'y', 'zr', 'nb', 'mo', 'tc', 'ru', 'rh',
        'pd', 'ag', 'cd', 'in', 'sn', 'sb', 'te', 'i ', 'xe', 'cs', 'ba',
        'la', 'ce', 'pr', 'nd', 'pm', 'sm', 'eu', 'gd', 'tb', 'dy', 'ho',
        'er', 'tm', 'yb', 'lu', 'hf', 'ta', 'w', 're', 'os', 'ir', 'pt',
        'au', 'hg', 'tl', 'pb', 'bi', 'po', 'at', 'rn', 'fr', 'ra', 'ac',
        'th', 'pa', 'u')
    try:
        ind = ellist.index(elsymb.lower().strip())
    except ValueError:
        print("elsymb_to_z0 error: invalid element symbol '" + elsymb +
            "', returning -1")
        ind = -1
    return ind + 1
