code: def change_site(self, old_site_name, new_site_name, new_location_name=None,
                      new_er_data=None, new_pmag_data=None, replace_data=False):
          
          site = self.find_by_name(old_site_name, self.sites)
          if not site:
              print('-W- {} is not a currently existing site, so it cannot be updated.'.format(old_site_name))
              return False
          if new_location_name:
              if site.location:
                  old_location = self.find_by_name(site.location.name, self.locations)
                  if old_location:
                      old_location.sites.remove(site)
              new_location = self.find_by_name(new_location_name, self.locations)
              if not new_location:
                  print("""-W- {} is not a currently existing location.
  Adding location with name: {}""".format(new_location_name, new_location_name))
                  new_location = self.add_location(new_location_name)
              new_location.sites.append(site)
          else:
              new_location = None
          ## check all declinations/azimuths/longitudes in range 0=>360.
          #for key, value in new_er_data.items():
          #    new_er_data[key] = pmag.adjust_to_360(value, key)
          site.change_site(new_site_name, new_location, new_er_data, new_pmag_data, replace_data)
          return site
docs: Find actual data objects for site and location.
          Then call the Site class change method to update site name and data.