parameters: (workspace_name)
docstring: Gets a base name from a multiperiod name. The multiperiod name is NAME_xxx and the base name is NAME
  
      :param workspace_name: a workspace name string
      :return: the base name
docstring_summary: Gets a base name from a multiperiod name. The multiperiod name is NAME_xxx and the base name is NAME
docstring_tokens: Gets a base name from a multiperiod name . The multiperiod name is NAME_xxx and the base name is NAME
function: def get_base_name_from_multi_period_name(workspace_name):
      """
      Gets a base name from a multiperiod name. The multiperiod name is NAME_xxx and the base name is NAME
  
      :param workspace_name: a workspace name string
      :return: the base name
      """
      multi_period_workspace_form = "_[0-9]+$"
      if re.search(multi_period_workspace_form, workspace_name) is not None:
          return re.sub(multi_period_workspace_form, "", workspace_name)
      else:
          raise RuntimeError("The workspace name {0} seems to not be part of a "
                             "multi-period workspace.".format(workspace_name))
function_tokens: def get_base_name_from_multi_period_name ( workspace_name ) : multi_period_workspace_form = "_[0-9]+$" if re . search ( multi_period_workspace_form , workspace_name ) is not None : return re . sub ( multi_period_workspace_form , "" , workspace_name ) else : raise RuntimeError ( "The workspace name {0} seems to not be part of a " "multi-period workspace." . format ( workspace_name ) )