code: def copy(self, new_name=None):
          
          _tmp = copy.deepcopy(self)
          if not new_name:
              new_name = self.name + '_copy'
          if str(type(self)) == "<class 'pymrio.core.mriosystem.IOSystem'>":
              _tmp.meta.note('IOSystem copy {new} based on {old}'.format(
                  new=new_name, old=self.meta.name))
              _tmp.meta.change_meta('name', new_name, log=False)
          else:
              _tmp.name = new_name
          return _tmp
docs: Returns a deep copy of the system
  
          Parameters
          -----------
  
          new_name: str, optional
              Set a new meta name parameter.
              Default: <old_name>_copy